Embedded Software and Hardware Architecture (Coursera)

Embedded Software and Hardware Architecture (Coursera)

Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Course assignments include writing firmware to interact and configure both the underlying ARM architecture and the MSP432 microcontroller platform. The course concludes with a project where you will develop a circular buffer data structure.
In this course you will need the Texas Instruments LaunchPad with the MSP432 microcontroller in order to complete the assignments. Later courses of the Specialization will continue to use this hardware tool to develop even more exciting firmware.

Syllabus

WEEK 1
Interfacing C-Programs with ARM Core Microcontrollers
Module 1 will introduce the learner to how software/firmware can interface with an embedded platform and the underlying processor architecture. Embedded Software engineers must be very knowledgeable about the architecture in order to write efficient and bug free code. This requires knowledge of processor architecture. memory systems, microcontroller peripherals and more advanced use of the compiler. This module will continue to enforce good software design techniques with a focus on portability and maintainability without reducing your hardware’s performance.

WEEK 2
Manipulating Memory
Module 2 will introduce the learner to more advanced firmware techniques as well move us into some hands on firmware for the microcontroller. We start by building our own memory access methods that will allow a programmer to manipulate peripheral memory bit fields to configure microcontroller peripherals and core architecture concepts. This will include more complex use of pointers for register definition files and function pointers for interrupt vector tables The module concludes with an in-depth look into the features of on-target debugging on a microcontroller and a hands-on example.

WEEK 3
Designing Embedded Data Structures
Module 3 will introduce the learner to efficient and maintainable ways of organizing data. Most microcontroller programs require some use of structured data in order to track and manipulate the control flow or data in a program. These can be as simple as unions, enumerations or structures, but can be more complex with the use of abstract data structures. While abstract data structures are often discussed in higher level software, there are many simple examples that are used frequently in embedded system software.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

L'Art des Structures 2 : treillis, poutres, dalles et cadres (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

L'Art des Structures 2 : treillis, poutres, dalles et cadres (Coursera)

Les structures en treillis, en poutre, en dalles et en cadre sont essentielles pour une grande partie des constructions modernes : immeubles pour l'habitation ou de bureaux, halles et usines, ponts, ou passerelles, voies de transport de l'énergie ou des télécommunications, stades et grandes toitures. Le cours L'Art des Structures 2 vous propose d'en découvrir le fonctionnement et les bases de leur dimensionnement.

Nov 23rd 2026
5-12 Weeks
Requirements Writing (Coursera) Coursera
UNSW Sydney - University of New South Wales

Requirements Writing (Coursera)

Welcome to "Requirements Writing". As the title indicates, over the next four weeks, we will be looking at the important task of writing of text-based requirement statements. The course takes you step by step through the rules for writing requirements statements in accordance with the "Guide for Writing Requirements" published by the International Council on Systems Engineering (INCOSE).

Nov 29th 2026
5-12 Weeks
Machine Learning at the Edge on Arm: A Practical Introduction (edX) EdX
Arm Education,ArmEducationX

Machine Learning at the Edge on Arm: A Practical Introduction (edX)

This course will provide you with the hands-on experience you’ll need to create innovative ML applications using ubiquitous Arm-based microcontrollers. The age of machine learning has arrived! Arm technology is powering a new generation of connected devices with sophisticated sensors that can collect a vast range of environmental, spatial and audio/visual data. Typically this data is processed in the cloud using advanced machine learning tools that are enabling new applications reshaping the way we work, travel, live and play.

Self Paced
Self-Paced
Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare) Skillshare
Skillshare

Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare)

This course introduces basic concepts of PIC micro-controller programming using C. Starting from installation of required software, this course gives insight of programming the PIC microcontroller to access General Purpose Input Output (GPIO) pins, Configuring external interrupts, Timers and counters, ADCs, LCD and Keypad interfacing, PWM generation and few communication protocols like UART, I2C and SPI.

