I have an ESP-WROOM-32 and I'm using Arduino IDE to push code on it. My ESP is powered via 2 AA battery and got one power supply problem.

It works well on new battery but after a bit, I will always get this error repeatly :

ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:812 load:0x40078000,len:0 load:0x40078000,len:11584 entry 0x40078a60

Brownout detector was triggered

So, I know that it's possible to disable that feature in ESP-32. My question is how to do it ?

What I have done that didn't work :

Add this code on my Arduino IDE :

#include "soc/soc.h"
#include "soc/rtc_cntl_reg.h"
setup(){
    WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector    
}

Change Arduino\hardware\espressif\esp32\tools\sdk\sdkconfig with :

CONFIG_BROWNOUT_DET=                //previous was "=y"
CONFIG_BROWNOUT_DET_LVL_SEL_0=      //previous was "=y"
CONFIG_BROWNOUT_DET_LVL_SEL_1=
CONFIG_BROWNOUT_DET_LVL_SEL_2=
CONFIG_BROWNOUT_DET_LVL_SEL_3=
CONFIG_BROWNOUT_DET_LVL_SEL_4=
CONFIG_BROWNOUT_DET_LVL_SEL_5=
CONFIG_BROWNOUT_DET_LVL_SEL_6=
CONFIG_BROWNOUT_DET_LVL_SEL_7=
CONFIG_BROWNOUT_DET_LVL=           //previous was "=0"
  • 2
    Why do you want to disable it? It's there for a reason: Your batteries are too flat to reliably power the ESP-32. – Majenko Aug 29 at 15:33
  • Because the manufacturer of the device told me to do it, but he's using ESP-IDF and I prefer to code with Arduino – Gazouu Aug 29 at 15:42
  • What kind of batteries are you using? – Majenko Aug 29 at 15:44
  • I'm using 2 AA batteries each 1.5V – Gazouu Aug 29 at 16:05
  • I asked what kind, not what size. Alkeline? Zinc Carbon? NiMH? – Majenko Aug 29 at 16:06

For me brownout issue was solved by removing the esp32 from Arduino IDE board manager + removing files from disk and use install procedure "Using Arduino IDE with the development repository" - https://github.com/espressif/arduino-esp32/

I guess it will use newer version of arduino-esp32 that has some brownout protection due to CONFIG_REDUCE_PHY_TX_POWER being activated by default. Also you should probably learn how to decrease wifi power + deep sleep for longer battery usage.

New contributor
Cipi Bad is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.