1

I'm Using an ESP32 - NodeMCU. One of the MCU's is acting weird upon boot, while at start I thought it was something to do with its sleep cycle. But, it seems that even on a minimal code as shown below, I get this message at the Serial output: Brownout detector was triggered

void setup()
{
  Serial.begin(9600);
  Serial.println("\nBegin");
  Serial.println(bootCounter);

  WiFi.begin("Xiaomi", "guy");

  while (WiFi.status() != WL_CONNECTED && millis())
  {
    delay(200);
    Serial.print(".");
  }
}

Edit 1: attaching MCU picture.

ESP32 NodeMCUCan someone please explain ?

Edit 2: A workaround stop alerting

2
  • Can you link to the actual board you are using?
    – Majenko
    Jul 5, 2020 at 8:36
  • @Majenko See edit 1
    – guyd
    Jul 5, 2020 at 10:29

6 Answers 6

6

Those boards have an inherent weakness in that they don't provide enough decoupling capacitance for the module.

Not all modules are quite the same, and some have more internal decoupling than others (not by design, just due to component tolerances).

I have found that unless you provide adequate decoupling of your own some modules work just fine and some don't. Some brown-out and some fail to flash.

For all my designs now I always provide both a 100nF and an 10uF capacitor right at the power pins of the module. However those boards don't provide anything like that.

You need to modify the board to add a capacitor (about 10uF) directly across the power and ground pins (pins 1[ground]-2 [3.3v]) of the ESP32 module. I like to use an 0805 MLCC capacitor as they fit nicely across the pins and are discrete, but they can be tricky for a novice to solder. So an electrolytic through-hole capacitor can be a simpler proposition (make sure you get the polarity right).

6
  • Since I was it with solar panel and a battery, those RTC variables are vital to survive a proper boot. Can you please add a diagram foradding capacitors?
    – guyd
    Jul 5, 2020 at 12:11
  • Not really. You just connect one side to the GND pin (pin 1) and the other to the 3.3V pin (pin 2).
    – Majenko
    Jul 5, 2020 at 12:18
  • 10uF and 100 nF in parallel ?
    – guyd
    Jul 5, 2020 at 12:39
  • No, you just need the 10uF.
    – Majenko
    Jul 5, 2020 at 12:51
  • 1
    I always add a cap when designing an ESP32 board. Adding it to all development boards can't hurt, that's for sure. For USB the on-board regulator may be a little weak, or your USB voltage may be a little reduced, maybe from a USB cable with too-thin wires.
    – Majenko
    Jul 5, 2020 at 18:49
4

I had the same problem. I found that solution in a forum on Github, which helped at once:

#include "soc/soc.h"
#include "soc/rtc_cntl_reg.h"
void setup(){
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
3
  • Yes, I use it too now
    – guyd
    Jun 26, 2021 at 20:25
  • Hey this work for me, thank you very much. even though i realized this is power issue, but It can be done with setup software :O May 6, 2022 at 19:56
  • It is not a solution, it just suppresses the warning and may lead to other issues. Like other answers, you should try changing the cable, fixing the solder, or adding capacitors. If nothing works then I would say go with this. I tried it but it started showing different errors. Mar 30 at 12:42
3

I came across the same issue on my experiments.

What sorted the issue for me was powering the ESP-32_CAM from the 5V pin on the programmer. Take the cable off the 3V and plug it into the 5V pin on the cam. Then use the jumper on the programmer to select the 5V.

I hope this makes sense and that it helps someone.

1

After some Tests i recognized, that the problem is between the miro-USB-connector to the Vin Pin. So i soldered a thin wire from Pin 5 of the USB-Connector (5V-Pin) to the Vin-Pin of The Dev-Board. And it works without Problems.

1
  • for me it happend using batteries for solar panel uses ( while it didn't happen some other boards on same setup )
    – guyd
    Jun 27, 2021 at 14:46
1

Swapping USB cable solved my issue of continuous brownout detector triggering.

I tried some above answers. Disabling brownout detector as suggested by Vahe Arakelyan helped on Blink sketch, but WiFi including sketches would still fail to run.

Then started to suspect HW and power failure. Did not soldering pins as suggested by user73106, but this made me notice voltage fluctuation. So swapped USB cable and this seemed to keep the voltage steady enough for good operation... It looks like some cable/connector fault may limit the current to allow some low power sketch to run but to fail on more current drawing sketch.

0

It could even be a software issue, i.e Code, if you use LedCWrite without its setup then it causes this issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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