FlowDiagram
UML: sequence, class & stateMermaid

Elevator controller state machine template

Shows an elevator car controller handling idle, moving up or down, door opening and closing, obstruction detection and emergency stop; used in embedded and systems design courses. This state machine has 9 states and 18 transitions, triggered by events such as “call above”, “call below”, “call at this floor”.

Open in the editor →
  • Free — no account, no trial, no watermark
  • Fully editable shapes and connectors, not a screenshot
  • Export PNG, SVG or PDF, or share it as a link
  • Private: the diagram never leaves your browser

States in this state machine

  • Idle
  • Moving Up
  • Moving Down
  • Doors Opening
  • Stopping
  • Doors Open
  • Doors Closing
  • next
  • Emergency Stop

How to use this state diagram template

  1. Click Open in the editor. The state diagram opens on a new page in FlowDiagram — nothing is uploaded and there is no sign-up.
  2. Rename, add or delete shapes and drag them where you want; connectors stay attached as things move.
  3. Drop in vendor logos from the library — 1,160 of them, including every AWS, Azure and Google Cloud service icon — or restyle it with the colour and theme controls.
  4. Prefer text? Edit the Mermaid source below and paste it in through ☰ → Import diagram (see the Mermaid editor); it imports as an editable diagram.
  5. Export to PNG, SVG or PDF, or press Ctrl+L for a link that carries the whole diagram.

Mermaid source

The whole template is the text below. Paste it into FlowDiagram, keep it in Git next to the code it describes, or hand it to an AI assistant to extend.

stateDiagram-v2
  [*] --> Idle
  Idle --> MovingUp : call above
  Idle --> MovingDown : call below
  Idle --> DoorsOpening : call at this floor
  MovingUp --> Stopping : floor requested reached
  MovingDown --> Stopping : floor requested reached
  Stopping --> DoorsOpening : car levelled
  DoorsOpening --> DoorsOpen : fully open
  DoorsOpen --> DoorsClosing : dwell timer 5s
  DoorsClosing --> DoorsOpening : obstruction detected
  state next <<choice>>
  DoorsClosing --> next : doors closed
  next --> MovingUp : pending calls above
  next --> MovingDown : pending calls below
  next --> Idle : no calls
  MovingUp --> EmergencyStop : alarm pressed
  MovingDown --> EmergencyStop : alarm pressed
  EmergencyStop --> Idle : reset by technician
  EmergencyStop --> [*]

Related: Mermaid editor · All uml: sequence, class & state templates · All 521 templates