From Code To Current: Reducing Energy Consumption in Zephyr
summary
Built a Bluetooth coin‑cell sensor and measures power with a Nordic Power Profiler Kit v2 and oscilloscope, finds naive firmware draws 684 µA (~19.5 days). Enabling Zephyr config PM vs PM device/runtime and choosing deeper CPU sleep raises lifetime to ~51 days; cutting BLE adverts and sampling to 30 s drops average to 28 µA (~446 days). Adding driver PM runtime support, reference counting and a DT-configured settle delay yields ~16 µA (~~2.3–3 years). Also warns to remove parasitic loads (JLink) and validate ADC stabilization.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 3:51Power measurement tools
- 6:23Zephyr power basics
- 8:51Sleep modes in device tree
- 10:38Bluetooth ad frequency
- 13:08Peripherals and sensors power
- 16:19Sensor driver power management
- 19:33Nordic runtime power
- 22:24Driver power management
- 24:11App-level power management
- 25:41MCU power implementation
- 27:50CPU power comparison
- 30:22Sensor validation after wake-up
- 31:50Parasitic power avoidance
- 33:16Power optimization best practices
- 35:03Power graph analysis
- 36:08Q&A
related talks
43mFrom Code To Current: Reducing Energy Consumption in Zephyr
46mDevice Power Management: Journey to 5uA
41mZephyr RTOS: Under 1KB of RAM
59mWorkshop: 3 best practices to create a long battery life for IoT devices
51mDemystifying Memory: A Practical Tutorial on Managing & Optimizing Memory in Zephyr
50mWhy Does My Smartphone Battery Die in One Day?
22mSqueezing every drop of juice from your energy source
22mPower optimization for Android
