Testing Zephyr Bluetooth Devices at Scale
summary
Built a Raspberry Pi + balena GitHub Actions runner farm driving nRF52840 dongles and nightly firmware; runs 24h tests across 100+ devices and triggers core dumps over‑the‑air to catch low‑probability faults. Uses Zephyr native sim with Root Canal/native sim for fast, reproducible CI scenarios but hits single‑thread scaling limits past a few hundred virtual nodes. Finds concrete bugs: L2CAP buffer race, GATT vs L2CAP timing differences on Android/iOS, flow‑control token leak and intermittent memory exhaustion.
AI-written summary · about
chapters (12)
- 0:00Bluetooth testing challenges
- 2:11Desk to scalable validation
- 4:22Bluetooth testing complexity
- 7:59Early real-device characterization
- 11:10Isolating non-Bluetooth code
- 13:18Hardware-in-the-loop with Pi
- 16:50100+ device test bed
- 20:48Rare bugs with crash dumps
- 26:16OpenTelemetry for insights
- 28:01Zephyr Native Sim
- 31:14Key lessons in Bluetooth testing
- 33:19Q&A
related talks
40mTesting Zephyr Bluetooth Devices at Scale
48mRiding the Upstream Wave: Keeping Your Zephyr Apps Regression Free
46mZephyr Application Development Using TDD: Getting Started
46mZephyr Application Development Using TDD: Getting Started
44mTest Strategy for Zephyr
40mZephyr Off-Chip Peripheral Emulation
57mZephyr RTOS Debugging and Performance Analysis
32mBoF: Quality and Testing Processes for Zephyr + Discussion
