Microservices for Microcontrollers: Composable Software Architecture for Embedded...
summary
Argues that breaking firmware into fine‑grained, loosely coupled modules yields reusable, composable builds and fewer rewrites, and shows an implementation using zbus, kconfig, and iterable sections. Describes threads for hardware, event listeners for lightweight logic, and a cold‑chain GPS/temperature asset tracker where an overtemp listener publishes an alarm topic and display/audio modules are added or removed with no other code changes. Notes zbus handles high throughput in practice up to 6,000 messages per second and that initialization and inclusion are driven by build config.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:04Microservices for embedded
- 3:33Composable firmware design
- 7:28Tasks and event-driven firmware
- 12:27Pub/sub with Zephyr's zbus
- 14:14Sections and initialization
- 17:29Cold chain asset tracker example
- 23:13Q&A
- 23:34Dependency initialization priorities
- 25:21Dynamic module loading
- 26:26Performance with zbus
- 28:38Reusing tasks across hardware
- 30:10Multi-core architecture
- 31:21Subscriber notifications and shared state
- 33:58RPC tradeoffs and data flow
- 36:25Subscriber count for power
- 37:29Closing remarks
related talks
38mMicroservices for Microcontrollers: Composable Software Architecture for Embedded De...
15mA Reusable Zbus Based Architecture, Abstracting Core Application...
15mLightning Talk: A Reusable Zbus Based Architecture, Abstracting Core Application Components
27mInsights on the Re-Architecting to a Single Codebase, Running on Different Hardware...
30mCombining Zephyr & C++20 to Build Safe, Low-footprint, Event-based Applicati...
32mArchitecting an IoT Product Line: Part 1 - Scoping
48mMicroservices? Monoliths? Modules!
01h 31mTutorial: Zbus - the Lightweight & Flexible Zephyr Message Bus
