This is an error that often occurs with the ESP32-cam due to the voltage being lower than the standard value set, which is usually set at <2.4v. This error will be notified and the chip will automatically reset itself.
One cause of the voltage dropping to the point of triggering this error is insufficient power supply to the device, such as using USB from a computer, which typically provides a power supply of no more than 500mA or may even be as low as 250mA in some computer models. Therefore, the ESP32-cam, which already has a higher current consumption rate than the ESP32 Dev module, may not have enough electrical power to use, causing the voltage released from the regulator to drop.
The best solution is to add a 5V power supply to provide enough power to the regulator on the ESP32-cam.
However, we can also prevent this error with software by disabling the Brownout detector. Please note that this method only prevents the error from being displayed and prevents the chip from resetting, but it may only solve the problem in some cases.
To do this, follow these steps:
#include "soc/soc.h"
#include "soc/rtc_cntl_reg.h"
void setup() {
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable detector
//โค้ดอื่น ๆ
}
Hopefully, this solution (temporary) will help those who use a laptop or PC to power their ESP32-cam via USB to test something.
Source: https://iotespresso.com/how-to-disable-brownout-detector-in-esp32-in-arduino/