This is an old revision of the document!
Table of Contents
Overview of Batteryless Devices
Why Batteryless?
Electronic devices are being deployed in an ever-increasing array of roles: monitoring, wearables, and IoT devices are just a small sampling of the varying ways that these devices are becoming part of every day life. However, with more devices comes a greater demand to power them all, which is becoming an increasingly critical issue.
For small or mobile devices, the primary energy source has usually involved batteries in some fashion, but these are also the components with the shortest lifespan and most frequent need for replacement. The need to replace (much less dispose of) batteries for an ever-growing array of devices is quickly becoming a concern, particularly in applications where accessing the devices themselves is expensive or impractical (such as a nanosatellite deployed into orbit).
How Batteryless Devices Work
At the simplest level, batteryless devices replace a battery (or other power source) with an energy collector (solar, thermal, etc.) and at least one capacitor to both store power and drive the load. Depending on design needs and the task to be performed, two primary methods of energy management may be used:
- Intermittent operation: the device activates once a certain amount of power is accumulated, and performs task(s) until that energy is expended. Once expended, the device turns off until sufficient power is accumulated, and repeats.
- Matched operation: the device scales its energy usage based on the current energy received from the source/capacitor.
It should be noted that the circuit designed above is the simplest implementation: more complicated configurations (such as Federated Energy Storage) are discussed in their own article. Regardless of the energy configuration used, however, it is likely that processing will consume more power than is available in a single cycle: as a result, an intermittent device will often save (checkpoint) the current system state periodically, in order to resume as needed after power loss until the processing is complete.
Design Considerations
Embedded Programming vs "Typical" (Application/Enterprise) Programming
Most batteryless devices are small, embedded circuits and so face the same limitations in memory, storage, and processing capability shared by their more typical kin. While there are unique challenges when utilizing an intermittent power source compared to typical embedded devices, they also share many common limitations and restrictions: certain programming conventions that are suitable for a typical desktop/cloud application (e.g. recursive functions) are impractical or ill-advised in an embedded device, and alternative methods such as bitwise operations must often be used for tracking simple state variables.
Power Storage vs. Response Time
Larger capacitors have a longer charge time and energy leakage, so capacitor sizing will depend not only on power requirements, but on desired response time. Alternative methods of energy storage can counteract some of these drawbacks, but come with their own implementation and complexity requirements.
Recovering from Power Loss
By their very nature batteryless systems must reckon with transient, unpredictable power supplies and long periods of downtime. There are varying ways to approach handling a variable energy supply as noted above, but all intermittent systems must be prepared to handle a complete loss of power in some fashion. This is further complicated by the fact that most programming languages (and most programs) are designed and built around the assumption of consistent uptime: the relatively short uptime of most intermittent power supplies means a device can spend all its uptime reinitializing (instead of performing useful work) if not properly accounted for.
To this end, most intermittent devices employ checkpointing in some fashion, saving the application's current state before power is lost, and using that to resume the same process(es) once sufficient power is available. Where a checkpoint is taken, as well as what data is saved for the checkpoint itself will depend on the application, power budget, and importance of the checkpointed data. These checkpoints also require non-volatile memory for storage, each of which has its own unique considerations and drawbacks.
Timeliness/timing concerns
Depending on the application, collected data may need to be processed within a given time limit to be of any use. It is entirely possible for a device to collect data, but be unable to process it within the limit for various reasons: as a result, a device should be able to account for this possibility in situations where it is relevant.
Device synchronization and communication
The lack of consistent power means that communication between two batteryless devices can be challenging, as there is no guarantee both parties will have enough power to be active at a given time. Most common communication protocols are also not designed around intermittent computing, often with reset/termination timers that are shorter than a given device's recharge period. As a result some method must be used to either synchronize communicating devices in some fashion, or maintain the state of a given communication between devices after interruption.
Limitations and Tradeoffs
- Power restrictions: Total power is considerably more constrained compared to a traditional device: for example, a traditional device may use its MCU to calculate whether a minimum voltage threshold has been reached, but in an intermittent circuit using the MCU in this fashion will often consume too much of the available power to be viable. Intermittent circuits must be designed not only around intermittent power supplies, but lower ones as well.
- Efficiency: Compared to a more traditional power or battery-fed circuit, an intermittent device must expend energy and processing time to record state in a non-volatile memory store in order to recover from outages. This required overhead limits the total amount of work an intermittent device can perform for a given amount of power, relative to a powered device performing a similar function.
Discussion