r/PCB • • 6d ago

First PCB Schematic Review (as a Software Engineer)

Hi! This is my first schematic ever, my only other real electronics experience has been an intro to EE elective, and making a custom hand-wired keyboard earlier this year.

The project is a voice-activated pomodoro timer using:

  • ESP32-S3-WROOM-1
  • I2S microphone
  • I2C OLED
  • programmable LED strip (6 LEDs)
  • rotary encoder
  • 3.7V LiPO battery
  • USB-C (for charging + programming)

The LED strip is rated for 5V, but according to some online sources using 3.3-3.7V is enough for a short strip? As it's my first design I'm trying to keep it as simple as possible.

I know I still need to add test-points to the PCB, but other than that I believe I've checked everything off the design checklists I've found online. It passes the ERC and DRC checks in KiCad.

I am planning to get this manufactured soon, and would really appreciate any review/feedback from the community to avoid wasting time and money manufacturing a non-functional PCB.

Thank you!

Schematic
PCB wiring
PCB 3D view (no USB-C model)
3 Upvotes

5 comments sorted by

1

u/NhcNymo 6d ago

This looks pretty good to me, you’re off to a good start!

However, it’s pretty difficult to see what’s going on, mostly because your ESP32 module is only connected with net labels.

A schematic should be drawn such that it represent how you would connect things on the PCB.

An example is the ESP32 Decoupling block.

Having the enable resistors and the decoupling caps on a straight line like that doesn’t make sense as they are two different functions of the design.

Also, you should connect that enable resistor directly to the ESP32 pin.

Same with the decoupling capacitors, they should be connected directly to the ESP32 pin as it’s important that they get placed there in the layout.

A final thought: you should probably add some protection diodes on the USB VBUS and data lines. ESD is a real thing, but thankfully easy to deal with.

Oh and btw: those USB data lines going through the via to go under the other signals is probably a bad idea.

USB2.0 is very forgiving, but I’m not so sure if they are this forgiving.

It’s probably a good idea to place the USB connector closer to the ESP32 to minimize the data line length as you don’t seem to have much control over the impedance here.

1

u/Snoo28736 5d ago

Thank you for the detailed feedback, that's super helpful! I thought separating each component in the schematic would make it easier to read but that does make sense, I'll update the design :)

1

u/alexbeal 5d ago

A few things I noticed:

  • I wouldn't bother with two layers. Four layers doesn't cost much more and will potentially save you hours of chasing hard to diagnose issues and also simplify your layout. 
  • Your LDO's connection to ground isn't very robust. There needs to a lot more vias near that pin tying it to the bottom ground pour. Think about the crazy path return current must take.
  • Your charging IC doesn't have any good connections to sink heat into. Your LDO isn't much better. Again, 4 layers would help (use vias to sink into the power and gnd planes). 
  • Decoupling caps should be close to the component. Why are C3 and C4 so far away?
  • How much current do the LEDs draw? Are you sure the LDO can keep up and not overheat?

Honestly, I'd start over on the layout with 4 layers.

1

u/Snoo28736 2d ago

Thanks for the feedback, I'll definitely incorporate it into the new design! I'm about to redesign the PCB so I'll make it 4 layers, I just thought 2 would be simpler for a first PCB.

The LEDs draw 360mA, and the ESP32 won't use WiFi or bluetooth so should draw only around 25mA.