ESP32S3 Sense Camera very high deep sleep current - any solution?

The Wiki for the ESP32S3 Sense board states that the deep sleep current of board with the camera and the SD card is circa 4mA. This does appear to be correct if you dont initialise the camera.

Initialise the camera and the ‘deep sleep’ current is now 90mA and there does not appear to be a way that I can find to reduce it back to the advertised 4mA or so, apart from switching the board power off.

Apologies in advnce if I have missed the solution to this issue.

Would SEEED consider a modification to the sense board so that the sleep current advertised on the Wiki can be achieved when the camera is actually used ?

If you have the camera connected, it rather implies your going to use it, in which case you dont appear to be able to get even close to the advertised 3mA deep sleep current.

The sense board has two GPIOs used for the microphone, so why not give users the chance of using one of those GPIOs to shut down or reset the camera and thus kill the 90mA camera battery power guzzle ?

Hello @StuartsProjects ,
I apologize for any inconvenience caused. We will proceed with testing regarding this situation. Thank you for your feedback and patience.

Hi @StuartsProjects I am having the same problem. I developed a product using the XIAO ESP32S3 and noticed an extremely short battery life. When measuring current consumption in deep sleep, I found out that it was. consuming 91mA, just as you stated.

The problem is clearly on the camera. Once initialized, it is impossible to turn it off. When not initialized, measured current in deep sleep is 2mA, which is still high but reasonable. I also contacted SeeedStudio for a solution and was told that there is currently no interface to achieve this.

If I find out a way to solve this problem I will let you know. I would be very grateful if you could do the same!

I suspect the solution to achive the claimed deep sleep current when the camera is used is to modify the sense board so you have the option of using one of the microphone GPIOs to kill the camera in a similar way that the ESP32CAM does.

I was working on a LoRa board for the XIAO initially for balloon tracking type stuff. This would be a very small and light tracker capable of taking pictures. You could save images to SD and/or directly download them via LoRa, I already wrote the software for that.

I did build an initial board, see picture below, but it was a pain to build with the XIAO on one side and the LoRa module on the back. Then I found the camera deep sleep current issue so the board could never be used as intended.

So I am looking at making the board just a bit longer so the XIAO and LoRa module are on the same side. Much easier build and then a fair bit of space on the back of the PCB for other components.

The workaround I have planned is to use an RTC to act as a power switch in the battery line. The host XIAO can then set power offs from seconds to days. Even if you dont routinely use this RTC power down, it could be used to briefly power the camera off and get back to the 2mA idle current. A prototype circuit does work and the setup then has a deep sleep current of 2uA.

1 Like

Hi @StuartsProjects ,

After our analysis, we would like to clarify the following:

According to the definition of low power consumption (sleep mode), the low power consumption values we tested were obtained by shutting down all software functionalities (such as the camera, SD card, etc.) and entering the corresponding sleep mode. Currently, the software support for disabling certain device functionalities in the Arduino environment for the ESP32 chip is not comprehensive enough. Therefore, the testing was conducted using ESP-IDF, actively disabling the functionalities relevant to the sleep modes to complete the testing. This forms the basis of our testing. If functionalities like the camera and SD card are enabled, the concept of “low power consumption” does not apply.

The purpose of showcasing the different low power consumption values for various peripherals in the Wiki is to illustrate the actual impact of connecting different peripherals in low power scenarios. Users can use this information to determine whether to connect specific hardware based on the magnitude of these impacts. However, it should not be considered as a reference for the power consumption of using functionalities such as the camera and SD card in practical scenarios.

I hope it’s helpful to you.

Thank you for the response.

Is it possible that the Sense board will be modified to at least provide the option of powering down the camera ?

It would be helpful to users if the Wiki information on current consumption reflected the practicalities. The stated deep sleep current with the camera fitted ony appears to apply if the camera is not used, and if its not used why would it be in place at all ?

Like I just mentioned. Currently, the software support for disabling certain device functionalities in the Arduino environment for the ESP32 chip is not comprehensive enough. The problems caused at the chip level have rendered us somewhat powerless.

According to the definition of low power consumption (sleep mode), low power values are obtained by disabling all software functionalities, such as the camera and SD card, and entering the corresponding sleep mode. Therefore, the concept of “low power consumption” does not apply if the camera is being used. One can only determine whether to connect specific hardware based on the extent of these power consumption effects from Wiki.

Hi, @Seeed_Seraphina would you please share a piece of code where you are able to power off the camera, using ESP-IDF, according to your tests? As SeeedStudio states a certain current consumption during deep sleep mode, I believe it would be appropriate that it also provides the methods used to achieve the results specified in the official datasheet.

Thank you very much.

1 Like