Page 1 of 1

ESP32E on custom PCB, can't get UART to work for flashing

Posted: Tue Aug 15, 2023 8:39 pm
by SneakyPackets
Hey everyone, full disclosure I am a hobbyist and very new to PCB design and the ESP so maybe I just made a dumb mistake. I designed a PCB that has a ESP32-WROOM-32E installed on it. I have two headers; 1x 4 pin UART header (GND/RX/TX/5V) and 1x 2 pin header (IO0/GND).

GND pins map to GND
5V pin goes into my voltage regulator (and provides 3.3 to the ESP)
RX maps to RX (pin 34)
TX maps to TX (pin 35)


I just took delivery of my boards yesterday and so far haven't been able to get connectivity with any of them via my FTDI cable. I have tried several things:

- Just straight connecting to the UART and seeing if there was any serial output (at varying baud rates 115200, 962100, 9600)
- Placing the jumper on the 2 pin header to put it into download mode
- Applying power with the jumper
- Applying power with the jumper, then removing it
- Connect EN to GND while everything was connected and the jumper was on (GND to IO0) to reset it
- Connect EN to GND while everything was connected and the jumper was on (GND to IO0) to reset it, then quickly removing the jumper


I can't get anything and I have had varying errors come back from esptool while trying to erase flash:

- Invalid head of packet (0x00): Possible serial noise or corruption
- Packet content transfer stopped (received 40 bytes)

Each of those messages have come in several variations with different byte amounts/locations.

Here are images of the schematic and PCB at relevant locations for reference

https://imgur.com/a/u6Vw3jG


I also have checked/verified continuity and voltage as well

Re: ESP32E on custom PCB, can't get UART to work for flashing

Posted: Wed Aug 16, 2023 6:48 am
by ESP_Sprite
You cannot leave EN unconnected. You must use a RC network to get a proper power-on signal. See the hardware design guidelines for more info (although be aware that it contains a fair amount of stuff you don't need to worry about as you're using a module), and you can always refer to the schematics of our devboards (e.g. the devkitc) to copy/paste stuff from.

In your particular case, bodge an 10K resistor from 3.3V to EN and an 1uF capacitor from EN to GND to fix that, then try again.