ESP32 Thing Plus Deep Sleep

Hi,

We are trying to operate the ESP32 Thing Plus in deep sleep.

the documentation states 10uA sleep consumption, instead we are able to get 5.7mA which is larger in magnitude!!

Looking at the parent board:

ADAFRUIT HUZZAH32 – ESP32 FEATHER

From the following article:

https://blog.voneicken.com/2018/lp-wifi-esp32-boards/

seems that deep sleep is not better on the parent as well.

we use the LiPO connector for power.

What do we miss?

Kfir.

Hello Kfir.

The 10uA figure for deep sleep is just for the ESP32 chip on the board. There are other parts of the board that are powered even during sleep that continue to draw current and that’s likely what you’re seeing. Sadly, neither the ESP32 Thing or ESP32 Thing Plus are optimized for low power use. You may be able to modify the board to drop the current draw though.

I’m not sure about the Thing Plus, but on the regular Thing, you need to cut two jumpers on the back of the board. One powers down the flash memory in sleep mode, and the other disables the power LED. This should get you well under 1mA when running on a battery. I will look at the Thing Plus and see what can be done.

Any luck with reducing the power on the Thing Plus?

Hi,

Any joy on this? The board is advertised as “deep sleep, 2.5uA” To find out that the board will not do this is a bit misleading.

Anything I can change to realise low current consumption?

4.9mA is pointless for a battery operated device that sleeps for 10 minutes at time :frowning:

It seems there are 5(ish) operating states for the ESP32. Active, Modem-sleep, light-sleep, Deep-sleep, and Hibernation. Hibernation is rated for 2.5uA. The issue with this is that this only pertains to the IC. I’ve notified internal documentation to have this looked at on our product description.

On that same point, the ESP32 source files seem to indicate the device is being put into Deep-Sleep only, no Hibernation. Depending on the features specific to Deep-Sleep the IC can consume .15mA to 10uA. There is a power LED and other components that will certainly pull more current regardless of the IC sleep state. So 10 - 5 mA isn’t a far stretch without modifying the other physical components on the board.

Hi,

I am also having issues with lower power sleep on the ESP 32 Thing plus. As far as I can tell, the issue is with the CP2102N consuming the bulk of the power. This is unexpected. According to the datasheet the chip should consume 195uA while in the Suspend" state. According to the USB spec all devices should enter the suspend state when USB is disconnected for more than 3ms. My measurements show the device is consuming more than 4mA while in suspend state is active.

My board shows the following results w/LiPO battery:

  • Baseline (CPU Active, no BLE, no WiFi): 43mA (lowest reading, .5 sec avg)

  • Deep Sleep (Timer based wake up): 4.0 mA (lowest reading, .5 sec avg)

  • ESP32 powered off (Chip_PU Low via Reset button, Power applied to 3.3v rail): 4.8mA (lowest reading, .5 sec avg)

To duplicate the setup:

  1. Disconnect power completely

  2. Use an external power supply to provide 3.3V directly to the 3V3 pin on the ESP32 Thing Plus.

  3. Hold Chip_PU low on the ESP32 by holding the reset button.

  4. Measure current consumed

There is a 10K pullup resistor on the Chip_PU line for the ESP32, but factoring that out should give you a good handle on the power consumed by the CP2102N.

Digging a bit deeper, I checked the errata on the chip:

CP2102N_E103 – Self-Powered Device May Not Enter Suspend

Description of Errata

A device in the self-powered configuration may not enter Suspend mode properly if the USB host is disconnected (i.e. cable unplugged).

Affected Conditions / Impacts

A device may draw additional current on the order of Normal Operation mode (~10 mA) when not connected to USB and in the selfpowered configuration.

Workaround

There is currently no workaround for this issue.

Resolution

This issue is resolved in revision A01 devices with a date code of 1639 or later and A02 devices.

The version of the chip I have shows a date code of 1851, so I should not be seeing this issue, but I am guessing that there is some similar bug here.

Has anybody from Sparkfun reached out to Silicon Labs on this since this seems to be a nagging issue for many users?

Thanks,

James

One additional datapoint I should have also mentioned is that I was able to confirm that the CP2102N “believed” that it was in the “Suspend” state by looking at the output of pin 17 on that chip. This pin was HIGH.

From https://www.silabs.com/documents/public … asheet.pdf

17 SUSPEND Digital Output. This pin is driven high when the device enters the USB suspend state.

