Page 1 of 1

ESP32-S3 SoC minimal pcb design

Posted: Sat Jan 06, 2024 6:36 pm
by Pirmuggel
Hello,

I have a problem with my own created pcb.

IMG_2972.png
IMG_2972.png (440.23 KiB) Viewed 45064 times
This is my pcb design


Explanation:
  • ESP32-S3 SoC
  • 5V to 3.3V with MCP1700
  • USB with D+ and D- to GPIO19/GPIO20
  • 40MHz Crystal to XTAL_N and XTAL_P
  • R2 is my boot-button, I solder the pads together if I need to enable the boot-mode
  • CHIP_PU pullup with R1 to enable the chip
  • 3.3V to all VDD-Pins except VDD_SPI
Components:
  • ESP32-S3FN8
  • C2 and C3 with 8pF
Problem:
When I connect the ESP32-S3 to my computer via USB, it is not recognized. It does not appear as a new USB connection, even though the chip should be in boot mode.

I reset the Chip by connecting the CHIP_PU pin to GND.
During reset, it uses 9mA of power, but once reset, it only uses 6mA. This low power consumption indicates that the chip is not turned on. Normally it would use more like 50-200mA, right?


What could be the solution to this problem? Are there any missing components or connections required to power up the chip?
Thank you for your help!

Pirmin

Re: ESP32-S3 SoC minimal pcb design

Posted: Sun Jan 07, 2024 8:21 pm
by ESP_Sprite
Not sure how you got HTML in your post, but the board doesn't support that.

Re: ESP32-S3 SoC minimal pcb design

Posted: Mon Jan 08, 2024 1:04 pm
by ESP_Sprite
'Minimal' is an understatement here, you're missing lots of things the hardware design guidelines tell you to do.
- MCP1700 only supports up to 250mA, ESP chips need >=500mA of current capability. This means your chip will likely brown out if it tries to do anything that draws a bit more current.
- Reset needs a RC network for a proper power-on reset
- Your power supply decoupling and antenna impedance matching are nonexistent. Don't expect to get good RF performance, and operating the ESP32 in this fashion may actually be technically illegal.
- VDD_SPI needs a decoupling cap

That all doesn't quite explain why you're not seeing an USB device; even in a non-optimal situation like this I think that should work OK. Things to check:
- Check your power rails. 3.3V OK, and does it make it to the chip?
- Scope out the crystal. Can you see it oscillating at 40MHz?
- Check pin 49 (U0TXD) for a serial signal. If the chip boots, it should spit out serial data there.

Re: ESP32-S3 SoC minimal pcb design

Posted: Thu Jan 11, 2024 12:07 pm
by JohnnyZ
Are you using USB-C? If yes then you need 5.1k resistors on both CC lines.

Re: ESP32-S3 SoC minimal pcb design

Posted: Fri Jan 12, 2024 8:18 am
by Pirmuggel
Thank you for all your responses. I tried a few things but nothing worked.

Things I tried
  • adding a RC circuit for CHIP_PU
  • Powering the board with external 3.3V
  • Rechecked if D+ and D- are correct and switched the connections for testing purposes
  • TX check: sometimes I receive on resetting a short trash signal like “ÿùï” (or similar) - baud rate on 115200
Are you using USB-C? If yes then you need 5.1k resistors on both CC lines.
Yes I am using USB type C but I have experience with it and do have the 5.1k resistors. I get the 5V USB power from my power supply and my laptop so I assume that the usb circuit is correct. Additionally I tried with soldering a USB type A cable to the connections but still no signal.
IMG_0234.jpeg
IMG_0234.jpeg (114.71 KiB) Viewed 43445 times
IMG_0235.jpeg
IMG_0235.jpeg (275.73 KiB) Viewed 43445 times
This is my pcb board. On the back side is the ESP32-S3 Chip
  • The added C4 for the RC circuit has 100pF
  • C3 and C4 are doubled
  • I checked all pcb connections and they are connected
  • Info: I removed the antenna but I don’t see why this would affect the chip from waking up
  • I also tried with another chip to rule out a defect

Re: ESP32-S3 SoC minimal pcb design

Posted: Fri Jan 12, 2024 9:08 am
by ESP_Sprite
The fact that you don't see anything sane on the TX pin means you have a general startup issue: either power, reset, or 40MHz crystal issues. USB will not work until you fix that, so you can disregard USB for now. If you can't check the 40MHz crystal with a scope, can you inject a 40MHz signal into one of the crystal pins and see if that starts the chip? You can either use a function generator, or a custom program for another ESP32 that uses the LEDC to generate 40MHz.