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)

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?

configsip: 0, SPIWP:0xee
mode:DIO, clock div:2
ho 12 tail 0 room 4
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 
␛[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
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

1 Like