Navigation

⬇️ Download (Latest is 6.5.2 / April 2025)

⭐ Features

🛒 Purchase

Codegen Manual

📖 What are state machines?

🔍 How to generate state machine code from UML?

🛠️ Supported UML Tools

Examples on GitHub Examples on Github

🗞️ News / News History

Imprint/Impressum

Terms of use

Privacy Statement

Modelling-Tool specific Intro

Enterprise Architect

Magic Draw

Modelio

Papyrus New!

Astah (macOS, Clang)

Astah (Windows, Visual Studio)

Cadifra (MingGW, Windows)

UModel (MingGW,Windows)

StarUML (Experimental)

DrawIO (Experimental) New!

Built-in Visual Editor Manual - Part I

Built-in Visual Editor Manual - Part II

Built-in Visual Editor Manual - Part III

Built-in Visual Editor Manual - Part IV

Language Backends

C

C++

Java

C#

Lua

Swift

Python

Rust

GO New!

JavaScript New!

RTOS/Bare Metal

Using State-Machines with STM32F101C8T and the CubeMX Tool from STM New!

Using State-Machines with FreeRTOS

Using State-Machines with VxWorks

Using State-Machines with embOS

Using State-Machines in a main-loop system (without RTOS)

Event-based versus polling

Using State Machines in Low-Power Embedded Systems - I

Using State Machines in Low-Power Embedded Systems - II

How-To

Q&A related to Java issues

Interesting readings

Static Code Checkers

Known Issues

Noteworthy per operating system

Designers Toolbox

Using time triggered events

Using regions or not

High-Availability and Safety Systems

Model-based testing of state machines I

Model-based testing of state machines II

Create nice looking state flow diagrams using Mscgen

Article on www.embedded.com State charts can provide you with software quality insurance.

Tutorial about state machines@bela.io New!

Examples

Designing signal forming function blocks New!

State machines for GUI design

Getting started with the PIC16F18446 and State Machines

Building a Modbus RTU server with state machines, activity diagrams and minimal runtime environment

Vending machine with PyTK GUI

Light Controller

PLCOpen Function Block

DCF77 Radio-Clock Decoder

Car Window Lift Controller

Asuro Mobile Robot Programming

Pump Controller

Room Thermostat, example with regions

Wireless temperature sensor

Energia example on GitHub

There are better ways to model state machines than using spread sheets!

In the past different μC manufacturers have published application notes about the benefit of using state machines for the design of embedded software. An example is the application note SLAA402 from Texas Instruments (TI). It suggests to generate source code based on a spread sheet table. Nowadays several affordable UML modeling tools are available supporting the efficient design of state machines in a graphical way. SinelaboreRT generates production quality source code from state diagrams created with many different UML tools. Give it a try!

Latest Changes

Follow us on