A comprehensive guide to reducing power consumption across the full spectrum of computing devices — from battery-powered ESP32 sensors to always-on home servers.
This book provides a practical, hands-on approach to power optimization at every level of the hardware stack. Whether you are trying to squeeze months of runtime from a coin-cell-powered sensor node, extend your laptop battery life by hours, or cut the electricity bill of a home lab NUC, the underlying principles are the same: measure first, optimize deliberately, and verify the results.
We start from the fundamentals — battery chemistry, measurement techniques, and power electronics — then work our way through each device class with concrete configurations, code examples, and real-world case studies.
The book is organized in four parts:
Part I — Foundations (Chapters 0–3): Core concepts applicable to all device types — why power optimization matters, battery chemistry and management systems, measurement tools, and power electronics fundamentals.
Part II — Embedded Devices (Chapters 4–6): Deep dives into ESP32 and Arduino/AVR sleep modes, wake sources, and peripheral management strategies.
Part III — Laptops and Small Servers (Chapters 7–11): Linux power management from CPU governors and TLP to display/suspend tuning, advanced profiling, NUC BIOS settings, and systemd service hygiene.
Part IV — Monitoring and Case Studies (Chapters 12–13): Building a unified cross-platform power monitoring system and applying everything to real-world scenarios.
All code examples have been written to be readable and instructive rather than production-hardened. Python is used throughout for host-side tooling; MicroPython and Arduino C are used for embedded examples. Code files live in the code/ subfolder and are referenced from the relevant chapters.