Rapid Embedded Systems Design and Programming

To keep up with the growth of various embedded applications, the Rapid Embedded Systems Design and Programming Online Course is designed to provide an easier and quicker way of designing embedded systems and reduce the development cycle for embedded applications using high-level API tools. It is suitable for introductory and mid-level embedded system developers.

Based on the industry-standard Arm Mbed API tool and Keil MDK, this course teaches how to accelerate the development of embedded systems and rapidly prototype various embedded applications.

If you are interested in an institutional subscription, contact the Arm Education Media team at edumedia@arm.com

Course aims

The course aims to help learners develop their skills of using high-level programming tools and languages to rapidly design and program Arm-based embedded systems and prototype them for various applications. 

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


  • Ability to choose between different programming techniques for embedded system design 
  • Ability to evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding programming techniques


  • Ability to build an Arm-based embedded system and program to satisfy given user specifications 
  • Ability to use commercial API and tools to accelerate the development cycle of Arm-based embedded systems


Basic C/C++ programming


The hardware used in this course include:

  • FDRM KL25Z development board
  • Breadboard and a set of discrete components

The hardware bundle can be purchased at Digi-Key Electronics

Table of Contents

1. Introduction to Embedded Systems
2. The Arm Cortex-M0+ Processor Architecture: Part 1
3. The Arm Cortex-M0+ Processor Architecture: Part 2
4. Introduction to Cortex-M0+ Programming
5. Digital Input and Output
6. Interrupts and Low Power Features
7. Introduction to the mbed Platform, Arm-based Software Libraries, CMSIS and the mbed SDK
8. Analog Input and Output
9. Timer and Pulse-Width Modulation
10.Serial Communication
11. Real-Time Operating Systems

The above syllabus is indicative. It might change from time to time.