Self Paced
Self-Paced
Embedded Systems Essentials with Arm: Get Practical with Hardware (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Get Practical with Hardware (edX)

Spark your creativity with Arm. Level up your Embedded Systems skills by developing working embedded prototypes using the Mbed API and an Arm-based development board, and unlock the boundless opportunities of the Internet of Things. Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.

Self Paced
Self-Paced
Fabriquer un objet connecté (FUN) FUN
Institut Mines-Telecom

Fabriquer un objet connecté (FUN)

Ce MOOC est le deuxième volet du parcours La Fabrication Numérique. Que se passe-t-il quand les objets se connectent à Internet ? Découvrez les mécanismes et les protocoles pour connecter un objet à Internet ou connecter des objets entre eux. Vous utiliserez les technologies issues des FabLabs pour fabriquer “Nelson”, un petit objet intelligent et autonome, contrôlé par votre smartphone ou votre ordinateur. Vous apprendrez également à re-programmer votre objet à l’infini pour l’adapter à vos besoins.

No sessions available
4 Weeks
Introdução ao Controle de Sistemas (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Introdução ao Controle de Sistemas (Coursera)

Este curso apresenta os principais conceitos do controle de sistemas e mostra suas vantagens e importância para a sociedade moderna. Você vai entender o que é o controle de sistemas e como o controle com realimentação funciona, e passará a perceber a sua presença em diversas situações em seu dia-a-dia, na natureza, no corpo humano e em diversos dispositivos, desde os mais simples até os mais complexos.

Nov 23rd 2026
4 Weeks
Cortex-M Software Development Fundamentals (Coursera) Coursera
Arm

Cortex-M Software Development Fundamentals (Coursera)

This course delves into software development topics such as working with Arm C/C++ compilers and Arm debug tools to optimize your software, whether it's for performance or code size. This course also looks more closely at the Common Microcontroller Software Interface Standard and how it helps ensure that software targeted at Cortex-M devices can be written using a consistent approach.

Nov 9th 2026
4 Weeks
Arm Cortex-M Processors Overview (Coursera) Coursera
Arm

Arm Cortex-M Processors Overview (Coursera)

This course is designed for anyone wishing to learn about the range of Cortex-M processors and the different resources that can help you with your Cortex-M project. The course begins with a bit of history about Arm processors and the Arm architecture, covering the differences between the M-profile and other architecture profiles like A-profile and R-profile.

Nov 9th 2026
1 Week
Sistemas Digitales: De las puertas lógicas al procesador (Coursera) Coursera
Universitat Autònoma de Barcelona

Sistemas Digitales: De las puertas lógicas al procesador (Coursera)

En este curso aprenderemos los fundamentos del diseño de los circuitos digitales actuales, siguiendo una orientación eminentemente práctica. A diferencia de otros cursos más "clásicos" de Circuitos Digitales, nuestro interés se centrará más en el Sistema que en la Electrónica que lo sustenta. Este enfoque nos permitirá sentar las bases del diseño de Sistemas Digitales complejos.

Nov 23rd 2026
5-12 Weeks
L'art des structures 1 : Câbles et arcs (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

L'art des structures 1 : Câbles et arcs (Coursera)

L'art des structures propose une découverte du fonctionnement des structures porteuses, telles que les bâtiments, les toitures ou les ponts. Ce cours présente les principes du dimensionnement et les structures en câbles et en arcs. Un deuxième cours présentera les structures en treillis, en poutres et en cadres.

Nov 30th 2026
5-12 Weeks
Adding Electronics to Rapid Prototypes (Coursera) Coursera
Arizona State University

Adding Electronics to Rapid Prototypes (Coursera)

Hello, everyone! Welcome to this course on Adding Electronics to Rapid Prototypes. This is part of the Rapid Prototyping and Tooling specialization. In this course, I’ll cover the basics of electric circuits, breadboards, and multimeters. I’ll then discuss different options for connecting electrical components as well as discuss different types of motors and actuators. Finally, I’ll end this course by discussing microcontrollers and how to use them to make even more sophisticated prototypes.

Nov 9th 2026
5-12 Weeks