Now that I have three different XIAO ESP32s (C3, S3, and C6), compared their sleep currents. I hope this will be helpful when considering low-power applications.
First, I analyzed the schematic and datasheet as a reference.
A 3.3V analog regulator XC6210 is used in C3, and this regulator’s quiescent current of 35uA accounts for most of the C3 sleep current. However, a diode NSR0520 is used, which has low reverse current, giving it an advantage in this area compared to S3 and C6.
The power supply circuits for S3 and C6 are almost identical. The 3.3V regulators in S3 and C6 are SGM6029 with power save mode, resulting in a much smaller sleep current of 2.8uA. Unfortunately, the diodes have been replaced by LMBR4010, which have a large reverse current of 8uA and account for half of the sleep current in S3 and C6.
EDIT : A mistake was found in the measured sleep current of C3, which has been corrected.
The following sketch was compiled and used for the measurements, with options in default state.
Sleep current was measured by applying 3.8V from PPK2 to the battery pad.
Since a diode is sensitive to temperature, I thought I measured at a constant room temperature for comparison purposes, but it was difficult to achieve a strictly constant temperature. Measurements may have been affected by temperature. The current waveforms of S3 and C6 show the power save mode of the regulator SGM6029 at work. C3 was 45.1uA, S3 was 11.9uA, and C6 was 14.3uA.
// Board Library : esp32 by Espressif 3.0.0-rc1
// Board Select : XIAO_ESP32C6, XIAO_ESP32S3, XIAO_ESP32C3
// ArduinoIDE compile options left at default
// Vbat = 3.8V
void setup() {
esp_deep_sleep_start();
}
void loop() {
}
The power circuit section of each XIAO are listed for reference.