zudo-led-lamp
GitHub repository

Type to search...

to open search from anywhere

Board P — Locked Spec and Net Table

The USB-PD front end as locked for the prototype build — adopted unchanged from the power-section audit, with the downstream connector pin assignment fixed and the ratings decision re-confirmed against Board L's actual load.

Board P is adopted unchanged from Board P — USB-PD Front End. This page locks it as a buildable spec: it restates the net table in the form KiCad capture will consume, fixes the JOUT pin assignment that Board L must mirror, and re-checks the audit's ratings conclusions against Board L's real (much smaller than worst-case) load.

Role

Negotiate a 15 V / 3 A USB-PD contract, gate it behind a load switch until the contract is live, and hand a switched 15 V rail plus two open-drain status flags to Board L. No lamp-specific behaviour lives here — it is a generic reusable sink module.

What this architecture pass changed

Nothing electrical. Three things were re-checked and confirmed, and one BOM optimisation is recommended but not applied here (Board P's own page is the owner of that BOM):

  1. Load re-check. Board P was margined against the 3.0 A contract cap. Board L actually draws ~410 mA (see Power budget). Every current-dependent number on Board P — Q1 conduction loss, JOUT contact loading, the XH derate — improves by roughly 7x against the original analysis. No part needs changing.

  2. Clamp ceiling propagates downstream. D5 (SMAJ20A) clamps at ≤32.4 V worst case, and Q1 passes that transient straight to Board L when the switch is on. Board L's input-facing parts were selected against 32.4 V, not 15 V — see the driver input-rating decision.

  3. The 5 V-only first-power-up rule is a hard bring-up gate, not advice. It is restated in Next Steps.

Recommended BOM optimisation, not applied here

Board P's C2 / C35 are 100 nF 50 V 0805 (C1711), which is Extended tier at JLCPCB (¥470 one-time fee). The electrically identical 0603 part C14663 is Basic tier (12.6 M stock) and is what Board L uses. Swapping Board P to C14663 removes one Extended line from that board's order and shares a reel with Board L. This is a sourcing change to make at KiCad time; this page does not edit Board P's own component list.

Net-connectivity table

Adopted verbatim from the power-section audit. Reproduced here so the architecture section is self-contained for schematic capture. Reference designators are Board P's own.

NetConnected pins (Ref.Pin)Value / note
VBUS_INJ1.A9 J1.B9 U1.VDD C1.2 C2.2 R14.1 R11.2 Q1.S J3.4 D5.cathodeReceptacle VBUS — 5 V pre-contract, 15 V post-contract. C1 10 µF, C2 100 nF. D5 cathode
CC1J1.A5 U1.CC1 R17.1(DNP) R19.2 D6.1(DNP)Plain copper connector-to-chip. R19 (0 Ω, fitted) bridges CC1DB
CC2J1.B5 U1.CC2 R18.1(DNP) R20.2 D7.1(DNP)Mirror of CC1
CC1DBU1.CC1DB R19.1 J3.1Dead-battery pin, bridged to CC1 per ST DS12499 §3.5
CC2DBU1.CC2DB R20.1 J3.2Mirror
VBUS_VS_DISCHU1.pin18 R14.2Pin-18 sense/discharge. R14 470 Ω series — must not be a divider
VBENU1.pin16 R12.1 J3.8Active-low open drain. R12 56 kΩ to the gate node
Net-(Q1-G)Q1.G R11.1 R12.2 C35.1R11 100 kΩ pull-up to VBUS_IN (default OFF); C35 100 nF soft-start, τ ≈ 5.6 ms
VBUS_OUTQ1.D R13.1 JOUT.1 JOUT.2Switched 15 V, paired contacts
Net-(U1-DISCH)U1.DISCH R13.2R13 470 Ω system-side discharge
VREG_2V7U1.VREG_2V7 C30.2 R15.2 R16.2 J3.32.7 V internal regulator / I2C pull-up rail
Net-(U1-VREG_1V2)U1.VREG_1V2 C34.11.2 V digital-core regulator decoupling
SCLU1.SCL R15.1 J2.1NVM programming clock, 4.7 kΩ pull-up
SDAU1.SDA R16.1 J2.2NVM programming data, 4.7 kΩ pull-up
ATTU1.ATTACH J3.6 JOUT.3Cable-attached flag, open drain active-low, no on-board pull-up
PDOKU1.POWER_OK2 J3.7 JOUT.4Live 15 V contract flag, open drain active-low, no on-board pull-up
GNDU1.GND U1.RESET U1.ADDR0 U1.ADDR1 U1.VSYS U1.EP J1.GND C1.1 C2.1 C30.1 C34.2 C35.2 R17.2(DNP) R18.2(DNP) J2.3 J3.5 D5.anode D6.2(DNP) D7.2(DNP) JOUT.5 JOUT.6Common ground. U1.RESET grounded = run. ADDR0/1 grounded → I2C 0x28
No-connectU1.NC U1.POWER_OK3 U1.GPIO U1.A_B_SIDE U1.ALERT J2.4Left floating

JOUT pin assignment (locked)

Board L's J2 must mirror this exactly. Both ends are the same part (C144397), joined by a 6-way XH harness.

PinNetDirection (from Board P)Board L destination
1VBUS_OUToutF1.1 (PPTC input)
2VBUS_OUToutF1.1 — paired contact, same net
3ATTout, open drainU3.PA7 via 10 kΩ pull-up to 3V3
4PDOKout, open drainU3.PA5 via 10 kΩ pull-up to 3V3
5GNDBoard L GND
6GNDBoard L GND — paired contact

PDOK is informational, not an interlock

Board L's 3.3 V rail only exists once Q1 has switched on, which only happens after PDOK asserts. So by the time the MCU can read PDOK, it is always already asserted. It is useful as a continuity and harness check (a PDOK line that reads de-asserted while the MCU is running means a broken wire, not a failed contract) and as a hook if a future revision powers Board L's logic ahead of the switch. The real gate on LED power is Q1 itself, in hardware. Do not present PDOK in firmware as if it were protecting anything.

ATT is wired to a GPIO purely because it is free — Board P already routes it to the connector, and an input pin costs nothing. Firmware does not act on it in v1.

Ratings, re-confirmed at Board L's real load

PartLimitAt 410 mA / 15 VVerdict
Q1 AO3401A30 V VDS abs max, 4.2 A, 50 mΩ @ Vgs −10 VConduction loss 0.41² × 0.05 = 8 mW; Vgs ≈ −9.6 VPass with very wide margin at nominal; the transient-only VDS gap against the 32.4 V clamp is unchanged and still accepted
JOUT XH contacts3 A/contact205 mA per paired contactPass, 14x derated margin
U1 STUSB4500 VDD28 V abs max, 22 V operating15 VPass; transient-only gap against 32.4 V unchanged and still accepted
J1 receptacle C28354020 V, 5 A15 V, 0.41 APass

The two residual transient-only gaps (U1 VDD, Q1 VDS) are inherited unchanged from the ratings matrix. This architecture pass does not re-open them: they are surge-event-only, they were reasoned through against primary datasheets, and nothing about a lower steady-state load changes a clamp-event analysis.

One number this pass could not resolve

Lessons Carried From zudo-pd states that R14 (470 Ω from VBUS_IN to pin 18) passes "15 V/470 Ω ≈ 32 mA", inside the pin's 50 mA IDISUSB rating. Read as a continuous current that would be 0.48 W — more than 7% of the whole lamp's power budget, dissipated in a 0603 resistor rated 100 mW, which cannot be right. Read as the discharge-event current (pin 18 is high-impedance in its sense role and only sinks during discharge) it is ~0 W steady state, and the 50 mA figure is exactly what an event-current rating looks like.

This pass believes the second reading is correct — IDISUSB is named for discharge, and a 100 mW resistor in ST's own reference topology would not be specified to run at 4.8x its rating. But it could not confirm it from the datasheet text available here. The power budget therefore carries it as a flagged worst case (+0.48 W), and Next Steps makes measuring R14's steady-state drop an explicit bring-up item. Either way the design fits inside 45 W with large margin, so this does not block the build — but do not size R14's package from the optimistic reading without measuring it.

References

Revision History

CreatedUpdated