2

I've designed a custom PCB which uses the ESP32-WROOM-32 module. I'm using arduino to help validate the board, and I am able to run very simple programs on it successfully (ex. serial echo, Blink, etc...)

Where I'm having trouble is running any Wifi programs on it. For example, when I load the Wifi Scan example program, I receive the following output.

rst:0x1 (POWERON_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:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6404
entry 0x400806b8
[W][esp32-hal-psram.c:30] psramInit(): PSRAM init failed!
[D][WiFiGeneric.cpp:332] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:332] _eventCallback(): Event: 2 - STA_START

Most times it just stops here, sometimes it will restart and repeat a few times. Occasionally it will cause a kernel and my Mac will restart.

Here is my schematic: PCB Schematic

U1 is the ESP32-WROOM-32 U4 is a CH340C USB to serial chip IC1 is a HT7833 LDO

Lat thing, I've looked at the logic levels on the bootstrapping pins and don't see anything out of the ordinary: GPIO 0: High GPIO 2: Low GPIO 4: Low GPIO 5: High GPIO 12: Low GPIO 15: High

I've been trying to troubleshoot this problem for the past three days and I'm stumped. Any help would be appreciated.

EDIT 1: Here's a picture of the o-scope on VCC. The voltage variance I see is 2.8v on the low end and 3.8v on the high end. enter image description here

EDIT 2: Capacitor shown on the output of IC1 are positioned extremely closely to U1. See picture: enter image description here

MikeJWms
  • 61
  • 6
  • Attach an oscilloscope to the 3.3V at the WROOM32 and see what it does when you access the WiFi. – JRE Sep 28 '20 at 07:54
  • Thanks for the tip @JRE. I just added a photo to my question. It doesn't seem like this voltage spike would cause a problem, no? – MikeJWms Sep 28 '20 at 08:36
  • Decoupling caps ? I can't see if you properly decoupled your IC with decoupling capacitors ? It seems you have some output capacitors on your VCC. But where are they on the layout ? they MUST be extremely close to each VCC pins of every IC. – Blup1980 Sep 28 '20 at 09:01
  • @Blup1980 good question. I just edited my original post with a screenshot of that section of the board layout. The capacitors on the output of IC1 are actually positioned right next to the VCC input pin of U1 (esp-32 module). – MikeJWms Sep 28 '20 at 09:14
  • 1
    In my experience, 50-100uF are necessary for stable operation. – asdfex Sep 28 '20 at 09:26
  • At a skim I didn't see comment on power supply capability. What current do you expect on WiFi and what will your psu source, Over 500 mA can happen on typical WiFi operation. How close to dropout is your regulator? ie how much dip can you tolerate? – Russell McMahon Sep 28 '20 at 11:16
  • reading the datasheet. 500mA or above is a requirement for the capability of the power supply. – Blup1980 Sep 28 '20 at 11:26
  • @Blup1980 Yes. "or above" is sometimes a very good idea if headroom is low. – Russell McMahon Sep 28 '20 at 11:28
  • What's the ultimate power source? It appears to be a battery, try running it on a good supply first. – Chris Stratton Sep 28 '20 at 14:54

1 Answers1

2

Thank you for all of the suggestions. I found that adding a 100uF electrolytic capacitor between gnd and VCC solved the problem. I'm also going to test some more powerful LDO's, but until they come in, the cap will work nicely.

MikeJWms
  • 61
  • 6