Browse All Sessions
FREE Theatre

Distributed PubSub for Microcontrollers

Matt Liberty Matt Liberty
43:32
Theatre

Distributed PubSub for Microcontrollers

Matt Liberty
43:32 EOC 2021
Matt Liberty

Register Free to Watch

43:32

About This Session

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.

About Matt Liberty

Matt Liberty
Matt Liberty is the creator of Joulescope®, the easy-to-use, affordable test instrument for low-power design. He is also the founder of Jetperch LLC, a software and hardware engineering consultancy. Matt was the primary inventor of Hillcrest Labs' Freespace® motion control technology, and he was granted 34 US patents. Matt has a broad engineering background encompassing digital signal processing, PCB development, FPGA development, and software development in C, C++, and Python.

About Joulescope

Joulescope helps engineers easily optimize energy consumption and battery life.  The JS110 is our flagship test instrument to help measure current—from nanoamps to amps—while also measuring voltage, power, charge, and energy.  Visit the Joulescope website to learn more.

Visit Joulescope

Title

Message