Home >

Distributed PubSub for Microcontrollers

Matt Liberty - Joulescope - Available in 6 days, 7 hours and 29 minutes (2021-05-14 07:00 EDT)

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.
italicssurround text with
boldsurround text with
**two asterisks**
or just a bare URL
surround text with
strikethroughsurround text with
~~two tilde characters~~
prefix with

Score: 1 | 1 month ago | 1 reply

Is the fitterbap GitHub repo supposed to be public? I get a 404 message when I click on the link.

Score: 0 | 1 month ago | no reply

Hi @esaias and thanks for the question. The fitterbap GitHub repo is not yet public, but it will be before the conference. While the code is already being used, I want to take another pass through the API, which gets much harder to change after making it public.