fsm (community library)


Name Value
Name fsm
Version 2.2.1
Installs 1111
Author Jon Black jon@humblecoder.com
Maintainer Mike Machado mike@machadolab.com
URL https://github.com/jonblack/arduino-fsm
Download .tar.gz
All Versions 2.2.1, 2.2.0

A library for implementing a finite state machine Supports events for exiting and entering states.

Example Build Testing

Device OS Version:

This table is generated from an automated build. Success only indicates that the code compiled successfully.

Library Read Me

This content is provided by the library maintainer and has not been validated or approved. An arduino library for implementing a finite state machine.


Other than the examples included in the library, the following pages might be useful to you:


If you'd like to contribute to arduino-fsm please submit a pull-request on a feature branch.

  • Bitcoin: 1HnqohdK1d6gwDc7bT6LPPkmUFAXczEJKp


2.2.0 - 25/10/2017

  • Add on_state() handler to states
  • New run_machine() method to invoke machine execution (includes a check_timed_transitions() call)
  • New timed_switchoff.ino example sketch to ilustrate new on_state() and run_machine() funcionality
  • Corrections:
  • make_transition() correctly initialices timed transitions start milliseconds (make_transition() is now a fsm method)
  • Initial state on_enter() handler is now correctly executed on fsm first run
  • Removed Serial.println(now); trace in Fsm.cpp
  • Correct initialization of m_num_timed_transitions

2.1.0 - 21/11/2015

  • Add timed transitions

2.0.0 - 03/09/2015

  • Remove AUTHORS files: too much hassle to maintain
  • Add library.properties
  • Add keywords.txt
  • Remove name attribute from state
  • Use int for transition event instead of string

1.0.0 - 24/12/2013

  • Initial release.

Browse Library Files