Zbus - the Lightweight and Flexible Zephyr Message Bus
summary
Zbus is a lightweight Zephyr message bus that implements many‑to‑many pub/sub with channels and addresses and two observer types: asynchronous subscribers (notifications) and synchronous listeners (immediate callbacks). Publications lock channel mutexes, replace shared memory, run listeners in publisher context and enqueue subscriber notifications; benchmarks report no observed losses though duplication is possible if producers overwhelm consumers. It targets constrained devices (≈16 KB), is unsuited to high‑throughput streaming, and adds ISR‑safe async APIs, multicore clones and a desktop bridge on the roadmap.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:52Motivation
- 2:42Solution idea
- 3:04Bus topologies
- 3:17Embedded systems challenges
- 8:20Available actions
- 12:20Virtual Distributed Event Dispatcher
- 18:51Example
- 27:37Usage considerations
- 31:28ZBus async APIs
- 33:38Integration and samples
- 34:20ZBus for multi-core
- 35:20ZBus for multi-target
- 35:46ZBus desktop
- 36:44ZBus Discord Channel
related talks
39mZBus - New Features and Roadmap
12mMQTT-SN in Zephyr: Lightweight Messaging for Constrained Devices
12mMQTT-SN in Zephyr: Lightweight Messaging for Constrained Devices
46mBluetooth Mesh and Zephyr
42mInter Process Confusion - Navigating Zephyr's IPC APIs
33mA Block Stream API for Zephyr
49mThe Zephyr™ Project – An Updated Overview
45mImplementing Network Protocols in Zephyr Project