The ESP32 Thing Plus schematic also matches SI’s implementation recommendation.

If all the components were working properly:

ESP32 (RTC Timer Only) - 5uA

AP2112 - 55uA

MCP73831/2 - 1uA - 5uA Running while VBat - 50mV >= Vdd , 6uA (Battery Detection)

CP2102N - 195uA

my expectation is that the ESP32 Thing Plus should consume no more than ~266uA while the ESP32 is in Deep Sleep (Hibernation).

Sparkfun is a great source for IoT prototype development boards. Given that many of us use these boards to baseline our own designs, Silicon Labs should be very motivated to ensure that their devices meet the specs they claim in their datasheets in these critical POC stages.

Has anybody from Sparkfun reached out to Silicon Labs on this since this seems to be a nagging issue for many users?

Thank you,

James

Sparkfun, Any word on this?

Has anybody from Sparkfun reached out to Silicon Labs on this since this seems to be a nagging issue for many users?

We have not reached out to Silicon Labs as far as I am able to tell.

Digging in a bit deeper it looks like the behavior of the CP2102N may be dependent on its programming, can Sparkfun please share the programming settings that you used for the CP2102N?

SparkFun doesn’t change any settings on the CP2102, they are in their stock condition as we receive them.

Im not sure if this matters, but the CP2102N expects to have its power mode configured:

https://www.silabs.com/documents/public … asheet.pdf

Power Mode This setting determines whether the device is Bus-Powered, i.e. it is powered by the host, or Self-Powered, i.e. it

is powered from a supply on the device.

0x80 (Bus-Powered)

The ESP32 Thing Plus implements the CP2102N in “Self-Powered” mode. I wonder if this setting may also impact how the device toggles into its low power mode? (i.e. When “Bus-Powered” it does not not need to go into low power mode while bus powered)

It looks like the power mode has no impact on the power consumed by the CP2102N during suspend.

What does seem to have an impact though is placing a 10M Ohm resistor between D- and GND (or a 1N4734A leaky Zener) this seems to cause the CP2102N to settle down to about 250uA of current. This is most certainly the CP2102N and was duplicated in isolation with the [CP2102N-miniEK module from SiLabs. In the ESP32 thing plus I go from 6mA @ 3.3v (applied directly to the 3v3 rail, down to 1.1mA @ 3.3v applied directly to the 3v3 rail. It is not the <300uA I am expecting, but it is a substantial improvement.

@Sparkfun, The key suggestion that I have is: In the next version of this board, that you power the CP2102N from the USB bus. There is no reason to power it from the 3V3 rail. Doing this will completely eliminate this problem from future models and hopefully get the board down into the sub-100uA range. From there, I think replacing the power regulator with one optimized for extremely low quiescent current will get the board into the 10-20uA range (maybe less).

Hope this helps everyone else on this thread as well.](https://www.silabs.com/documents/public/schematic-files/CP2102N-MiniEK-schematic.pdf)

Thanks for the feedback jgartrel, I’ve shared your findings with our engineering team.

I can’t promise a revision anytime soon, but they have been notified.

Neither the Sparkfun esp32 or the Adafruit esp32 products implement deep sleep and power saving well at all. False advertising if you ask me.

But these new ones from EZSBC do!!!

https://www.ezsbc.com/index.php/product … 0XSERl7mV5

https://news.ezsbc.com/esp32-in-feather-format/

Hi,

I have bought from sparkfun ESP32 Things board as link below:

https://www.sparkfun.com/products/13907

I have a project that should work on battery for very long time, and I have searched for an optimal low power consumption board with deep sleep mode, and then I found this board. I bought this board because I trust with all details that Sparkfun wrote about their boards. For this board they write: 2.5 µA sleep current under hibernation.

I have enter the ESP32 in the hibernate mode. I cut power led off to reduce the current. but I don’t reach 2.5UA, I have only reach 0.8 ma with hibernate mode. Just I want to aske Sparkfun about this point that attracts me to buy the board, how they reach this value of low current with board !!! is it real !!!

From the [datasheet:

The sleep current of the ESP32 chip is less than 5 μA

As others have stated above, this figure is ONLY for the ESP32 module, there are other parts on the rest of the board that also consume power.

Sparkfun should probably revise the product page to make that clear, but it is technically correct.](https://cdn.sparkfun.com/assets/learn_tutorials/8/5/2/esp32-wroom-32_datasheet_en.pdf)