Author Topic: ESP32-S3-WROOM bare chip question  (Read 3651 times)

0 Members and 2 Guests are viewing this topic.

Offline grymoireTopic starter

  • Newbie
  • Posts: 8
  • Country: us
ESP32-S3-WROOM bare chip question
« on: November 06, 2022, 05:53:41 pm »
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 dreaded
Quote
Failed to connect to ESP32: Timed out waiting for packet header

This 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?
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6271
  • Country: es
Re: ESP32-S3-WROOM bare chip question
« Reply #1 on: November 06, 2022, 07:05:09 pm »


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:
« Last Edit: November 06, 2022, 07:19:27 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 
The following users thanked this post: grymoire

Online tooki

  • Super Contributor
  • ***
  • Posts: 12758
  • Country: ch
Re: ESP32-S3-WROOM bare chip question
« Reply #2 on: November 07, 2022, 09:33:14 pm »


The boot mode is set by IO0.
Set it to 0 to boot in download mode.
Set to 1 for normal boot.
Correct.

EN (enable) pin must be always connected to VDD(3V3). Otherwise the internal regulator will be off.
Absolutely 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.
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6271
  • Country: es
Re: ESP32-S3-WROOM bare chip question
« Reply #3 on: November 07, 2022, 10:31:04 pm »
Ooops, yes, you're right, I had a small confusion with other architectures :)

EN 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.


Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf