Update on 17th November 2021: having now played with an ESP32-S2 based board, I should say that it draws a lot less power than the combo described here.
Power Measurements
I was thinking about using a Raspberry Pi with an ESP32 based Wireless Pack for a battery-powered monitor, so I was interested to see how much current it draws.
All the tests below use Adafruit’s Circuit Python. Normal operation is
what the name suggests, and includes time sleeping with the
time.sleep()
call.
Light sleep uses the alarm.light_sleep_until_alarms()
call; deep
sleep uses the alarm.exit_and_deep_sleep_until_alarms()
call.
Pico only
The first tests use only the Pico board, powered at 5V through the USB port.
State | Current draw / mA | Power consumption / mW |
---|---|---|
Normal operation | 18 | 90 |
Light sleep | 12 | 60 |
Deep sleep | 5 | 25 |
Accuracy for the current measurement is about ±0.5mA. There’s a bit of high-frequency noise, presumably from the DC-DC converter, but the very little variation otherwise.
Pico and Wireless Pack
The second set of tests use the Pico board with a Pimoroni Wireless Pack1, all powered at 5V through the USB port.
State | Current draw / mA | Power consumption / mW |
---|---|---|
WiFi not in use | 36 | 180 |
WiFi in use | 91 | 455 |
Light sleep | 29 | 145 |
Deep sleep | 22 | 110 |
As can be seen just plugging in the Wireless pack increases the current consumption by about 17mA. Thus if the Pico is running normal code the current consumption is roughly doubled if it’s sleeping it more than quadruples. It is rather a shame that the sleep current is so high.
If you actually use the WiFi consumption rises sharply: nearly three times higher. I have no idea if the current will change in different settings: in my test the ESP32 was about a metre away from the WiFi Access Point, so presumably very little RF power was needed. The single number above hides significant variation when the WiFi is active.
Pico, Wireless Pack, 12V supply
I used a Pololu D24V10F52 buck converter to drop 12V to 5V, and then supplied that to the Pico. Internally it uses the Intersil ISL85410 DC-DC converter.
State | Current draw / mA | Power consumption / mW | Efficiency |
---|---|---|---|
WiFi not in use | 16.5 | 198 | 91% |
WiFi in use | 40.5 | 486 | 94% |
Light sleep | 13.5 | 162 | 90% |
Deep sleep | 10 | 120 | 92% |
Conclusions
I learned a couple of things:
The Pico Wireless Pack draws a lot of current, even when it’s not doing anything.
The Pololu buck converter really does deliver 90% efficiency in a real application.
So one disappointment and one nice surprise!
Update: If you care about low-power, it is probably more sensible to use a pure ESP32 design.
References
- 1. https://shop.pimoroni.com/products/pico-wireless-pack
- 2. https://www.pololu.com/product/2831