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

Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera) Coursera
Google Cloud

Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera)

"Microservices" describes a software design pattern in which an application is a collection of loosely coupled services. These services are fine-grained, and can be individually maintained and scaled. The microservices architecture is ideal for the public cloud, with its focus on elastic scaling with on-demand resources. In this course, you will learn how to build Java applications using Spring Boot and Spring Cloud on Google Cloud Platform.

Jun 9th 2026
2 Weeks
Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera) Coursera
University of Rochester

Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera)

In this course students learn the basic concepts of acoustics and electronics and how they can applied to understand musical sound and make music with electronic instruments. Topics include: sound waves, musical sound, basic electronics, and applications of these basic principles in amplifiers and speaker design.

Jun 8th 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
Microcontroller Applications with RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Microcontroller Applications with RISC-V (edX)

Create simple embedded applications with a RISC-V microcontroller using a user-friendly integrated development environment (IDE). This course provides some basic experience in designing and developing deeply embedded bare metal applications using a microcontroller with a RISC-V core. The course is the first step to creating embedded systems using a host of new microcontrollers that use an open instruction set architecture (ISA) as an alternative to a proprietary option.

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
Microcontroller and Industrial Applications (Coursera) Coursera
L&T EduTech

Microcontroller and Industrial Applications (Coursera)

Today, there exists a changing paradigm for every organization towards Digital Transformation in alignment with rapid growth of Industrial Automation. As automation impacts the business-returns directly, every organization, be it Designing, Manufacturing, Assembling or Logistics sector, sincerely is getting transformed as Digital Industries. One of the key elements underneath this transformation is, the evaluation of multi-featured, high speed, tiny microcontrollers. The global Microcontroller market estimate is with 7.6% CAGR during 2021-2023.This in turn is creating a large job space for Engineering community in the next decade in Digital Transformation domain. The major objective of this course is to equip learners towards such job space of Engineers.

Jun 1st 2026
5-12 Weeks
Prepare for AZ-204: Developing Solutions for Microsoft Azure (Coursera) Coursera
Microsoft

Prepare for AZ-204: Developing Solutions for Microsoft Azure (Coursera)

Microsoft certifications give you a professional advantage by providing globally recognized and industry-endorsed evidence of mastering skills in digital and cloud businesses. In this course, you will prepare to take the Exam AZ-204: Developing Solutions for Microsoft Azure. In this course, you will refresh your knowledge of hall phases of cloud development from requirements, definition, and design; to development, deployment, and maintenance; to performance tuning and monitoring. You will test your knowledge in a practice exam mapped to all the main topics covered in the AZ-204 exam, ensuring you’re well prepared for certification success. Y

Jun 9th 2026
3 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).

Jun 14th 2026
5-12 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 9th 2026
5-12 Weeks