Power Harvesting & Storage &
Management Strategies
in Wireless Sensor Networks
Motivating Application: Battlefield
Surveillance
Other Applications
Wildlife Monitoring
Alarm System
Flock Protection
Border Surveillance
Power is a Critical Issue
Ad Hoc Networks
Sensor Networks
Scale
10~100s nodes
1000s~100,000 nodes
10-100X
Density
2~4 Neighbors
10~30 Neighbors
5-10X
Bandwidth
11Mbps ( e.g. 802.11 )
50Kbps
20~40X
Energy
Large (111Wh)
Small (3.3Wh)
>30X
Requirement
1hour ~ 1 day
3 ~ 6 month
100X
Cost
High per unit
Much cheaper per unit
<1/10X
Rechargeable
Yes
No or use energy scavenger
Failure rate
Very low
High
Application
Most non-real-time
Time-sensitive
Quality Spec.
Lossless
Allow packet loss
Context
Location-independent
Location-dependent
Mobility
Intermittent movement
Continuous movements
Technology Trends
Relative improvements in laptop computing technology from 1990–2003.
What will you learn in this lecture?
A Survey of Energy Harvesting & Storage Strategies
A Survey of Power Management Strategies
Power management at a single node (Localized)
Power management at scale (Distributed)
How to balance Energy Harvesting with Energy
Consumption
Eon: A language and runtime for perpetual systems
Where Energy Comes From?
Power Management
High
Low
EON
Timer = 1 hr
…
High Timer = 5 hr
…
Timer = 10 hr
Low
Feasible Sources of Energy
Photovoltaic solar cells Power densities of energy harvesting technologie
Amorphous
Crystalline
Vibrations
Piezoelectric
Capacitive
Inductive
Radio-Frequency (RF)
Thermoelectric conversion
Human power
Wind/air flow
Pressure variations
Harvesting technology
Power density
Solar cells (outdoors at
noon)
15 mW/cm2
Piezoelectric (shoe
inserts)
330 μW/cm3
Vibration (small
microwave oven)
116 μW/cm3
Thermoelectric (10oC
gradient)
40 μW/cm3
Acoustic noise (100dB)
960 nW/cm3
Solar and Ambient Light
Sources
Noon on a sunny day - 100 mW/cm2
Office Lights: 7.2 mW/cm2
Collectors
Silicon
– 15% - 30% efficient
– .6 V open potential - needs series
stacks
Poly-Silicon
– 10% - 15% efficient
Photoelectric Dyes
5% to 10% efficient
BWRC - BMI - Solar Powered PicoRadio Node
Solar Cell Characteristics
10-20 % efficiency outdoors <1% efficiency indoors
Needs power management scheme
Maximum power point might need tracking
V-I characteristics of a Solar World 4-4.0-100 solar panel
Temperature Gradients
Exploit gradients due to
waste heat / ambient
temp
Maximum power = Carnot
efficiency
10˚C differential - (308K 298K) /308 = 3.2%
Through silicon this can be up
to 110 mW/cm2
Methods
Thermoelectric (Seebeck effect)
~ 40µW/cm2 @ 10˚C
Piezo thermo engine (WSU) ~ 1
mW/mm2 (theoretical)
Bahr et al. WSU -Piezo
thermo engine
Human Power
Burning 10.5 MJ a day
Average power dissipation of 121 W
Areas of Exploitation
Foot
• Using energy absorbed by shoe when stepping
• 330 µW/cm2 obtained through MIT study
Skin
• Temperature gradients, up to 15˚C
Blood
• Panasonic, Japan demonstrated electrochemically converting glucose
Air Flow
Power output/ efficiencies vary
with velocity and motors
Applications exist where average
air flow may be on the order of 5
m/s
At 100% efficiency ~1 mW/cm
MEMS turbines may be viable
Piezoelectric energy via Vibrations
Materials (notably crystals and
certain ceramics) to generate an
electric potential in response to
applied mechanical stress.
Sources
HVAC
Engines/Motors
Existing Designs
Roundy ~ 800 µW/cm3 (similar to
clothes dryer)
Roundy, UC Berkeley - Piezo Bender
Wireless Energy Transfer :Microwave & RF
Where Energy is Stored
Feasible Devices for Energy Storage
Batteries
Li-ion
NiCaD
NiMH
Ultracapacitors
VoltaFlex thin film rechargeable lithium batteries
Maxwell
Samsung
NEC
Micro-fuel cells
Micro-heat engines
Radioactive power sources
Maxwell 5V 2F 2.7 mAhr ultracapacitor
Macro Batteries
Macro Batteries - too big
Zinc air (3500 J/cm3)
• High power density
• Doesn’t “stop”
Alkaline (1800 J/cm3)
• Standard for modern portable electronics
Lithium (1000 - 2880 J/cm3)
• Standard for high power portable electronics
Micro Batteries - on the way
Lithium
Ni/NaOH/Zn
Battery Capacity Curve
Battery model shows the Rate Capacity Effect
MEMS Fuel Cell
Current Generation
Toshiba 1 cm3 hydrogen reactor
Produces 1watt
Transients may be too slow for
low duty cycles
Fraunhofer
Next Generation
Planar Arrays
• Fraunhofer - 100 mW/cm2
• Stanford - > 40 mW/cm2 (more
room for improvement)
S.J. Lee et. al., Stanford University
Capacitors/ Ultra capacitors
Capacitors
Useful for on chip power
conversion
Energy density too low to be a
real secondary storage
component
Ultra capacitors
Good potential for secondary
storage
Energy density on order of 75
J/cm3
Work being done to shrink them
Micro Heat Engines
MEMS scale parts for meso
scale engine
1 cm3 volume
13.9 W
Poor transient properties
Micro size heat engine
ICE’s, thermoelectrics,
thermoionics, thermo photo
voltaics via controlled
combustion
Meant for microscale
applications with high power
needs
Radioactive Approaches
High theoretical energy
density
Power density inversely
proportional to half life
Demonstrated power on the
order of nanowatts
Environmental concerns
Where Energy Goes in a Sensor Node
CPU
Sensors
Dynamic
Voltage
Scaling
Scalable
Signal
Processing
Coordinated Power Management
Power Management Subsystem
TinyOS
Radio
Dynamic
Modulation
Scaling
Energy Saving @ microcontroller (CPU)
How to save energy in microcontroller?
Turn it off !!
Design low-complexity algorithms
Dynamic Voltage Scaling
Multiple Sleep Modes (Atmega128L as an example)
•
•
•
•
Idle mode: stop CPU only
Power-save mode: turn off cpu, on-chip flash, ADC and other I/O
Standby mode: turn off cpu, bus and main clock
Power-down mode: stop everything except one interrupt line
A separate processor for computation intensive tasks
Energy Saving @ Sensors
How to save energy at sensor-level?
Turn sensors off!!
Sample based on changing rate of phenomena
Use low power sensor components
• Magnetic sensor: 19.4mw
• PIR sensor: 0.88mw
• Acoustic: 1.73mw
Selective & incremental wakeup
Use the interrupt-based scheme Vs. the polling-based scheme
Energy Saving @ Flash
How to save energy at Flash?
Turn radio off!!
• Radio: 0.003 mw
Tuning the transmission power according to the node density
• P=0.01mW (-20 dBm) 15.8/25.8mw
• P=0.3 mW (-5 dBm) 16.7/41.4mw
• P=1 mW (0 dBm) 31.2/49.5mw
LPL: B-MAC, LPL-Short Preamble: X-MAC, Synchronized
Polling.
Energy Saving @ Radio
How to save energy at radio-level?
Turn radio off!!
• Radio: 0.003 mw
Tuning the transmission power according to the node density
• P=0.01mW (-20 dBm) 15.8/25.8mw
• P=0.3 mW (-5 dBm) 16.7/41.4mw
• P=1 mW (0 dBm) 31.2/49.5mw
LPL: B-MAC, LPL-Short Preamble: X-MAC, Synchronized
Polling.
Energy Saving @ Radio
Energy aware routing/MAC
Routing based on Energy Metrics
Turn off radio while a node is not intended receiver
Collision avoidance MAC
Reduce the number of retransmission
Multi-path routing to balance energy
Deplete energy evenly across the network, preventing premature network
partition.
Limited Forwarding according the node density
Forward to nearest neighbor
Energy Saving @ Network
person
event
Base Station
vehicle
event
Explore through redundancy and collaboration
Converge
Tracking & Classification
Communication
Energy Saving @ Coverage
How to save energy in providing coverage?
Selectively turn on a subset of nodes in high density networks
• Full coverage in space
• Partial coverage in space
Duty cycle scheduling
• Turn on a node only a portion of time
Controlled Coverage Placement
• Provide coverage to critical path
Energy Saving @ Tracking
How to save energy during the tracking process?
Initial Detection
• There is no need to turn on all sensors for initial detection
Localized wakeup
• Network wide wakeup process is very energy consuming
Group based tracking with local aggregation
Reduce false alarms
Energy Saving @ Communication
Sensor-triggered node wakeup
user
event
Zzz
Zzz
Zzz
Zzz
sensor network
Path nodes need to be woken up
How to wakeup?
Duty cycle the radio
trade-off between energy and latency
Radio mode
Power (mW)
Transmit
14.88
Receive
12.50
Idle
12.36
Sleep
0.016
Wake-up circuit & protocols exploiting them
instantly wake up remote receiver radio when needed
minimize spurious wake ups & interference, and their impact
• match destination address in addition to preamble
• cheap directional antennas
Eon: A language and runtime for perpetual
systems
Jacob Sorber, Alexander Kostadinov, Matthew Garber,
Matthew Brennan†, Mark Corner, Emery Berger
University of Massachusetts Amherst
†University of Southern California
Example: Tracking Turtles
Wood turtle (Clemmys insculpta)
State of the art: Radio Telemetry
On-shell GPS tracking
Small, lightweight, waterproof
Need to last forever—a perpetual system
Daily Solar Production Varies
Weather and mobility = uncertain energy budget
Energy Consumption Varies
GPS energy/reading is also uncertain
Challenges for Perpetual Systems
Variable energy budget
Size is limited
Can’t overprovision
Always on GPS = 3 hour life
Need an adaptive solution
Writing energy-aware code is difficult
Eon Language and Runtime
First energy-aware programming language
Tight link between program and runtime
Explicit data flow and energy preferences
Measure energy harvesting and consumption
Automatically conserve energy as needed
execute an alternate implementation
adjust fine grained timers
Eon Programming Language
Coordination language
GPSTimer
Structure: Directed Acyclic Graph
Nodes = code written in C/NesC
Edges = map node outputs to inputs
GetGPS
Execution starts at events
Flow = path from event source to handler
Annotate Flows
Describe how to conserve energy
StoreData
Example Eon Program
// Predicate Types
typedef valid TestValid;
//Node declarations
GPSTimer() => ();
GPSFlow() => ();
GetGPS() => (GpsData_t data, bool valid);
HandleGPS(GpsData_t data, bool valid) => ();
LogData(GpsData_t data, bool valid) => ();
LogTimeout(GpsData_t data, bool valid) => ();
ListenRequest() => (msg_t msg);
ReadData(msg_t msg) => (msg_t msg);
SendData(msg_t msg) => ();
HandleRequest(msg_t msg) => ();
GPSTimer
(1 hr – 10 hr)
// Adjustable Timer Limits
GPSFlow
ListenRequest
Respond?
HandleRequest
GPSTimer:[HiGPS] = (1 hr, 10 hr);
GetGPS
ReadData
// Eon States
HandleRequest:[*,*][Respond]
= ReadData -> SendData;
// there is always an implicit BASE state
stateorder {(HiGPS, Respond)};
// Sources
source ListenRequest => HandleRequest;
source timer GPSTiumer => GPSFlow;
// Adjustable Timer Limits
GPSTimer:[HiGPS] = (1 hr, 10 hr);
GPSTimer:[*] = 10 hr;
// Flows
GPSFlow = GetGPS -> HandleGPS;
HandleRequest:[*,*][Respond] = ReadData -> SendData;
HandleGPS:[*,valid][*] = LogData;
HandleGPS:[*,*][*] = LogTimeout;
HandleGPS
valid?
LogData
LogTimeout
SendData
Runtime System
Basic flow execution
Choose sustainable energy state
High
Low
High
Timer = 1 hr
…
Timer = 5 hr
…
Timer = 10 hr
Low
What do we need to know?
Solar energy
Energy consumption
Not provided by most hardware.
Hardware Support
Measures
Energy harvested
Per-flow energy
Battery fullness
Energy independence
Easily change hardware
No offline profiling
Charge control: Heliomote
Only required for energy adaptation
Choosing an energy state
Goal: Avoid empty and full battery
Battery
100%
50%
0%
8
16
24
32
40
Time (hours, future)
Predict outcomes per state
Detailed predictions are complex
Too complex for motes
Near-sighted approximation
48
56
64
Choosing an energy state (cont)
Low
Avoid Waste
High(Min)
Avoid Empty
High(Max)
Choose between High and Low
Timer ranges: find two settings
Avoid empty battery
Avoid full battery
Any setting in between is sustainable
Done! Now do it again.
Conclusion
Energy management is crucial part of sensor network research
First-class consideration
Energy Harvesting
Solar is widely used for it high energy density
Energy Storage
Ultra-capacitor is a promising direction for energy storage.
Energy Conservation
Save as much energy as possible
Energy Balancing
keep energy demand and supply in balance.
© Copyright 2026 Paperzz