ESP32 FireBeetle development board current consumption too high
![userHead](https://dfimg.dfrobot.com/dfPortrait2.png)
Hello. I have purchased ESP32 FireBeetle 4.0 development board in hopes to to reach ultra low power consumption during deep sleep mode.
I have tested it on esp-idf v5.0.3 , example project can be found here:
https://github.com/krupis/ESP32_Deep_Sleep
All I am doing, is waiting for 5 seconds, then starting deep sleep using:
esp_deep_sleep_start();
The results are as following:
Wake up peak → 50mA
After waking up fully → 28mA
After going to sleep → 0.4mA
![](https://dfimg.dfrobot.com/64b92114aa9508d63a42fc77/makelog/9c91e8122ff00bd04c236b951ca0f072.png)
I would like to know how to achieve power consumption in 10-20uA range as suggested in dfrobot specification for the development board.
I have retested it with different measurement scope. The results are 12uA during deep sleep. I can confirm that deep sleep works as expected! It was faulty measurement scope.
![userHeadPic](https://dfimg.dfrobot.com/dfPortrait2.png)
To achieve ultra-low power consumption in the range of 10-20uA during deep sleep mode on the ESP32 FireBeetle 4.0 development board, you need to take several steps to optimize the power settings and configuration. Here are some tips to help you reduce the power consumption:
The power management and deep sleep functionality in ESP-IDF v5.0.3 might not be as optimized as in older versions. Try using ESP-IDF version 4.x or lower, as they are known to have better power management features.
Ensure that all unnecessary peripherals, such as GPIOs, sensors, and interfaces, are properly disabled or put into low-power modes before entering deep sleep. Also, make sure that no GPIOs are floating, as this can lead to higher power consumption.
Variables that need to retain their values across deep sleep should be stored in RTC Fast Memory (RTC_DATA_ATTR) to preserve their state during sleep.
Properly configure the power modes and clocks for different components, such as Wi-Fi, Bluetooth, and CPU. Turn off Wi-Fi and Bluetooth before entering deep sleep mode.
Some power leakage might occur due to the onboard voltage regulators or other components. To minimize leakage, you can disable the onboard voltage regulators and other components not in use.
If possible, reduce the deep sleep duration. Longer deep sleep periods may allow more time for power leakage.
The power consumption may vary depending on the power source. Try using an external power supply or battery to achieve lower power consumption.
If you have any external components or sensors connected to the board, ensure that they are properly powered down or put into low-power states during deep sleep.
Review your code thoroughly for any potential bugs or issues that might prevent the system from entering deep sleep mode correctly.
Make sure that all debugging output (e.g., UART, logging) is disabled during deep sleep to avoid unnecessary power consumption.
Confirm the power consumption using a physical ammeter or oscilloscope. Sometimes, power measurement through software might not be accurate due to various factors.
![userHeadPic](https://dfimg.dfrobot.com/dfPortrait2.png)
Thanks for the suggestions. I tried to use the simplest possible example code from Arduino IDE to test deep sleep funcitonality. void setup() {
pinMode(2,OUTPUT);
digitalWrite(2,HIGH);
delay(1000);
digitalWrite(2,LOW);
ESP.deepSleep(5000000);
}
void loop() {
}Since I do not configure/use wifi/ble or any other gpio's and peripherals, I dont think I need to disable anything.
I am getting the same power consumption (about 400uA during deep sleep and about 40mA in active mode. I am certain there is some hardware issue involved. It would be very interesting to hear if DFRobot themselves have managed to get 10-20uA consumption for this particular development board and could provide ideas/instructions on how to achieve this
Hi!
In the example, entering the low power consumption mode can only support Deep_sleep mode. If you using this example, the power consumption of FireBeetle Board-ESP32 is about 40uA. If you are familiar with Linux programming, you can read the ESP-idf source code for deeper development.
void setup() {
pinMode(D9,OUTPUT);
digitalWrite(D9,HIGH);
delay(1000);
digitalWrite(D9,LOW);
ESP.deepSleep(5000000); }
void loop() {
}
![userHeadPic](https://dfimg.dfrobot.com/dfPortrait2.png)
Hello. I have tested this code and the consumption is 400uA during deep sleep. Are you sure you didint miss an extra “0”. You mentioned 40uA but its 400uA
Additionally, could you confirm what measuring tool did you use to measure the current consumption?