ESP32-S3-WROOM bare chip question - Page 1
Forum section: electronics / beginners

author: grymoire
author_rank: Contributor
timestamp: November 06, 2022, 05:53:41 pm
content: I bought several ESP32-S3-WROOM modules to be soldered onto a carrier board. Some have 4MB and some have 16MB. The trouble is - the aliexpress vendor didn't lable the chips so I don;t know which is which. And I want to know before I solder them on.I have a FlexyPin adaptor (https://www.solder.party/docs/flexypin/adapters/) so I can connect/test to the board before committing, but I'm having trouble getting esptool to work. When I try getting the chip-id or actually any connection to the chip, and I get the dreadedQuoteThis is a bare chip and a USB-UART adaptor. I've been trying to fix this but I'm getting frustrated, and I'm not sure I understand the proper mechanism. I've tried several pull-up/pull-down variations. At this point - I want to get the Flash size, and make sure the chip isn't ruined. What's the minimum setup I need? Do I need to put the chip into a special mode (e.g. add a boot button)?Currently I'm using a DSD TECH USB to TTL Serial Adapter with FTDI FT232RL, and have it set to 3.3V. I hooked it up to pins GND, 3.3V, TXDO, RXDO using the power/ground/CTS/RTS pins.Any pointers?

author: DavidAlfa
author_rank: Super Contributor
timestamp: November 06, 2022, 07:05:09 pm
content: The boot mode is set by IO0.Set it to 0 to boot in download mode.Set to 1 for normal boot.EN (enable) pin must be always connected to VDD(3V3). Otherwise the internal regulator will be off.So connect IO0 to gnd, turn on the ESP, open ESP32 downlad tool, choose develop/uart, select the serial port and click START with no files.You should get something like this:

author: tooki
author_rank: Super Contributor
timestamp: November 07, 2022, 09:33:14 pm
content: Quote from: DavidAlfa on November 06, 2022, 07:05:09 pmCorrect.Quote from: DavidAlfa on November 06, 2022, 07:05:09 pmAbsolutely not.The EN pin needs to be correctly sequenced for reliable programming. In fact, most cases of failure to program are because EN is taken high too soon, before IO0 has been pulled low. This is why a common fix is to place a 1-10μF cap from EN to ground, so that it is kept low a bit longer.The correct sequence to reliably enter programming mode is:1. Take EN low.2. Take IO0 low.3. Take EN high.4. Take IO0 high.The correct circuit for EN is a pull-up resistor to 3V3, and a cap to ground. If you tie EN directly to your 3V3 supply, then you have to manually hold IO0 low (e.g. holding the BOOT button) low while powering up. If you want to be able to do the normal thing of allowing the programmer software (and interface) to reset a running ESP32 and upload new firmware, then it has to be via a pull-up resistor.The transistors on an ESP32 dev kit or on the ESP-PROG programmer serve to convert the DTR and RTS serial handshaking lines into a sequence on EN and IO0 (and on some boards, they also have it control IO2, the other boot mode pin.) See the attached ESP32-LyraT schematic for how that variant looks.

author: DavidAlfa
author_rank: Super Contributor
timestamp: November 07, 2022, 10:31:04 pm
content: Ooops, yes, you're right, I had a small confusion with other architecturesEN is basically /RST, active low reset.So connect 10k pullup resistors to EN and IO0.To set download mode:- Hold IO0 at low level.- Momentary turn EN low to reset the system.- System is now in download mode, release IO0.