WROOM-ESP32 Custom PCB Troubles
Posted: Thu Apr 02, 2020 3:03 am
Hey guys,
I'm using a custom designed PCB for a project, but it seems I'm nearly killing every ESP32 module that is placed on there. The behaviour is extremely sporadic, but I'll do my best to explain everything in detail.
Here is my schematic and PCB on Altium's online viewer. I can provide the files if needed for troubleshooting.
My circuit is far from complex, and I've successfully built it on a breadboard using components matched as closely as possible to my final design. I've taken the module that I used on the breadboard for days, and watched it die on the PCB within 30 minutes.
Issues that I'm facing:
Many of my tests have been a simple serial monitor programs, so no power-intensive tasks are being executed. Though, for one task, the ESP hosted a webserver which I could toggle a pin high/low over WiFi. This worked perfectly for days on a breadboard, as stated earlier, but then failed once on a PCB. The ESP's Tx pin was 'stuck' at 0.3V, and was no longer communicating over serial. Even with the 'dead' pin, the module appeared to continue working correctly, since it was still connecting to WiFi, and I was still able to toggle the pin.
I am absolutely baffled with these issues.
If anyone has any questions, feel free to ask, and I'll try to respond quickly with as much detail as possible.
I'm using a custom designed PCB for a project, but it seems I'm nearly killing every ESP32 module that is placed on there. The behaviour is extremely sporadic, but I'll do my best to explain everything in detail.
Here is my schematic and PCB on Altium's online viewer. I can provide the files if needed for troubleshooting.
My circuit is far from complex, and I've successfully built it on a breadboard using components matched as closely as possible to my final design. I've taken the module that I used on the breadboard for days, and watched it die on the PCB within 30 minutes.
Issues that I'm facing:
- I can't seem to hold my enable pin high. I'm using the recommended 10kΩ resistor, but I've seen 2.7V dropped across it. I even tried a 100Ω resistor, and still witnessed the enable pin hold 'low' at times. Sometimes, my program will run for upwards of 20 mins before resetting, other times it's stuck in a bootloop.
- The Rx and Tx pins 'burn out'. This has been my biggest issue; if I can't upload code to the device, it's useless. On multiple modules, the Rx and/or Tx pins are held at a steady 0.3-0.5V.
Many of my tests have been a simple serial monitor programs, so no power-intensive tasks are being executed. Though, for one task, the ESP hosted a webserver which I could toggle a pin high/low over WiFi. This worked perfectly for days on a breadboard, as stated earlier, but then failed once on a PCB. The ESP's Tx pin was 'stuck' at 0.3V, and was no longer communicating over serial. Even with the 'dead' pin, the module appeared to continue working correctly, since it was still connecting to WiFi, and I was still able to toggle the pin.
I am absolutely baffled with these issues.
If anyone has any questions, feel free to ask, and I'll try to respond quickly with as much detail as possible.