ESP32-S3 native USB does not work

jessevdz
Posts: 1
Joined: Thu Aug 17, 2023 6:14 am

ESP32-S3 native USB does not work

Postby jessevdz » Thu Aug 17, 2023 6:21 am

I get code 43 usb device descriptor failed when I plug in my custom ESP32-S3 board.
Native USB does work on a esp32-s3-devkitc-1, so I transplanted the module to my custom board.
Now the custom board still does not work, but the devkit does, indicating a hardware issue.
It seems so simple: IO19 as D-, IO20 as D+. 3V3 is present via an LDO from the 5V usb power.
Uploading via UART is possible. Layout snippet is attached. Swapping D-/D+ does not work.
Are there strapping pins somehow related to this issue that I am unaware of?
esp_routing.png
esp_routing.png (275.75 KiB) Viewed 1333 times

ESP_Sprite
Posts: 9730
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32-S3 native USB does not work

Postby ESP_Sprite » Thu Aug 17, 2023 7:21 am

Nope, conceptually I can't see anything you may have done wrong. Can you post more info, e.g. your schematic?

RandomInternetGuy
Posts: 52
Joined: Fri Aug 11, 2023 4:56 am

Re: ESP32-S3 native USB does not work

Postby RandomInternetGuy » Tue Aug 22, 2023 9:02 am

Aren't there fuses involved in this process? Once you've blown them to, say, work with booting from UF2/DFU, native USB goes away, I think.

Just as something additional to check, have you perhaps reprogrammed the E-fuses?

As a sanity check, my ESP-32S3 board is returning mostly 0's except for the things I'd expect to be non-zero from the factory.

Code: Select all

✗ espefuse.py --port $PLATFORMIO_UPLOAD_PORT  dump

espefuse.py v4.6.2
Connecting....
Detecting chip type... ESP32-S3
BLOCK0          (                ) [0 ] read_regs: 00000000 00000000 0000d1f5 00000000 00000100 00000000
MAC_SPI_8M_0    (BLOCK1          ) [1 ] read_regs: [ CENSORED ]
BLOCK_SYS_DATA  (BLOCK2          ) [2 ] read_regs: [ CENSORED ]
BLOCK_USR_DATA  (BLOCK3          ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY0      (BLOCK4          ) [4 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY1      (BLOCK5          ) [5 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY2      (BLOCK6          ) [6 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY3      (BLOCK7          ) [7 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY4      (BLOCK8          ) [8 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_KEY5      (BLOCK9          ) [9 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BLOCK_SYS_DATA2 (BLOCK10         ) [10] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

BLOCK0          (                ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000
EFUSE_RD_RS_ERR0_REG        0x00000000
EFUSE_RD_RS_ERR1_REG        0x00000000

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 119 guests