XIAO ESP32S3 (not sense): How to get 14uA in deepsleep?

I just purchased a few parts XIAO ESP32S3 without the sense/camera stuff.

Using the various deepsleep examples (wakeup by GPIO or timer, or even no wakeup at all), I can’t get better than 300uA in deepsleep.

I get the same results with Arduino and ESP32 2.0.11 or with esp-idf 5.1. Current was measured with a Nordic PPK II, using either 3.7V on battery pins, or feeding 3.3V on 3V3 pin.

Any hint about how to achieve the announced 14uA?

Thanks

Hi, the lowest low power consumption can be achieved depends on the program sleep logic and the logic of the code, so we can work on these two directions,The wiki in this forum uses nrf52840, but it may give you an idea:

Hi.
I’m affraid the thread you point is very NRF-specific and won’t apply easily on ESP32S3 HW.
Anyway, I’ll have a look at the part thats stop the flash chip. Is it the same with the PSRAM chip? Do we need to shut it down as well?

However, I understand both deepsleep examples provided in the getting started guide don’t do the job and I’l have to drill down on my own.

My goal is to do the simplest code possible to achieve the lowest consumption, having a simple GPIO or timer wakeup trigger. It’s not really about code logic from my perspective, only adding the missing parts from this trivial skeleton (timed wakeup):

void setup(){
  Serial.begin(115200);
  delay(1000); //Take some time to open up the Serial Monitor
  Serial.println("Going to sleep now");
  
  /* Please help me insert here smart code to shutdown everything to achieve the lowest deepsleep consumption */

  esp_deep_sleep(2 * 1000000);
}

void loop(){
  //This is not going to be called
}

Actually, this code just works out of the box.
But I sometimes get 8uA, sometimes the expected 14uA, sometimes way more (around 26uA, up to 300uA).

I’ll investigate more and will keep you updates.

void setup(){
  delay(1000); //Take some time to open up the Serial Monitor
  esp_deep_sleep(2 * 1000000);
}

void loop(){
  //This is not going to be called
}

Utilize the lowest power sleep or standby modes available on your microcontroller or system-on-chip (SoC). These modes study in usa scholarship click to apply can significantly reduce power consumption by disabling or minimizing active components.

Any updates on this ?

I get a deep sleep current of 130uA with no sense board attached.

However, the board is clearly advertised as being capable of 64uA deep sleep.

Not sure why the issue has been marked as ‘Solved’ no solution or update seems available.

Hi
I gave up using Arduino, and I got better results using directly esp-idf.

My whole application made use of lots of peripherals, so to achieve the best result, I had to disable the adc for instance.

Still a very noisy output, but the overall is somehow acceptable.

Interesting, thanks for the heads up.