Final BOM
The complete prototype bill of materials for Board P and Board L — every part with a lookup-verified LCSC number, JLCPCB tier, stock, and the Extended-part fee arithmetic that dominates the order cost.
This is the final BOM, not a candidate list. Every C-number below was re-verified individually against the local JLCPCB parts database (snapshot dated 2026-07-25; per-part data-fetch dates within the snapshot range from 2026-05-23 to 2026-07-03).
Stock is a point-in-time read
Stock figures are from the snapshot, not a guarantee. Re-check every line immediately before ordering — and pay particular attention to the four lines flagged below with stock under 25,000. Tier assignments (Basic / Preferred / Extended) can also change; the fee arithmetic at the bottom of this page is only as good as the tier data on the day you order.
Board P — USB-PD front end
Adopted unchanged from the power-section audit.
| Ref | Qty | Part | LCSC | Package | Tier | Stock | Role |
|---|---|---|---|---|---|---|---|
| U1 | 1 | STUSB4500QTR | C2678061 | QFN-24-EP 4x4 | Extended | 4,562 | PD sink controller |
| Q1 | 1 | AO3401A | C347476 | SOT-23 | Extended | 862,120 | Load switch (P-FET) |
| J1 | 1 | TYPE-C-31-M-17 | C283540 | 6P SMD right-angle | Extended | 33,876 | USB-C PD input, 20 V/5 A rated |
| D5 | 1 | SMAJ20A | C571370 | SMA | Extended | 3,770 | VBUS TVS, 20 V standoff |
| C1 | 1 | CL31A106KBHNNNE 10 µF 50 V | C13585 | 1206 | Basic | 1,877,266 | VDD bulk |
| C2, C35 | 2 | CL21B104KBCNNNC 100 nF 50 V | C1711 | 0805 | Extended | 17,509 | VDD HF decouple, gate soft-start |
| C30, C34 | 2 | CL10A105KB8NNNC 1 µF 50 V | C15849 | 0603 | Basic | 5,979,916 | VREG decoupling |
| R11 | 1 | 100 kΩ ±1% | C25803 | 0603 | Basic | 7,990,119 | Gate pull-up (default OFF) |
| R12 | 1 | 56 kΩ ±1% | C23206 | 0603 | Basic | 219,781 | Gate series |
| R13, R14 | 2 | 470 Ω ±1% | C23179 | 0603 | Basic | 1,899,614 | DISCH + pin-18 series |
| R15, R16 | 2 | 4.7 kΩ ±1% | C23162 | 0603 | Basic | 7,433,362 | I2C pull-ups |
| R19, R20 | 2 | 0 Ω | C21189 | 0603 | Basic | 6,153,233 | CC1DB/CC2DB bridges |
| JOUT | 1 | B6B-XH-A(LF)(SN) | C144397 | THT XH 2.5 mm | Extended | 47,935 | Downstream interface |
| J2, J3 | — | Pogo pads 1x4 / 1x8 | — | Bare copper | — | — | NVM I2C + debug, no part |
DNP — footprint only, not populated:
| Ref | Part | LCSC | Package | Tier | Stock | Note |
|---|---|---|---|---|---|---|
| R17, R18 | 5.1 kΩ ±1% | C23186 | 0603 | Basic | 3,775,920 | External Rd — rework insurance only, never populate on a powered build |
| D6, D7 | PESD24VS1UB | C85382 | SOD-523 | Extended | 109,452 | CC-line ESD, enclosed/production builds only |
Board L — driver, control, LED array
| Ref | Qty | Part | LCSC | Package | Tier | Stock | Role |
|---|---|---|---|---|---|---|---|
| U2 | 1 | AL8860MP-13 | C500782 | MSOP-8-EP | Extended | 4,000 | CC buck LED driver, 4.5–40 V, 1.5 A |
| U3 | 1 | STM32G031F8P6 | C529334 | TSSOP-20 | Extended | 12,551 | Control MCU, Cortex-M0+, 64 KB |
| U4 | 1 | AP63203WU-7 | C780769 | TSOT-23-6 | Extended | 11,392 | 3.3 V synchronous buck, 3.8–32 V |
| D10 | 1 | SMAJ20A | C571370 | SMA | Extended | 3,770 | Local 15 V input TVS |
| D11 | 1 | SS26 | C7420363 | SMA | Preferred | 282,808 | Catch diode, 60 V/2 A Schottky |
| L1 | 1 | FXL0630-330-M 33 µH | C177245 | SMD 7x6.6 mm | Extended | 228,367 | LED buck inductor, 2.5 A sat, 310 mΩ |
| L2 | 1 | FNR4030S4R7MT 4.7 µH | C167874 | SMD 4x4 mm | Extended | 252,195 | Logic buck inductor, shielded, 78 mΩ |
| RS1 | 1 | RLP25FEER200 200 mΩ ±1% 2 W | C459674 | 2512 | Extended | 20,654 | High-side sense → 500 mA |
| R30–R37 | 8 | 33 Ω ±1% 250 mW | C2907384 | 1206 | Extended | 235,141 | Per-string ballast |
| R20, R22–R26 | 6 | 10 kΩ ±1% | C17414 | 0805 | Basic | 10,726,008 | CTRL filter series, encoder/PDOK/ATT pull-ups, NTC divider |
| R21 | 1 | 33 kΩ ±1% | C4216 | 0603 | Basic | 696,981 | CTRL pull-down + divider (default-OFF) |
| C10, C11, C12, C14 | 4 | CL31A106KBHNNNE 10 µF 50 V | C13585 | 1206 | Basic | 1,877,266 | Input bulk + both buck input caps |
| C13, C15, C18, C20–C24 | 8 | CC0603KRX7R9BB104 100 nF 50 V | C14663 | 0603 | Basic | 12,618,106 | HF decouple, BST, NRST, CTRL filter, encoder debounce, NTC filter |
| C16, C17 | 2 | CL21A226MAQNNNE 22 µF 25 V | C45783 | 0805 | Basic | 1,734,789 | 3.3 V output caps per DS41326 Table 2 |
| C19 | 1 | CL10A105KB8NNNC 1 µF 50 V | C15849 | 0603 | Basic | 5,979,916 | MCU VDD bulk |
| RT1 | 1 | NCP18XH103F03RB 10 kΩ B=3380 K | C13564 | 0603 | Extended | 398,625 | NTC, placed inside the LED array |
| F1 | 1 | BSMD1206-075-30V | C976305 | 1206 | Extended | 73,979 | PPTC, 750 mA hold / 1.5 A trip / 30 V |
| J2 | 1 | B6B-XH-A(LF)(SN) | C144397 | THT XH 2.5 mm | Extended | 47,935 | Board P interface (mirrors JOUT) |
| SW1 | 1 | EC11L1525G01 | C2991196 | THT, panel bushing | Extended | 4,566 | Rotary encoder, 15 detents |
| LED1–LED24 | 24 | HL-AM-2835H421W-S1-08-HR3 (2800–3100 K) | C210315 | SMD2835-2P | Extended | 399,813 | 3000 K, CRI 80, 29 lm typ @ 60 mA |
Footprint only — not in the assembly BOM:
| Ref | Suggested part | LCSC | Package | Tier | Stock | Note |
|---|---|---|---|---|---|---|
| J3 | PZ254V-11-05P 1x5P | C492404 | THT 2.54 mm | Extended | 251,600 | SWD. Hand-fit a pin strip during bring-up rather than paying an Extended fee for a debug-only connector — the same reasoning that put pogo pads on Board P |
| J4 | (generic 1x3 strip) | — | THT 2.54 mm | — | — | UART debug pads |
Sourcing risks
Four lines carry stock low enough to matter on a small order. None is a design flaw — they are the specialty parts — but each needs a re-check before ordering.
| Part | Stock | Risk and fallback |
|---|---|---|
| D5 / D10 SMAJ20A (C571370) | 3,770, and two boards need it | Lowest-stock line in the whole design. The alternate the power audit found (C1973455) showed 1 unit — effectively unavailable. If C571370 is out, search the SMAJ20A family fresh rather than substituting a different standoff voltage: the 20 V figure is load-bearing for the whole ratings analysis |
| U2 AL8860MP-13 (C500782) | 4,000 | Fine for a prototype run. AL8860WT-7 (TSOT-25) is pin-compatible in function but showed 0 stock and is limited to 1 A — it would still cover this design's 500 mA if the MSOP part disappears |
| SW1 EC11L1525G01 (C2991196) | 4,566 | The knob research found two other EC11 SKUs in the 4,600–5,500 range (C370970, C470748); any of them substitutes, at a higher unit price. Verify the pinout of whichever is fitted — EC11 terminal order is not universal across SKUs |
| RS1 RLP25FEER200 (C459674) | 20,654 | Any 200 mΩ ±1% 2512 sense resistor rated 1 W or better substitutes directly; the value, not the manufacturer, is what sets 500 mA |
Extended-part fee economics
JLCPCB charges a one-time setup fee — ~¥470 (roughly $3) — per unique Extended part number, per order. Basic and Preferred parts do not incur it. The fee is per order, so a part used on both boards is charged twice when the boards are ordered as two separate PCBA jobs, which they must be.
| Board P | Board L | |
|---|---|---|
| Unique fitted part numbers | 13 | 20 |
| of which Basic | 7 | 6 |
| of which Preferred | 0 | 1 |
| of which Extended | 6 | 13 |
Board P Extended lines: C2678061, C347476, C283540, C571370, C1711, C144397.
Board L Extended lines: C500782, C529334, C780769, C571370, C177245, C167874, C459674, C2907384, C13564, C976305, C144397, C2991196, C210315.
| Value | |
|---|---|
| Extended lines charged | 6 + 13 = 19 |
| Setup fee total | 19 x ¥470 ≈ ¥8,930 (roughly $57) |
| Component cost, both boards, single-unit quantity | roughly $8 |
The setup fees are about seven times the parts cost. That is the shape of every small JLCPCB PCBA order and it is worth internalising before optimising anything else: one avoided Extended line saves more than the entire resistor and capacitor content of both boards combined. It also amortises to nothing on a reorder — a second batch of the same design pays no setup fee at all.
Two reductions were already taken:
Board L's 10 µF caps use C13585 (1206, Basic) rather than the 1210 X7R part the driver research listed (C2918502, Extended). Saves ¥470 and shares a reel with Board P. The trade is X5R instead of the X7R the AL8860 datasheet asks for — X5R is rated to +85 °C, which covers this lamp's envelope, but if a build shows input ripple problems, C2918502 is the datasheet-strict swap.
Board L's 100 nF caps use C14663 (0603, Basic) rather than Board P's C1711 (0805, Extended). Swapping Board P to the same part would remove a seventh Extended line there — see the note on the Board P page.
Two more are available if the budget matters:
Dropping
RT1(NTC) andF1(PPTC) would save ¥940 and remove the thermal-derate and over-current protections. Both were added deliberately; this is the price of them.Ordering both boards as a single panelised PCBA job, if JLCPCB permits it for the design, would collapse the two shared Extended lines (
C571370,C144397) from four charges to two — ¥940 saved. Confirm with JLCPCB rather than assuming.
Parts explicitly not on this BOM
| Not present | Why |
|---|---|
| Aluminum MCPCB / heatsink | 0.19 W per LED site is well inside the plain-FR-4 regime — see board split |
| Status LED | Would add current to the logic rail for information the lamp itself already conveys |
| Crystal oscillator | HSI16 + PLL at 64 MHz is far more accurate than anything this design's timing needs |
| BOOT0 strapping resistor | PA14's internal pull-down at reset already selects flash boot (ST DS12992 note 5) |
| External Rd on CC lines | Deliberately DNP — the single most consequential rule from zudo-pd's diagnosis |
| SWD/UART connectors | Footprint only; hand-fit for bring-up |