Introduction of Power Consumption Mode for XIAO ESP32C3
Overview
The XIAO ESP32C3 microcontroller can be switched between different power consumption modes to optimize battery life and performance.
Power Consumption Modes
- Active: This is the general operating mode where both the CPU and the chip's RF components are active. In this state, the chip can receive, transmit, and listen to signals normally.
- Modem-sleep: The CPU remains active with a variable clock frequency (80MHz/160MHz, automatically adjusted based on CPU load and peripherals used). The baseband and RF for Wi-Fi and BLE are turned off, but the connections remain active. When Wi-Fi is enabled, the chip may periodically switch back to Active mode, causing power consumption to fluctuate between these two modes.
- Light-sleep: The CPU is suspended. Any wake-up event, such as a MAC, host, RTC timer, or external interrupt, will reactivate the chip. Wi-Fi or BLE connections can remain connected.
- Deep-sleep: The CPU and most peripherals are suspended. Only the timer and memory of the Real-Time Clock (RTC) are operational. Wi-Fi connection data is stored in the RTC.
Compared to competing products, the XIAO ESP32C3 features a 32.768 kHz crystal clock circuit, providing a low-frequency RTC clock for the CPU. This enables the XIAO ESP32C3 to operate in Deep-sleep low-power mode with extremely low standby power consumption (as low as 44µA) and extended standby time when powered by external batteries. This capability supports a wider range of low-power application scenarios.
System Architecture
The XIAO ESP32C3 is built around Espressif's ESP32-C3 Wi-Fi + Bluetooth Low Energy SoC. The architecture includes:
- Core System: A RISC-V 32-bit Microprocessor, Cache, SRAM, JTAG, and ROM.
- Wireless MAC and Baseband: Includes Wi-Fi MAC, Wi-Fi Baseband, Bluetooth LE Link Controller, and Bluetooth LE Baseband.
- RF: Features a 2.4 GHz Balun + Switch and RF Phase Lock Loop.
- Peripherals: A comprehensive set including SPI0/1, I2C, GPIO, RTC GPIO, RTC Memory, PMU, SPI2, I2S, UART, TWAI®, Pulse Counter, RMT, GDMA, LCD Interface, DIG ADC Controller, Temperature Sensor, LED PWM, USB Serial/JTAG, Camera Interface, Watchdog Timers, and General-purpose/System Timers.
- Security: Components like SHA, RSA, AES, RNG, HMAC, Digital Signature, Secure Boot, and Flash Encryption are integrated.
- RTC: Includes RTC Memory, PMU, and RTC Watchdog Timer.
The legend "Modules having power in specific power modes" indicates which modules are active in Active, Modem-sleep, Light-sleep, and Deep-sleep modes, with some modules being optional in Light-sleep.
Test Results Summary
The low power mode summary test results for the XIAO ESP32C3 are presented below:
Mode | Current with Wi-Fi enabled | Current with BLE enabled |
---|---|---|
Active | 74.7mA | / |
Modem-sleep | 24.4mA | 26.8mA |
Light-sleep | 3.6mA | 9.7mA |
*Current in Deep-sleep mode: 44.0µA
Detailed Test Procedure
Note: The ESP32-C3 requires AT firmware to be pre-burned. AT commands are sent through the serial port to configure the power consumption mode.
Power Consumption Test with Wi-Fi Enabled
Reference AT Commands:
AT+CWMODE =1 -> Configure to Station mode.
AT+CWJAP="SSID", "Password" -> Connect to the AP.
AT+SLEEP=0 -> Configure to Active mode.
AT+SLEEP=1 -> Configure to Modem-sleep mode.
AT+SLEEP=2 -> Configure to Light-sleep mode.
Test Results in Active Mode:
The test results for Active mode with Wi-Fi enabled show an average current of approximately 74.7mA.
Power Consumption Test with BLE Enabled
Reference AT Commands:
AT+CWMODE =0 -> Turn off Wi-Fi RF.
AT+BLEINIT=2 -> Configure to Server mode.
AT+BLEADVS TART -> Turn on BLE broadcast.
AT+SLEEP=1 -> Configure to Modem-sleep mode.
AT+SLEEP=2 -> Configure to Light-sleep mode.
Test Results in Modem-sleep Mode (BLE Enabled):
During Modem-sleep mode with BLE enabled, the average current measured was approximately 26.8mA.
Test Results in Light-sleep Mode (BLE Enabled):
The summary table indicates Light-sleep mode with BLE enabled consumes approximately 9.7mA. The graph presented for this mode shows an average current of approximately 26.8mA, which is inconsistent with typical Light-sleep values and aligns more closely with Modem-sleep. For accurate Light-sleep BLE results, refer to the summary table (9.7mA).
Power Consumption Test in Deep-sleep Mode
Reference AT Command:
AT+GSLP=sleeptime -> Configure to Deep-sleep mode and hold for 'sleeptime'.
Test Results in Deep-sleep Mode:
The Deep-sleep mode exhibits extremely low power consumption, with an average current of approximately 42.5µA.