Implementation of Flow-based programming for microcontrollers and embedded devices. MicroFlo supports multiple targets, including Arduino, Atmel AVR, ARM Cortex M devices (mbed, TI Tiva/Stellaris), ESP8266 and Embedded Linux.
Unlike most other visually programmable systems, MicroFlo programs runs standalone, does not make use of code generation, can be introspected and reconfigured at runtime, and supports automated testing.
One can program with MicroFlo either:
- Visually, using Flowhub/NoFlo UI
- Textually, using the declarative .fbp DSL or .json definition
- Programatically, by embedding it and building a graph using the C++ API
Minimally useful. Simple programs work, most I/O on standard Arduino devices is supported, some 50 components for various tasks exists. Minimal support for automated testing.
Suitable for those curious to play with alternative microcontroller programming models. Probably a bit early to use it for general tasks.
MicroFlo in the wild:
- Jon’s fridge thermostat has been running uninterrupted since September 2013.
- The Ingress table at c-base station, Berlin uses MicroFlo to control the lights. One major upgrade/bugfix since March 2014.
- The lights on the CNC-milled Christmas tree at Bitraf, Oslo ran for 4 weeks during Christmas 2013.