Help with ESP32 custom board - brownout/panic on WiFi.start()
Posted: Thu Sep 23, 2021 5:17 am
Hi, I need some help with a custom PCB I've designed using the ESP-WROOM-32U chipset. Currently I have found that the board works fine with a 12V5A power supply, but triggers the brownout detector (or panics into a reboot loop with brownout detector disabled) when powered with a 24V3A power supply.
Some info on my board design:
- The ESP32 is powered from an LD1086DT33TR voltage regulator
- There is a 74LVCH8T245 level shifter connected to the ESP32 to shift signals to 5V for some external peripherals (the 5V power comes from an LD1086DT50TR voltage regulator on my board)
- There is a 470uF electrolytic capacitor decoupling the input power supply
- There are 4k7 resistors biasing my I2C bus on pins 21 and 22, and there is an SSD1306 OLED display connected to it
When measuring the voltage across the voltage regulator, I get values between 3.24V and 3.42V (granted, my multimeter is pretty crappy so the values might not be entirely accurate). As mentioned, the 24V3A power supply triggers the brownout detector when the board is powered only via the PSU but it works fine with the 12V5A supply. With the brownout detector disabled, I've found that the board panics when it reaches the WiFi.start() (esp_wifi_start) line.
Another important thing to note is that the board runs fine when my serial programmer is connected to it (i.e. extra power provided via computer USB through the programmer [ch341 based]) regardless of what PSU is connected to it. However, this isn't exactly a feasible option for me as the device has to run without being attached to a serial programmer and I need the 24V power for some stepper motors that I am driving via external driver boards controlled by the 5V signals).
Some info on my board design:
- The ESP32 is powered from an LD1086DT33TR voltage regulator
- There is a 74LVCH8T245 level shifter connected to the ESP32 to shift signals to 5V for some external peripherals (the 5V power comes from an LD1086DT50TR voltage regulator on my board)
- There is a 470uF electrolytic capacitor decoupling the input power supply
- There are 4k7 resistors biasing my I2C bus on pins 21 and 22, and there is an SSD1306 OLED display connected to it
When measuring the voltage across the voltage regulator, I get values between 3.24V and 3.42V (granted, my multimeter is pretty crappy so the values might not be entirely accurate). As mentioned, the 24V3A power supply triggers the brownout detector when the board is powered only via the PSU but it works fine with the 12V5A supply. With the brownout detector disabled, I've found that the board panics when it reaches the WiFi.start() (esp_wifi_start) line.
Another important thing to note is that the board runs fine when my serial programmer is connected to it (i.e. extra power provided via computer USB through the programmer [ch341 based]) regardless of what PSU is connected to it. However, this isn't exactly a feasible option for me as the device has to run without being attached to a serial programmer and I need the 24V power for some stepper motors that I am driving via external driver boards controlled by the 5V signals).