Skip to main content

Datasheet vs PCB Audit Report

Full audit of all 20 BOM components against their LCSC datasheets. Datasheets stored in hardware/datasheets/.


Summary

StatusCountDescription
FIXED3Code fix applied, ready for next PCB revision
OK (cosmetic)2Schematic symbol names wrong but routing correct
OK (acceptable)8Minor deviations within tolerance
NO ACTION7Perfect match

FIXED Issues (applied in code)

FIX-1: SD Card (U6) — VCC and GND not connected

DetailValue
SeverityCRITICAL — SD card does not power on
ComponentTF-01A Micro SD slot (C91145)
ProblemPin 4 (VDD/+3V3) and Pin 6 (VSS/GND) had no trace or via. SMD pads on B.Cu with no B.Cu zone fill = electrically floating. Shield pins 10-13 also unconnected.
Root causeSchematic symbol uses abstract 6-pin numbering (1=VCC, 2=GND, 3=MOSI...) that doesn't match TF-01A physical pinout. SPI signals were manually mapped to physical pins in routing.py, but power pins were not.
FixVia-in-pad on pin 4 (connects to In2.Cu +3V3 zone) and pin 6 (connects to In1.Cu GND zone). GND vias on shield pins 10 and 12. SD_MOSI and BTN_B traces detoured around the new vias.
Filesrouting.py_power_traces(), _spi_traces(), _button_traces()

FIX-2: PAM8403 (U5) — Missing application circuit passives

DetailValue
SeverityHIGH — DC offset risk to speaker, no decoupling for Class-D
ComponentPAM8403 SOP-16 (C5122557)
ProblemDatasheet application circuit requires 7 external passives. All were missing.
FixAdded 7 new components to BOM, placement, and routing

New components added:

RefValuePurposeDistance from pin
C220.47uFDC-blocking cap (series on I2S_DOUT)In-line on trace
R2020kINL bias resistor (pin 7 to GND)4.8mm
R2120kINR bias resistor (pin 10 to GND)4.8mm
C21100nFVREF bypass cap (pin 8 to GND)4.8mm
C231uFVDD decoupling (pin 6 to GND)6.1mm
C241uFPVDD decoupling (pin 4 to GND)4.8mm
C251uFPVDD decoupling (pin 13 to GND)5.8mm

Files: routing.py, board.py, primitives.py (new net PAM_VREF)

No speaker? Skip rework

If not connecting a speaker, PAM8403 rework is unnecessary on existing boards. The missing passives only matter when driving a speaker load.

FIX-3: USB-C (J1) — Shield pad width undersized

DetailValue
SeverityHIGH — reduced mechanical retention
ComponentUSB-C 16-pin (C2765186)
ProblemFront shield THT pads 1.1mm wide vs datasheet 1.7mm (-35%). Rear pads 1.2mm vs 1.4mm (-14%).
FixUpdated footprints.py: front 1.1→1.7mm, rear 1.2→1.4mm
ReworkAdd extra solder to shield pads on existing boards

OK — Cosmetic / No Impact

ESP32-S3 (U1) — Pin 1 schematic name wrong

DetailValue
SeverityLOW — no functional impact
ProblemSchematic symbol labels pin 1 as "3V3" but datasheet says pin 1 = GND
RealityPin 1 has net=0 in PCB (not connected). ESP32 module gets GND through pin 41 (exposed pad). Multiple GND pins on perimeter are redundant. Module works fine.
ActionNone required. Cosmetic schematic fix optional.

AMS1117 (U3) — All 3 pin names swapped in symbol

DetailValue
SeverityLOW — no functional impact
ProblemSymbol: pin 1=VIN, 2=GND, 3=VOUT. Datasheet: pin 1=GND, 2=VOUT, 3=VIN.
RealityRouting code maps pins correctly: am_gnd = _pad("U3", "1"), am_vout = _pad("U3", "2"), am_vin = _pad("U3", "3"). PCB nets verified: pad 1=GND, pad 3=+5V, pad 4(tab)=+3V3. All correct.
ActionNone required. Routing compensates. Cosmetic schematic fix optional.

