Why ESP32's secret low-power features make it better than Pi for battery projects

Why ESP32's secret low-power features make it better than Pi for battery projects

Published Oct 26, 2026, 12:00 PM EDT Nick Lewis is an editor at How-To Geek. He has been using computers for 20 years --- tinkering with everything from the UI to the Windows registry to device firmware. Before How-To Geek, he used Python and C++ as a freelance programmer. In college, Nick made extensive use of Fortran while pursuing a physics degree. Nick's love of tinkering with computers extends beyond work. He has been running video game servers from home for more than 10 years using Windows, Ubuntu, or Raspberry Pi OS. He also uses Proxmox to self-host a variety of services, including a Jellyfin Media Server, an Airsonic music server, a handful of game servers, NextCloud, and two Windows virtual machines. He enjoys DIY projects, especially if they involve technology. He regularly repairs and repurposes old computers and hardware for whatever new project is at hand. He has designed crossovers for homemade speakers all the way from the basic design to the PCB. Nick enjoys the outdoors. When he isn't working on a computer or DIY project, he is most likely to be found camping, backpacking, or canoeing. The difference between a battery-powered sensor that runs for a few days and one that runs for a year comes down to what the board does when it's doing nothing. Most DIY projects, like weather stations, mailbox alerts, or plant monitors, spend 99% of their life idle. In those scenarios, idle draw matters far more than peak performance. While Raspberry Pi boards are the default pick for many makers, they were built for compute, not for sitting idle for prolonged periods. ESP32 chips, on the other hand, feature multiple power-saving features most people never use. Deep sleep turns milliamps into microamps Lower power draw is essential for battery life Credit: Adam Davidson / How-To GeekCredit: Nick Lewis / How-To Geek Under normal circumstances, a microcontroller might pull a few milliamps by itself and up to several hundred milliamps if there are additional power-hungry components on the board. If you're running a project on a battery, every amp counts. ESP32 supports a very effective deep sleep that significantly cuts the amount of power a board draws. In this mode, the CPU, most of the RAM, and the radios are powered off entirely; only the real-time clock (RTC), the wake timer, and some RTC memory stay active, which are essential if you want the board to come back online by itself. The difference between deep sleep and regular operation can be enormous. For example, an ESP32-C3 can draw as little as 5 microamps while in deep sleep. S3 and C6 boards can go as low as 7 microamps. Now consider that a project might only need to wake every 20 minutes to take a reading for a few seconds and then go back to sleep. That means a single 2,000mAh battery—which is a fairly common capacity—could conceivably run for months without a recharge. Of course, real boards will often be higher since they have extra components. If you want to minimize your power use, stick with the simplest possible board. Even the low-power Raspberry Pi devices, like the RP2040 and the RP2350, consume between 500 microamps and 750 microamps when they're in "deep sleep." Some ESP32 boards have an ultra-low-power processor A tiny second CPU keeps working while the main chip sleeps Credit: Adam Davidson / How-To Geek The ultra-low-power (ULP) coprocessor is a tiny secondary CPU that can continue operating while the main, more powerful CPU is in deep sleep. That allows your project to do simple things, like poll GPIOs, read sensors, or check an ADC value without activating the main CPU at all. The ULP processor can then selectively wake the big CPU when its extra processing power is actually needed. Over weeks or months, those power savings add up. There are two big wrinkles to keep in mind. The first is that not every ESP32 board has a ULP processor, and even among those that do, don't all have the same processor, which means their capabilities can be quite different. Some use a simple state machine, while others have a low-power RISC-V CPU. The second is that you have to program the ULP coprocessors separately, but that isn't a significant problem considering the payoff. Light sleep and ESP-NOW keep it connected Go easy on the Wi-Fi radio Wi-Fi can be a serious problem if you want a device to run for months at a time. Turning on the Wi-Fi radio, connecting, transmitting data, and then disconnecting is pretty power intensive compared to an ESP32 idling or in deep sleep. To avoid that power drain, you can put the modem to sleep and toggle on automatic light sleep. That turns off the modem and pauses the CPU but keeps the contents of RAM, so startup only takes a small fraction of a second. You can also opt for ESP-NOW, which is a peer-to-peer protocol that lets ESP32 boards communicate directly without connecting to a Wi-Fi network first. It doesn't eliminate all overhead and it isn't suitable for every application, but it does let you minimize how much time the ESP32 stays online. Solar and small power sources are actually realistic ESP32 sips power If you're careful, you can keep an ESP32's average power draw on the order of a few milliwatts, which is the kind of thing a small solar panel can cover without a problem, even on cloudy winter days. Even a Pi Zero 2 W, which is itself a pretty low-power device compared to the other Raspberry Pis, consumes on the order of 500 milliwatts constantly. If you want to run a Pi-based setup on a battery and solar panel, you'll need to upsize both your battery and your panel. You can even buy ESP32 boards that have built-in connections to handle battery charging, which simplifies your setup. There is also a general reliability advantage here. ESP32 boards are extremely simple, and a power loss in the middle of the night just means the board reboots normally once the sun comes up and recharges the battery. A Pi Zero that loses power during the wrong operation could corrupt its microSD card, which requires you to manually fix it. For battery and solar builds, the ESP32 is the better default Even though boards based on the RP2040 and the RP2350 consume less power than the full Raspberry Pis, like the Zero 2 W or the Pi 5, they still consume significantly more power than a well-optimized ESP32 board. A battery that could power an ESP32 for months could only run a Pi 5 for hours or a Pi Zero 2 W for a day or so (optimistically). When you combine ESP32's deep sleep, the optional ULP cores, and radio modes designed to minimize power use, the ESP32 is the better choice for simple battery-powered projects.

Original Source

Read the full article at Howtogeek →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.