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
MicroFlo is designed to integrate with other FBP runtimes, like NoFlo and msgflo
Events
Monday Oct 5, 2015 MQTT hackathon at c-base, Berlin
Status
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.
Contact
Use the Google Group Flow Based Programming or IRC channel #fbp@freenode.org. Alternatively, file issues on Github.
Using
Get Started: MicroFlo for Arduino MicroFlo for Embedded Linux