OK — Acceptable Deviations

IP5306 (U2) — Thermal pad oversized

DetailValue
DatasheetExposed pad 2.09 x 2.09mm
PCB3.4 x 2.8mm (+62% wider, +34% taller)
RiskLow — oversized thermal pad aids heat dissipation. Solder paste self-centers during reflow. Gap to nearest signal pin is 0.155mm (acceptable).
ActionNone. JLCPCB stencil handles this.

IP5306 (U2) — VOUT capacitance reduced

DetailValue
Datasheet3x 22uF = 66uF on VOUT
PCB1x 22uF (C19)
RiskModerate — output ripple ~200-300mV instead of ~100mV. Acceptable because AMS1117 LDO downstream provides additional regulation.
ActionNone for v2. Consider adding 1-2 extra 22uF caps in v3 if ripple is measured as problematic.

IP5306 (U2) — LED pins floating

DetailValue
DatasheetUnused LED pins should be tied to BAT
PCBPins 2-4 (LED1-3) left NC
RiskLow — no LEDs connected, internal LED drivers idle. Conservative fix would tie to BAT via resistor.
ActionNone. Monitor for erratic behavior.

USB-C (J1) — Wide signal pad slightly narrow

DetailValue
DatasheetVBUS/GND wide pads: 0.60mm
PCB0.55mm (-0.05mm)
RiskMinimal — still solderable, slightly reduced solder fillet on power pads.
ActionNone. Within JLCPCB tolerance.

Tact Switch (SW1-SW13) — Pad height undersized

DetailValue
DatasheetRecommended land pattern ~1.0 x 1.5mm
PCB1.2 x 0.9mm (width OK, height 60% of recommended)
RiskLow — terminal leads extend 1.5mm but 0.9mm pads cover the inner portion. Solder fillet still forms. DFM comment notes intentional enlargement from 0.75mm for JLCPCB 3D model coverage.
ActionNone. Buttons function correctly.

Inductor L1 — Pads oversized

DetailValue
DatasheetRecommended 0.6 x 1.5mm pads, 2.5mm gap
PCB1.4 x 3.4mm pads, 3.4mm center spacing (2.3x oversized)
RiskLow — oversized pads waste PCB area but improve soldering reliability. No adjacent component conflicts.
ActionNone. Conservative approach, works fine.

ESP32 (U1) — GND exposed pad slightly oversized

DetailValue
Datasheet3.7 x 3.7mm
PCB3.9 x 3.9mm (+0.2mm)
RiskNone — conservative oversizing improves thermal contact.
ActionNone.

JST PH 2-pin (J3) — Drill slightly oversized

DetailValue
Datasheet0.70-0.80mm recommended hole
PCB0.85mm
RiskNone — intentional for JLCPCB minimum drill (0.80mm). Provides easier pin insertion.
ActionNone. Documented in MEMORY.md as intentional.

Perfect Match — No Issues

ComponentLCSCNotes
FPC 40-pin (J4)C285681240 pads, 0.5mm pitch, 0.3x1.5mm — all match
Slide Switch (SW_PWR)C431540Pin spacing, NPTH holes, pad layout correct. Minor 0.05mm pin 2-3 spacing deviation.
Red LED (LED1)C84256Standard 0805, correct
Green LED (LED2)C19171391Standard 0805, correct
Resistors 0805 (R1-R19)C27834/C17414/C149504/C17513Standard 0805, correct
Capacitors 0805 (C1-C20)C49678/C15850/C12891Standard 0805/1206, correct
PAM8403 footprintC5122557Narrow SOP-16 body 3.9mm correctly used (not wide 7.5mm SOIC-16W)

Rework Guide

Physical rework instructions for existing v2 boards: see PCB v2 Rework Guide.

FixEffortRequired?
SD Card power (pin 4 + pin 6)10 minYES — mandatory
PAM8403 passives (7 components)35 minOnly if using speaker
USB-C solder reinforcement5 minOptional, recommended