Failed to connect to ESP32: No serial data received

Hello everyone,
I recently have designed and ordered a custom PCB with an ESP32-WROOM-32D on it. Now whenever I try to upload code i get this error message: A fatal error occurred: Failed to connect to ESP32: No serial data received. I am using a CP2102 USB-to-TTL Module for Programming, and have installed the necessary drivers for it. I am guessing my schematic is wrong but to me it looks fine. Anyone know what to do?
(Program I want to upload is empty just for testing)
Thank’s in advance :slight_smile:

(Drive Link because i can’t paste more than one picture)
https://drive.google.com/drive/folders/1Zz8rNPlDgqILsbdzHvDIoprR6uHX9AWS?usp=sharing

Usage of IO12 and IO15 was intentional?

Yes but they are disconnectable, and right now there is only the ESP32 and the necessary voltage regulators on the PCB

Open the serial monitor in PlatformIO (baud is already correct at 115200 baud) and press the reset button (or power cycle the board). Is there any output at all? If not, also after switching RX and TX?

That is a good Idea. I will test this after i get back to my workplace. Right now I am in Transit so I can’t check.

Ok so I have done that now and from what I can see it tries to go into boot mode?

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00     
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5656
load:0x40078000,len:0
ho 12 tail 0 room 4
load:0x40078000,len:13844
entry 0x40078fc4
␛[0;32mI (31) boot: ESP-IDF v3.0.7 2nd stage bootloader␛[0m
␛[0;32mI (31) boot: compile time 09:04:31␛[0m
␛[0;32mI (31) boot: Enabling RNG early entropy source...␛[0m
␛[0;32mI (36) boot: SPI Speed      : 40MHz␛[0m
␛[0;32mI (40) boot: SPI Mode       : DIO␛[0m
␛[0;32mI (44) boot: SPI Flash Size : 4MB␛[0m
␛[0;32mI (48) boot: Partition Table:␛[0m
␛[0;32mI (51) boot: ## Label
  Usage          Type ST Offset   Length␛[0m
␛[0;32mI (59) boot:  0 phy_init       
  RF data          01 01 0000f000 00001000␛[0m
␛[0;32mI (66) boot:  1 otadata        
  OTA data         01 00 00010000 00002000␛[0m
␛[0;32mI (74) boot:  2 nvs
  WiFi data        01 02 00012000 0000e000␛[0m
␛[0;32mI (81) boot:  3 at_customize   
  unknown          40 00 00020000 000e0000␛[0m
␛[0;32mI (88) boot:  4 ota_0
  OTA app          00 10 00100000 00180000␛[0m
␛[0;32mI (96) boot:  5 ota_1
  OTA app          00 11 00280000 00180000␛[0m
␛[0;32mI (103) boot: End of partition 
table␛[0m
␛[0;32mI (108) boot: No factory image, trying OTA 0␛[0m
␛[0;32mI (113) esp_image: segment 0: paddr=0x00100020 vaddr=0x3f400020 size=0x20614 (132628) map␛[0m
␛[0;32mI (168) esp_image: segment 1: paddr=0x0012063c vaddr=0x3ffc0000 size=0x02d7c ( 11644) load␛[0m
␛[0;32mI (173) esp_image: segment 2: paddr=0x001233c0 vaddr=0x40080000 size=0x00400 (  1024) load␛[0m
␛[0;32mI (175) esp_image: segment 3: paddr=0x001237c8 vaddr=0x40080400 size=0x0c848 ( 51272) load␛[0m
␛[0;32mI (205) esp_image: segment 4: paddr=0x00130018 vaddr=0x400d0018 size=0xdfc80 (916608) map␛[0m
␛[0;32mI (526) esp_image: segment 5: paddr=0x0020fca0 vaddr=0x4008cc48 size=0x02504 (  9476) load␛[0m
␛[0;32mI (531) esp_image: segment 6: paddr=0x002121ac vaddr=0x400c0000 size=0x00064 (   100) load␛[0m
␛[0;32mI (542) boot: Loaded app from partition at offset 0x100000␛[0m       
␛[0;32mI (542) boot: Disabling RNG early entropy source...␛[0m
1.1.3
I (663) wifi: wifi firmware version: 703e53b
I (664) wifi: config NVS flash: enabled
I (664) wifi: config nano formating: disabled
I (674) wifi: Init dynamic tx buffer num: 32
I (674) wifi: Init data frame dynamic 
rx buffer num: 32
I (674) wifi: Init management frame dynamic rx buffer num: 32
I (680) wifi: wifi driver task: 3ffdee34, prio:23, stack:3584
I (685) wifi: Init static rx buffer num: 10
I (688) wifi: Init dynamic rx buffer num: 32
I (693) wifi: wifi power manager task: 0x3ffe369c prio: 21 stack: 2560      
I (737) wifi: mode : softAP (c8:2b:96:a0:14:9d)
I (745) wifi: mode : sta (c8:2b:96:a0:14:9c) + softAP (c8:2b:96:a0:14:9d)   
I (748) wifi: mode : softAP (c8:2b:96:a0:14:9d)
I (752) wifi: set country: cc=CN␀ schan=1 nchan=13 policy=1

So what is the output when you connect IO0 to GND (with a wire) and power-cycle it?

If you then close the serial monitor and use the PlatformIO “Upload” button, does the the upload succeed?

Success :grinning:. Thank you very much for your time and help max :+1: . I hope the rest of the project goes smoothly now.

You might want to consider adding an auto-reset circuit so that you don’t have to do the IO0-GND → Reset sequence to boot into bootloader mode, as described in many resources like

https://www.studiopieters.nl/esp32-auto-program-reset/

1 Like

Hi All,
i would like ask help me to upload the program. i have an esp32-s3wroom-1 dev modul (aliexpress)
i am a beginner for platformio too.
few week working right the upload but now i dont have any idea about what can i doing.
i try to press different method the buttons reset and boot but not started the upload.

LDF: Library Dependency Finder → https://bit.ly/configure-pio-ldf
LDF Modes: Finder \~ chain, Compatibility \~ soft
Found 36 compatible libraries
Scanning dependencies…
Dependency Graph
|-- Adafruit AS5600 Library @ 1.0.0
|-- Adafruit Unified Sensor @ 1.1.15
|-- Wire @ 2.0.0
Building in release mode
Retrieving maximum program size .pio/build/esp32-s3-devkitc-1/firmware.elf
Checking size .pio/build/esp32-s3-devkitc-1/firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM:   \[=         \]   5.9% (used 19240 bytes from 327680 bytes)
Flash: \[=         \]   9.0% (used 301465 bytes from 3342336 bytes)
Configuring upload protocol…
AVAILABLE: cmsis-dap, esp-bridge, esp-builtin, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port…
Using manually specified: /dev/ttyACM0
Uploading .pio/build/esp32-s3-devkitc-1/firmware.bin
esptool.py v4.9.0
Serial port /dev/ttyACM0
Connecting…

A fatal error occurred: Failed to connect to ESP32-S3: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
\*\*\* \[upload\] Error 2
========================================= \[FAILED\] Took 11.13 seconds ======  

i remove all circuits only the esp32-s3 devkitc1.
could you please support me step by step.? or maybe private email discuss.

Can you link to it? Is it this one?

Note that it has two USB-C ports. Try using the one labeled “UART”. Remove any upload_port = .. line in your platformio.ini if you have it, to enable auto-detection of the port. You can also explicitly put the board in bootloader mode by holding down the BOOT button, pressing and releasing the RST button (while BOOT is pressed), then releasing the BOOT button.

hi, happy new year!

thank you very much for your respond.
yes i using this type. i used to right port for upload the program.
[env:esp32-s3-devkitc-1]

platform = espressif32

board = esp32-s3-devkitc-1

;upload_speed = 4800

framework = arduino

lib_deps =

adafruit/Adafruit AS5600 Library@^1.0.0

adafruit/Adafruit Unified Sensor@^1.1.15

the buttons rst and boot different pressing tried some time. what time need to release buttons when connected the usb or power on? or when started the program upload ? or during the try to connecting the platformio to esp32 and connecting …….. 1uF but not changing. between rst and gnd
the circuit all items removed from esp32
the next circumstance is that warm the cover of processor.
the next esp32 i afraid to trying :slight_smile:
can i have your email address to continue my support discuss?
my address is fatter2323@gmail.com

If you plug the USB-C cable into the other USB-C port (labeled “USB” on the backside) and use the regular Arduino IDE to upload via the USB bootloader, does it work?

In the Arduino IDE “tools” menu:

these settings does mean the upload via USB bootloader?

the other esp32 yes does it working with these setting! :-)))) hurry!!!

the other (what is warm temperature a few seconds)did not uploaded so i think this is dead. Thank you very much your support.
can i try to go to platformio again? or need to any parameter settings in the platform.ini? i mean upload speed or any other

Hello,
my problem is actual again.
i use platformio in vc code i create a project compiled is fine without error. i want to upload into my esp32-s3-devkitc but only waiting the port.
after tried a few times but can not upload. i pressing the en and boot buttons but not happen nothing.
i doing into procedure arduino ide what your advised and the uploaded working success (only blink).
could you tell me what i doing wrong in platformio?
i now trying to create program in the arduino ide.
thank you in advance!