@startuml ' skinparam linetype ortho ' skinparam nodesep 100 skinparam ranksep 80 skinparam state { BackgroundColor LightBlue } [*] --> Initialization state Initialization Initialization : Entry / Stop motor Initialization : Entry / Initialize internal parameters Initialization : Entry / Reset speed measurement Initialization : Do / Wait 2 seconds Initialization : Exit / Send Boot-up message state Operational Operational : Entry / LED on Operational : Do / Run speed controller Operational : Exit / Stop motor and LED off state Stopped Stopped : Entry / Stop motor Stopped : Do / Blink LED at 2 Hz Stopped : Exit / LED off Initialization --> Operational : initialization complete Operational --> Initialization : reset Operational --> Stopped : fault detected Stopped --> Initialization : reset Stopped --> Operational : set operational @enduml