Please help with my first ESP32 S3 PCB (hooking up USB and transceiver properly)

adam_kilgas
Posts: 1
Joined: Fri May 30, 2025 12:32 am

Please help with my first ESP32 S3 PCB (hooking up USB and transceiver properly)

Postby adam_kilgas » Fri May 30, 2025 12:51 am

This is my first time designing a PCB, so I’m not 100% confident everything is correct and would really appreciate any feedback before I send it to JLCPCB for assembly.

The board uses an ESP32-S3-WROOM-1-N4R2 module and is powered via USB. It includes:

Two WS2812B LED strips, each with 6 LEDs, powered by 5V and controlled via a single GPIO pin.

A surface-mounted hall effect sensor for magnetic trigger detection.

A 433 MHz RF transceiver, controlled by GPIO to send remote alerts.

A momentary push button (manually soldered) for user input (mode switching or shutdown).

Supporting components:

Decoupling capacitors for power stability

Pull-up resistors for boot/enable pins

Voltage filtering caps for RF and LED power

I'm using the USB port for both power and programming. I struggled a bit with configuring it, especially to ensure it safely powers both the ESP32 and LEDs. The ESP32 runs on 3.3V, while the WS2812B LED strips require 5V. My battery pack outputs 3.3V, but USB from my PC provides 5V, so managing the power distribution and regulation between components has been a challenge.

Also, I’m not confident that I hooked up the crystal correctly for the 433 MHz transceiver. Any advice on whether that looks right or if I should change anything there would be really helpful.

The LED strips and button will be soldered by me—everything else should be SMT assembled by JLCPCB.

I'm including a picture of my schematic and a few resources that I used as references.

Any feedback on routing, component selection, power handling, or layout best practices would be hugely appreciated. Thanks!
Attachments
My_Schematic_25-05-29.pdf
This is my schematic, If you cant open with Adobe use Google
(168.93 KiB) Downloaded 17 times
2410121536_Texas-Instruments-CC1101RGPR_C29953 (1).pdf
This is what I used to model transceiver, I am unsure about if I connected Crystal properly
(1.66 MiB) Downloaded 7 times
SCH_ESP32-S3-DevKitC-1_V1.1_20221130.pdf
This is what I used to model the USB
(131.14 KiB) Downloaded 9 times

Sprite
Espressif staff
Espressif staff
Posts: 10599
Joined: Thu Nov 26, 2015 4:08 am

Re: Please help with my first ESP32 S3 PCB (hooking up USB and transceiver properly)

Postby Sprite » Fri May 30, 2025 8:22 am

- WS2812 type LED strips tend to want a 5V IO level; you connect it directly to the ESP32 which only outputs 3.3V. I'd put a level converter in between, e.g. a TXB0101 chip but there are many other solutions.
- I would connect the button to IO0. This is a bootstrap pin; this way if you hold the button while powering on the device, you'll always end up in download mode so you always have a way to re-flash the board.
- You have not connected EN and in general you don't seem to have minded your bootstrap pins. You *must* have a RC network on your EN pin, and I'd highly suggest a pulldown resistor on GPIO46 to make sure you can properly enter download mode. EDIT: On second look: you seem to have a RC network but it's connected to the CHIP_PU net which is not connected to anything. Maybe easyeda has a design rule check feature that can catch these errors?
- U2 seems to have Vcc and the IO signal swapped?
- D3 is not needed if you only power the device from USB.
- What does R11 power? Shouldn't REDLIGHT be a LED?
- Technically, C15 and C16 need to be sized according to the crystal you use and the PCB layout you have, see e.g. here. 27pF may be too high, depending on the particular crystal you pick.
- How big are the LED strips? You can officially only pull 500mA from a micro-USB port without advanced negotiation, but if you power it using a charger that is sized large enough, up to 2A should be fine (although it's a bit janky to simply assume you can pull up to 2A; ideally you'd do some negotiation for that).

Who is online

Users browsing this forum: ChatGPT-User, meta-externalagent and 3 guests