Power Measurements

Having been rather disappointed to find that the Raspberry Pi Pico and ESP32 Wireless Pack drew so much current, I thought it would be worth repeating the experiment with a pure ESP32 solution.

The TinyS21 board was easy to acquire, so that’s what I did! It boasts an ESP32-S22 mounted on a small board with glue circuitry and a USB-C socket. The ESP32-S2 is a single core processor with WiFi, BLE, and native USB support. The last-named allows CircuitPython to export its filesystem to a host computer.

[TinyS2]

All the tests below use CircuitPython v6.2 which came installed on the board.

Normal operation is what the name suggests, and includes time sleeping with the time.sleep() call. Light sleep made no difference and so I ignored it; deep sleep uses the alarm.exit_and_deep_sleep_until_alarms() call.

Results

I ran three series of tests: 5V supply to the 5V pin; 5V supply to the battery pin; 12V dropped to 5V which supplied the battery pin. When powered from the battery pin, the red power LED is not illuminated, which saves about 1.5mA: as you’ll see from the table below, this is very significant when in deep sleep.

State5V pinBattery pin12V → 5V → Battery pin
Normal31.5mA30.0mA18mA
Deep sleep1.5mA40µA90µA
WiFi active100mA100mA45mA

Most measurements are accurate to about 0.5mA. The low currents drawn during deep sleep are accurate to about 10µA. The current drawn whilst WiFi was active fluctuated a lot, so should be taken as indicative only.

Peak current consumption

When the WiFi was active, short-term peaks of about 200mA were seen. The current-limit on my bench power supply tripped if it was set lower than 210mA.

Quiescent current

The ESP32-S2 datasheet3 quotes a current consumption of 20µA when everything but the Real-Time-Clock is disabled.

The datasheet for the ISL854104 in the Pololu D24V10F55 DC-DC converter quotes a typical quiescent current of 80µA which dominates the current drawn whilst the ESP32 is in deep sleep.

Conclusions

I was interested in the comparison between running CircuitPython on the TinyS2 and on the Raspberry Pi Pico with an ESP32 WiFi addon. Simply put Tiny power is a lot smaller than Pico Power, especially when sleeping.