All Courses

Embedded System Design using UML State Machines

Embedded System Design using UML State Machines

Learn how to build event-driven embedded applications with the help of a simple and hierarchical UML state machine approach.

What you’ll learn

Embedded System Design using UML State Machines

  • Programming in an event-driven way.
  • State machines that are both flat and tall (Simple FSMs and H-FSMs).
  • If you want to know what a machine is like and how it works, you need UML.
  • Changing UML statecharts into C/C++ code that can be run.
  • Action objects are designed this way.
  • Different ways to put state machines into use.
  • State-Handler method: How to build the state machines.
  • The use of function pointers in “C.”
  • Hands-on projects with FSMs and HSMs that are simple.
  • A step-by-step guide to writing code.
  • With the help of the QPTM embedded real-time framework and the QM tool from Quantum Leaps LLC, I was able to draw and build the HSMs.


  • The Basics of ‘C’ or ‘C++’ programming


You can learn the basics of simple and hierarchical UML STATE MACHINES in just a few easy steps.

Project-based learning is a big part of the class, and students learn by doing.

The goal of this class is to teach you how to write event-driven programs with simple and hierarchical state machines.

After taking this course, you will be able to use the state machine method to solve your complex embedded systems projects.

In this class, you’ll learn how to install important software.

  1. This word is also known as the Arduino IDE (Free and Open source )
  2. Code that looks like it was written by Microsoft (Free)
  3. The PlatformIO VS code add-on (Free and Open source )
  4. QMTM is a modeling tool made by Quantum Leaps, LLC (Free GPL version)
  5. By Change Vision, Inc. (Trial version)

This is just a suggestion from the teacher for people who are just starting out.

  1. Microcontroller Embedded C Programming: this is for complete beginners (Embedded C)
  2. It’s possible to write code for embedded systems on ARM Cortex-M3/M4 processors (ARM Cortex M4 Processor specific)
  3. Learning how to write embedded drivers for microcontrollers (MCU1)
  4. When you learn how to use a microcontroller, you’ll learn about things like timers, PWM, CAN, RTC, and low power (MCU2)
  5. Creating embedded systems with UML State Machines (State machine)
  6. Mastering RTOS: Using FreeRTOS and STM32Fx with Debugging to learn how to work with them in real time (RTOS)
  7. ARM Cortex M Microcontroller DMA Programming Isn’t That Hard! (DMA)
  8. Development of a custom bootloader for the STM32Fx microcontroller (Bootloader)
  9. It’s easy to make embedded Linux with a Beaglebone Black (Linux)

Who this course is for:

  • Embedded system programming is for anyone who wants to learn more about it.
  • Students and people who work

Embedded System Design using UML State Machines

If the links does not work, contact us we will fix them