Efficient Embedded Systems Design Education Kit

Teaching materials now available on GitHub.

You can download the materials by clicking the button below which will take you to Arm Education's official GitHub pages.


Kit specification:

  • A full set of lecture slides, ready for use in a typical undergraduate course (see full syllabus).
  • Recent updates to education kit include:
    1. New lecture slides on Armv8-M architecture and the Cortex-M33 processor. Updated topics include:
      • Extended features
      • Performance efficiency
      • Power consumption
      • Supported interrupts
      • Supported sleep modes
      • Enhanced instructions
      • Cortex-M33 Implementation Data
      • Complete block diagram of the Cortex-M33 processor
      • Cortex-M33 instruction set

    2. A dedicated module on Arm’s system-wide Trustzone security technology. Coverage of new topics include:
      • Secure and Non-secure worlds and their features
      • Attribution units
      • Security requirements addressed by TrustZone covering communication, protection, firmware and data operations.

    3. Refreshed lab exercises based on the ST NUCLEO-L552ZE-Q board with updated code, libraries and a new exercise on implementing Trustzone’s Secure World features.

    4. You can access the previous version of the education kit based on the ST Nucleo F401RE board on our GitHub repo.

  • Prerequisites: basics of programming.
Access Education Kit

Course Aim

To produce students who can design and program Arm-based embedded systems and implement them in low-level hardware using standard C and assembly language.


Learning Outcomes

  • Knowledge and understanding of
    • The attributes of a modern Embedded System including constraints on operating system, programming language and choice of microprocessor or microprocessor.
    • Armv8-M processor architecture including Trustzone technology as applied to Cortex-M33 microcontrollers.
    • Software design basics, software engineering principles.
  • Intellectual
    • 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.
  • Practical
    • Ability to use commercial tools to develop Arm-based embedded systems.
      • Ability to build an Arm-based embedded system and program to satisfy given user specifications.
      • Ability to run simple programs that utilize the security features of TrustZone in Cortex-M33 devices to access secure and non-secure IO ports.



1 Introduction to Embedded Systems Design
2 Software Design Basics
3 Cortex-M4/M33 Processor Core Part 1 (Cortex M4 for Nucleo-F401RE version while Cortex M33 for Nucleo-L552ZE-Q version)
4 Cortex-M4/M33 Processor Core Part 2 (Cortex M4 for Nucleo-F401RE version while Cortex M33 for Nucleo-L552ZE-Q version)
5 C as Implemented in Assembly Language
6 Interrupts and Low Power Features
7 General Purpose I/O
8 Analog Interfacing 
9 Timer Peripherals
10 Serial Communication
11 Programming for Power-Efficient Computing: High Level Techniques
12 Programming for Power-Efficient Computing: Low Level Techniques
13 TrustZone Features in Cortex-M33 (Available only on Nucleo-L552ZE-Q version)

Recommended Textbook

Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers: A Practical Approach

FRDM-KL25Z Edition

ISBN 978-1-911531-03-6

Learn More
Textbook Cover: Embedded Systems Fundamentals, Nucleo-F091RC Edition
Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers: A Practical Approach

Nucleo-F091RC Edition

ISBN 978-1-911531-28-9

Learn More

Sign Up for Newsletter

Interested in hearing more from the Arm University Program?

Sign Up