Distributed PubSub for Microcontrollers
Do you waste time “plumbing” firmware to connect a new feature? Worry about managing dependencies between modules? Struggle to manage state when things go wrong?
In this session, we discuss real-world software architecture, dependencies, and state. We examine the publish-subscribe (PubSub) design pattern, what problems it solves, and what challenges it creates. We discuss how to create a distributed, reliable PubSub implementation that can span multiple microcontrollers with state recovery on failure. We explore one solution, Fitterbap, a new open-source C library with host Python bindings, which includes:
- An efficient, distributed PubSub implementation with simple metadata that allows you to quickly add, remove, and modify firmware controls.
- A small, high-reliability data link layer, suitable for local data streams including UART.
- Multiplexed, fast, reliable data streams, such as for sample waveform data.
- A UI (python + Qt + PySide) that runs on your host computer. The UI automatically instantiates controls from the metadata and plots streaming data.