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

The Mechatronics Revolution: Fundamentals and Core Concepts (edX) EdX
Georgia Institute of Technology,GTx

The Mechatronics Revolution: Fundamentals and Core Concepts (edX)

In this course, students will learn to harness the power of microcontrollers, sensors, and actuators to build useful and interesting robotic devices. The Mechatronics Revolution is upon us. Never before has it been easier to build robotic devices and computer-controlled machines. The confluence of low-cost embedded computers, sensors, and actuators has made experimentation and prototyping easier than ever.

Self Paced
Self-Paced
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Aug 3rd 2026
4 Weeks
Quantitative Methods (Coursera) Coursera
University of Amsterdam

Quantitative Methods (Coursera)

Discover the principles of solid scientific methods in the behavioral and social sciences. Join us and learn to separate sloppy science from solid research! This course will cover the fundamental principles of science, some history and philosophy of science, research designs, measurement, sampling and ethics. The course is comparable to a university level introductory course on quantitative research methods in the social sciences, but has a strong focus on research integrity. We will use examples from sociology, political sciences, educational sciences, communication sciences and psychology.

Aug 17th 2026
5-12 Weeks
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
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
Finding Mutations in DNA and Proteins (Bioinformatics VI) (Coursera) Coursera
University of California, San Diego

Finding Mutations in DNA and Proteins (Bioinformatics VI) (Coursera)

In previous courses in the Specialization, we have discussed how to sequence and compare genomes. This course will cover advanced topics in finding mutations lurking within DNA and proteins. In the first half of the course, we would like to ask how an individual's genome differs from the "reference genome" of the species.

Aug 17th 2026
5-12 Weeks
Sustainability through Soccer: Systems-Thinking in Action (Coursera) Coursera
University of Virginia

Sustainability through Soccer: Systems-Thinking in Action (Coursera)

This course takes learners on a journey through a progression of systems-thinking and sustainability concepts. Using the beautiful game of soccer as an analogy, we'll work together to illuminate real-world interdependencies (such as between climate change and human rights), building the chain of concepts in a fun, accessible way. Soccer nerds and newbies alike will be entertained and, ultimately, rewarded with the epiphanies that come from seeing in systems more clearly.

Aug 17th 2026
4 Weeks
Cómo autoconstruir tu vivienda (Coursera) Coursera
Universidad Nacional Autónoma de México

Cómo autoconstruir tu vivienda (Coursera)

Aprenderás las bases y los procedimientos precisos paso a paso para que puedas llevar a cabo la autoconstrucción de una vivienda básica, segura y económica para ti y tu familia; también te será de gran utilidad si estás buscando aprender a reparar, mejorar la estructura de tu vivienda e incluso si buscas autoemplearte.

Aug 17th 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.

Aug 3rd 2026
4 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Aug 17th 2026
5-12 Weeks