Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Choose the power mode by deciding first whether the ESP32 may disconnect from Wi-Fi. If it can go offline during long idle periods, deep sleep is usually the best starting point: the chip shuts down its CPUs and most digital peripherals, then wakes for scheduled or event-driven work. If it must remain associated with its access point, use Wi-Fi modem sleep, optionally with dynamic frequency scaling (DFS), or consider automatic light sleep for connected workloads with idle gaps. These modes have different effects on reachability, response time, retained state, and current; no single sleep-current figure predicts what a complete board will draw.
Choose a mode based on connection and response requirements
| Mode | Connection and execution | Best fit | Main trade-off |
|---|---|---|---|
| Deep sleep | Wi-Fi and Bluetooth connections are not maintained. CPUs and most digital peripherals are powered down. | Periodic sensing or reporting when the device can be unreachable between wakeups. | Reconnection and application startup are part of each cycle; normal CPU and peripheral execution does not continue through sleep. |
| Wi-Fi modem sleep | The radio sleeps between Wi-Fi tasks and DTIM/listen intervals; association is maintained and the CPU remains active. | A device that must stay connected and continue processing. | Current remains much higher than deep sleep and varies with traffic, access-point behavior, and configuration. |
| Modem sleep with DFS | Modem sleep is combined with CPU/APB frequency adjustment during eligible idle periods. | Connected operation where reducing system current during idle phases matters. | Power-management locks and workload requirements may prevent the lower frequency. |
| Automatic light sleep with Wi-Fi | The CPU is suspended during idle sleep; the system wakes around Wi-Fi timing to maintain the connection. | A connected device with meaningful idle gaps that can tolerate CPU suspension while idle. | Requires power-management and tickless-idle configuration; interrupt timing and latency behavior change while asleep. |
Deep sleep is not a way to keep a Wi-Fi station reachable while consuming less power: the connection is dropped. For connected operation, investigate modem sleep or automatic light sleep instead. Light sleep preserves more operating state on exit than deep sleep; deep sleep resumes through a wake/restart path, so account for startup and retained data in the application design. The exact restart behavior depends on the framework and firmware.
As an Amazon Associate I earn from qualifying purchases.
What Espressif’s reference current figures mean
Espressif Systems’ ESP-IDF Programming Guide v6.1, accessed in 2026, reports average-current results measured in a shielded box. They are reference measurements, not guarantees for a particular ESP32 board. The guide reports these values for its Wi-Fi low-power configurations:
| Access point DTIM setting | Modem sleep | Modem sleep + DFS | Automatic light sleep |
|---|---|---|---|
| DTIM 1 | 31.12 mA | 22.65 mA | 3.34 mA |
| DTIM 3 | 28.81 mA | 21.89 mA | 2.33 mA |
| DTIM 10 | 29.66 mA | 20.01 mA | 2.19 mA |
The same ESP-IDF v6.1 Wi-Fi low-power page lists 5 μA average for deep sleep. Treat that as the documented test result, not the expected draw of a development board or complete product. Regulator quiescent current, USB circuitry, LEDs, flash, sensors, GPIO networks, firmware activity, and the access point can all change measured system current.
#1 Best Overall
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- ESP32 is a safe, reliable, and scalable to a variety of applications
Configure deep sleep and choose a wake source
Enable the wake source before calling the sleep-start API. For a periodic wake, the ESP-IDF sequence is to configure the timer and then call esp_deep_sleep_start(). The timer API accepts microseconds; actual resolution depends on the selected RTC slow-clock source.
esp_sleep_enable_timer_wakeup(60ULL * 1000000ULL);
esp_deep_sleep_start();
This example requests a 60-second timer interval. After waking, perform the required work and configure the next wake source before entering deep sleep again.
Rank #2
- Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
- Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
- Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
- USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
- Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
Timer wake
Use timer wake for scheduled sampling, periodic uploads, or other work that can wait for a known interval. If timing precision matters, account for the RTC slow-clock source rather than assuming the requested microsecond value is an exact wall-clock schedule.
EXT0 and EXT1 RTC GPIO wake
EXT0 watches one RTC IO for a selected logic level and keeps the RTC peripheral domain powered during sleep. On ESP32 silicon revisions 0 and 1, EXT0 cannot be combined with ULP or touch wakeup. EXT1 monitors multiple RTC GPIOs using supported any-high or all-low logic. Pin availability and combinations vary by target, so check the exact ESP32 documentation before wiring the circuit.
Rank #3
- Powerful ESP-32 Board: Unlock the world of Internet of Things (IoT) and advanced electronics with the heart of this kit: the ESP-32 board. It features a powerful dual-core processor, integrated Wi-Fi and Bluetooth 4.2, making it perfect for building connected, smart devices that communicate with your phone or the cloud. It's fully compatible with the Arduino IDE for easy programming.
- Super Starter Kit: This kit contains over 35 different modules and electronic components, including sensors, displays, motors, and input devices. From LEDs and buttons to an OLED screen, servo motor, and keypad, you have everything needed to explore a vast range of projects in one box.
- Step by Step Online Tutorial: Jump right in with our detailed, beginner-friendly tutorial. Access 30+ projects with complete code, clear circuit diagrams, and step-by-step instructions. Learn the fundamentals of electronics, coding, and how to utilize the ESP-32's unique capabilities without any prior experience.
- Hands-on Learning for All Skill Levels: Perfect for students, makers, engineers, and hobbyists. Start with basic circuits and coding, then progress to intermediate and advanced IoT applications. Build practical projects like weather stations, smart home controllers, remote-controlled devices, and interactive gadgets. The skills you learn are the foundation for real-world innovation.
- Quality & Great Support: Elegoo is committed to quality. We provide a clear, detailed tutorial guide, refined code, and a well-organized component kit. All modules are carefully selected for reliability and ease of use. Our dedicated technical support team and active online community are ready to help you succeed in your learning journey.
After EXT0 wake, the pad used for wake is configured as RTC IO; call rtc_gpio_deinit() if ordinary digital GPIO use is needed afterward. Check pull resistors and external drive levels as well: they can create a current path while the chip sleeps.
Touch, ULP, and light-sleep GPIO wake
- Touch wake: Configure the touch-pad interrupt before sleeping. Touch wake has power-domain and silicon-revision restrictions.
- ULP wake: The ULP coprocessor can monitor sensor, ADC, or GPIO conditions while the main CPU sleeps. This requires RTC SLOW memory to remain powered.
- GPIO wake from light sleep: RTC or digital IO may be usable depending on power-domain configuration. Deep-sleep GPIO wake on the ESP32 is limited to GPIOs powered by VDD3P3_RTC.
Do not choose a pin from a generic ESP32 pinout alone. Verify the chip target, module and board routing, silicon revision, wake-source combinations, pull configuration, and the exact IO restrictions in the ESP32 datasheet’s IO Pins section. Wake sources that were previously configured remain enabled after wake unless explicitly disabled.
Rank #4
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos;ESP32 is a safe, reliable, and scalable to a variety of applications
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- 1PCS 30Pin ESP32 Development Board 2.4GHz WiFi Dual Cores Microcontroller Integrated with Antenna RF Low Noise Amplifiers Filters
Keep Wi-Fi connected with modem sleep or automatic light sleep
Modem sleep and listen intervals
For a connected station, ESP-IDF selects modem-sleep behavior through esp_wifi_set_ps(). WIFI_PS_MIN_MODEM follows the access point’s DTIM behavior. WIFI_PS_MAX_MODEM uses a configured listen interval; a large interval can cause the station to miss DTIM or broadcast data. The access point controls DTIM timing, and shorter DTIM cycles reduce the power-saving benefit.
DFS and automatic light sleep
ESP-IDF power management configures CPU frequency limits and automatic light sleep through esp_pm_configure(). Automatic light sleep depends on FreeRTOS tickless idle. If CONFIG_FREERTOS_USE_TICKLESS_IDLE is not enabled, configuration returns ESP_ERR_NOT_SUPPORTED. Automatic light sleep uses timer wake internally, so do not separately configure that timer wake source for the same automatic-light-sleep setup.
Best Value
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Ultra-Low power consumption, works perfectly with the Arduino IDE
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- ESP32 is a safe, reliable, and scalable to a variety of applications
Power-management locks can keep the system at a higher CPU or APB frequency or prevent automatic light sleep. Audit each lock’s acquisition and release, and hold it only while the performance or peripheral requirement is active. For sleep modes that disconnect radios, stop Wi-Fi and Bluetooth with the relevant driver calls before sleeping; ESP-IDF notes that connections are not maintained in deep or light sleep even if the application does not explicitly stop the drivers.
Debug unexpectedly high sleep current on the complete board
- Define what you are measuring. Separate chip or module current from complete-board current. A regulator, USB interface, indicator LED, sensor, or pull network can dominate a board’s sleep draw.
- Compare like with like. Keep the supply setup and firmware workload consistent, then measure before and after one change at a time. Compare representative-cycle average current as well as peaks during Wi-Fi association and transmission; Espressif’s Wi-Fi table distinguishes average, maximum, and minimum current for some configurations.
- Confirm the intended mode is reached. Check that the firmware enters the intended sleep state and that a busy task or power-management lock is not preventing idle or light sleep.
- Inspect GPIO and RTC state. Check pull states, external drive levels, and the RTC domains required by the selected wake source. ESP-IDF documents
rtc_gpio_isolate()for isolating pins whose pull configuration causes current flow during deep sleep. - Retain only what is needed. ESP-IDF powers down RTC domains not required by enabled wake sources by default. RTC SLOW memory is retained by default for variables placed there; keep other RTC memories or peripheral domains powered only when the wake design or retained data needs them.
- Review flash behavior before changing it. For light sleep, ESP-IDF describes a flash-leakage workaround or a supported deep-power-down strategy as applicable. Powering down flash may be unsafe or counterproductive depending on sleep duration, wake source, flash hardware, capacitors, and IO state. Confirm the SPI flash supports deep power-down before enabling it.
An inline USB current meter can help compare operating modes on a USB-powered board, but check its range and resolution against the current being measured. Do not assume a generic USB meter can reliably measure microamp deep-sleep current; ESP-IDF does not endorse a particular instrument.
Use current measurements to validate the design, not just the chip mode
After choosing a mode, validate the full wake-to-sleep cycle on the actual hardware. Include association time, transmissions, sensor warm-up and sampling, idle gaps, and sleep duration in the measurement. A low chip sleep current is useful only if the board reliably wakes, performs its work, and meets its reachability and response-time requirements.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




