Rapid Embedded Systems Design Education Kit

Teaching materials now available on GitHub.

See below for details.

Teach your students a faster and easier way to design and implement embedded systems using the Arm Mbed API and tools. This course covers the fundamental principles of how to accelerate the development of embedded systems and rapidly prototype various embedded applications.

The teaching materials have been updated to include coverage of Mbed Studio and Mbed CLI.


Kit specification:

  • A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (full syllabus below)
  • Lab manual with code solutions for faculty. Labs are based on low-cost but powerful Arm-based hardware platforms.
  • Prerequisites: Basics of programming in C / C++

Course Aim

To produce students who can design and program Arm-based embedded systems and implement them using commercial API.


Learning Outcomes

  • Knowledge and understanding of
    • Arm processor architectures
    • Arm-based microcontrollers as modern embedded computing platforms
    • High-level programming API as a prototype tool for rapid development of embedded applications
    • Fundamentals of programming peripherals on microcontrollers
  • Intellectual
    • Explain the characteristics of an embedded system and evaluate its benefits and challenges
    • Identify and explain key features of Arm architectures and processors
    • Describe the flow of programming an Arm processor
    • Outline the different components of the Mbed platform, how they relate to programming microcontrollers, and the benefits of a high-level API
    • Explain how microcontroller peripherals can be controlled through the Mbed API, using digital and analog I/O, interrupts, pulse-width modulation, and timers
    • Explain key serial communication technologies and how the Mbed API supports them
    • Explain the features of a Real-time Operating System (RTOS) and how Mbed supports them
  • Practical
    • Use the Mbed Command-line Interface (CLI) to import, compile and run projects
    • Utilize Mbed API functions for digital and analog I/O, interrupts, and pulse-width modulation to control peripherals on a microcontroller
    • Implement different serial communication protocols, such as UART, SPI, and I2C using Mbed Studio
    • Utilize the Mbed RTOS APIs to create an application that can alter LED displays
    • Utilize a range of Mbed APIs to design and create an advanced music player



1 Introduction to Embedded Systems
2 The Arm Cortex-M4 Processor Architecture
3 Introduction to Arm Cortex-M4 Programming
4 Introduction to the Mbed Platform and CMSIS
5 Digital Input and Output (IO)
6 Interrupts and Low Power Features
7 Analog Input and Output
8 Timer and Pulse-Width Modulation
9 Serial Communication
10 Real-Time Operating Systems
11 Final Project

Extra Reading: The Arm Cortex-M Processor Architecture: Part 2

Access Education Kit

This Education Kit is available free to faculty worldwide. To access the materials, please click the button below which will take you to Arm Education’s GitHub page. By downloading, cloning or forking our material, you agree to abide by the terms and conditions set out in our EULA – the full terms of which can be found in LICENSE on our repo.

Access Education Kit
Rapid Embedded Systems Design and Programming Online Course
Rapid Embedded Systems Design and Programming Online Course
  • 11 Modules
  • Over 2 hours of total video content including 8 labs
  • 88 multiple choice questions to test comprehension
Learn More

Sign Up for Newsletter

Interested in hearing more from the Arm University Program?

Sign Up