The world is moving toward a future of very small, Internet-connected intelligent devices, that is, the Internet of Things (IoT). However, at present, providing power to these devices is a problem--the inconvenient, expensive, and environmentally unsustainable need to replace batteries. Ahmed et al. discuss small batteryless IoT devices, the energy-harvesting systems needed to power them, and the changes in programming techniques and tools necessary to adapt to the special power environment of these devices.
The key architectural components of the devices are described, as well as energy management, energy storage solutions, and energy-minimal computer architectures. One minor gap: although energy-harvesting systems to power these devices are touched on, they are not explained in detail. The authors describe the foundational infrastructure necessary to build these devices. The programming techniques, language, and compiler characteristics needed to successfully program the devices are discussed--particularly the ability to accommodate intermittent computation and the ability to resume execution following power interruptions without loss of memory consistency or data.
Concluding remarks cover potential future research and applications. Relevant diagrams support the article and thorough references are provided. An interesting and thought-provoking discussion, Ahmed et al. predict huge possibilities related to the massive deployment of tiny, battery-free IoT systems in areas as diverse as wearable healthcare, horticulture, and utility monitoring.