Hi all,
I have ordered a custom pcb via a manufacturer that is built around an ESP32-WROOM-32E. The PCB has a jtag connector (6 pins and 8 pins) to program the ESP32.
I cannot seem to manage to get the chip programmed. It keeps erroring on "no serial data received".
I have connected the PCB via the 6-pin jtag-connector to an esp32-prog board, which is then connected to my Macbook.
I have verified that the wiring is correct. In attachment there is a screenshot of the pcb layout, and I have verified that this is indeed the case on the pcb itself for the GND, VCC, IO0, EN, RX, and TX pins. These are the only ones I need for the esp-prog board.
I have also verified that the esp-prog board works by flashing a ESP32-DevKitM-1 with it (after removing the resistors from the TX and RX pins on the board).
I have tried holding the boot button and pressing the reset button on the esp-prog board, but with no success.
I'm a bit out of my depth here, so any help to debug this issue is greatly appreciated.
Cannot flash custom PCB
-
- Posts: 9708
- Joined: Thu Nov 26, 2015 4:08 am
Re: Cannot flash custom PCB
Checked the sanity of your board already: is your 3.3V rail at the right level, are EN and IO0 at the levels you expect them to be? If you use a serial terminal program on the serial port that the esp-prog provides and reset the ESP32, do you see any bootup messages? Did you happen to swap TxD and RxD?
-
- Posts: 126
- Joined: Tue May 17, 2016 8:12 pm
Re: Cannot flash custom PCB
From personal experience same problem, the RESET (EN) pin does not need a Cap. Take out the Cap C11 and it will work, without any PCB change. Try it.
-
- Posts: 9708
- Joined: Thu Nov 26, 2015 4:08 am
Re: Cannot flash custom PCB
It absolutely does need that cap for reliable, reproducible functioning. The ESP32 doesn't get a proper reset unless there's something that makes sure the reset pin is low while the power supply comes up, which here is that cap. Not having that leads to undefined behaviour on power-on. Not having that cap there may have worked for you, with the specific ESP32 and power supply and other environment variables you have, but there is no way to guarantee that that's also the case for random other designs.rsimpsonbusa wrote: ↑Mon Oct 16, 2023 1:39 amFrom personal experience same problem, the RESET (EN) pin does not need a Cap. Take out the Cap C11 and it will work, without any PCB change. Try it.
-
- Posts: 126
- Joined: Tue May 17, 2016 8:12 pm
Re: Cannot flash custom PCB
Thanks for the explanation. This issue happened to me with AMS1117 and ESP32-Wrom, ESP32S, ESP32C, so maybe something in all my PCB designs is at fault. Ill check it out.
Regards.
Regards.
Re: Cannot flash custom PCB
I've been looking into this and the main challenge is to generate 3.3V from 5V using an LDO. If you look at the loss over the drop out voltage you will find that there is almost nothing left for 'regulation' the 3.3V are provided just by the dropout voltage. If you then have a current surge caused e.g. by flashing or WiFi events, I have experienced problems. Since I design a >47µF cap as close as possible to the Vdd pin of all designs using ESP modules with LDO and for new designs I am using stepup/down switching regulators.
Re: Cannot flash custom PCB
Hi all,
I have checked the sanity of the board with some help from a kind stranger on IRC, and it turned out that the reset switch was soldered wrongly on the board. I removed it and then the ESP booted up just fine.
To recap, the EN pin was reading 2.4v when the ESP32 was connected. This should have been 0.
Thanks all for thinking along, I appreciate it.
I have checked the sanity of the board with some help from a kind stranger on IRC, and it turned out that the reset switch was soldered wrongly on the board. I removed it and then the ESP booted up just fine.
To recap, the EN pin was reading 2.4v when the ESP32 was connected. This should have been 0.
Thanks all for thinking along, I appreciate it.
-
- Posts: 126
- Joined: Tue May 17, 2016 8:12 pm
Re: Cannot flash custom PCB
EN should be LOW to RESET and HIGH to boot. RU sure?