--- title: HBOX Watchdog v3 PROD — Assembly BOM Split project: Project Drogheda date: 2026-07-05 tags: [project-drogheda, hardware, pcb, assembly, jlcpcb, bom] status: Board routed, DRC fab-clean — assembly reference for JLCPCB PCBA order --- # HBOX Watchdog v3 PROD — Assembly BOM Split Audit of the routed board (`kicad/hbox-watchdog-v3-PROD.kicad_pcb`, 126 footprints) for the JLCPCB assembly order. Three buckets: **(A)** what JLC solders onto the board, **(B)** the plug-in modules that sit on top (you install), and **(C)** what lives off-board and connects through the JST harness. | Bucket | Count | JLC assembles? | |---|---|---| | A. On-board parts (SMD + THT) | 103 parts + 12 connectors + 5 sockets | **Yes** | | B. Plug-in modules (on top) | 3 modules | No — you install | | C. External via JST harness | wired to 12 connectors | No — off-board | | Fab features (2 test points, 4 mounting holes) | 6 | n/a | --- ## A. Assembled by JLC — on the PCB ### A1 · SMD parts (standard PCBA — 98 parts) | Qty | Value | Package | Refs | |---|---|---|---| | 10 | 10k | R0603 | R2, R5, R6, R7, R8, R41, Rigb, Rled, Rrp, Rtp | | 8 | 100k | R0603 | R20, R56, R57, R58, Ren1, Rfreq, Rfreq2, Rgs | | 7 | 100nF | C0603 | C5, C7, C9, C11, C24, Cu3, Cu4 | | 5 | LED | LED0805 | D1, DB1, DB2, DB3, DB4 | | 4 | 1k | R0603 | R1, R3, R40, Rts | | 4 | 330R | R0603 | RB1, RB2, RB3, RB4 | | 3 | SS34 | D_SMA | D2, Dbk, Dbk2 | | 3 | 22uF | C0805 | C35, C40, C41 | | 3 | 100k/1% | R0603 | R52, R54, R60 | | 2 | MP1584EN | SOIC-8-EP | U2 (fan buck), U7 (modem buck) | | 2 | 2.2nF | C0603 | Ccomp, Ccomp2 | | 2 | 100R | R0603 | Rg, Rig | | 2 | 10uF | C0805 | C30, C34 | | 2 | 4.7k | R0603 | R30, R31 | | 2 | 40.2k | R0603 | Rcomp, Rcomp2 | | 2 | MMBT3904 | SOT-23 | Q5, Q6 | | 2 | 10nF | C0603 | Cbst, Cbst2 | | 2 | AO3400A | SOT-23 | Q2, Q4 | | 2 | 10k/1% | R0603 | R42, R55 | | 2 | 47uF | C1210 | C32, C33 | | 1 | **LTC4040EUFD** | QFN-24 | U6 (backup-supply/charger) | | 1 | AO4406A | SOIC-8 | Q7 | | 1 | AO3401A | SOT-23 | Q1 | | 1 | IRFR5305 | TO-252 | Q10 | | 1 | BZX84C15 | SOT-23 | DzG | | 1 | BAT54 | SOD-123 | D5 | | 1 | 1N4148W | SOD-123 | D6 | | 1 | SMBJ33A | D_SMB | D10 | | 1 | **SHT40-AD1B** | DFN-4 | U3 (humidity/temp) | | 1 | **TMP102** | SOT-563 | U4 (temp) | | 1 | 8mR/1% | R1206 | RS1 (current sense) | | 1 | PPTC 3A | Fuse1812 | F1 | | 3 | 2.2uH / 10uH / 10uH-2A | SRU8028 8×8 | L6, L2, L7 | | 1 | 22uF/50V | C1210 | C22 | | 1 | 22uF/16V | C0805 | C23 | | 1 | 2.2uF | C0603 | C31 | | — | *(single-value R's)* | R0603 | Ren2 20k, Rdfu 22k, R21 19.1k, R50 825R, R51 287k, R53 499k, R61 31.6k | | 4 | jumpers | SolderJumper | JP1 (0R), JP2 (F2), JP3 (F1), JP4 (F0) | ### A2 · Through-hole parts (THT — JLC "through-hole assembly" surcharge, or hand-solder) | Ref | Part | Note | |---|---|---| | K1 | Omron G5V-1 DC5 relay | Modo-B fail-safe bypass | | SW1 | 6 mm push (RESET) | | | C3, C10, C43 | Radial electrolytics (47µF, 47µF/50V, 100µF) | | ### A3 · Connectors & module sockets (THT — soldered to board) | Ref | Part | Purpose | |---|---|---| | P1 | Phoenix MKDS 1.5-5 (5-pos terminal) | GX16 machine power in | | P2, P8, P10, P11, P12 | JST-XH 2-pin | see bucket C | | P4, P13 | JST-XH 3-pin | | | P3, P5, P6 | JST-XH 4-pin | | | H3 | 1×3 pin header | USART1 reserved | | **J1, J2** | 1×20 female 2.54 | **Blackpill socket** | | **J7, J8** | 1×10 female 2.00 | **4G XBee socket** | | **MOD1** | Arduino-UNO-form female headers | **simpleRTK2B Pro socket** | > ⚠️ **Confirm before ordering:** engineering notes flag **P3 / P13 / H3 as DNP** > (Modo-B + K1 NC bypass makes them redundant), but they are **not** marked DNP in > the board file — so JLC would populate them. Decide per-connector. --- ## B. Plug-in modules — mounted ON TOP (you install, NOT in the JLC order) These are complete boards that seat into the sockets above. Do **not** add them to the JLC BOM — they're hand-fitted after the PCBA arrives. | Module | Seats into | Notes | |---|---|---| | **simpleRTK2B Pro** (ZED-F9P) | MOD1 (Arduino headers) | GNSS RTK receiver | | **STM32F411 Blackpill** | J1 + J2 (2×20) | watchdog MCU | | **4G NTRIP Master** (XBee LTE) | J7 + J8 (2×10, 2 mm) | modem, 3V3 socket | --- ## C. External — connected via the JST harness (NOT on the board) Everything that plugs into the edge connectors and lives outside the HBOX (or in the cabinet). Wire per the harness pinout (`harness-connector-pinout.md`). | Conn | Wires to (external) | Key pins | |---|---|---| | **P1** GX16-5 | Machine power + ignition from the cabinet | 1 = 24V_IN ⚡, 3 = IGN_IN, 2 = GND | | **P2** 5V-IN | Mean Well SD-15B-05 5 V supply (VEH5V rail) | 1 = VEH5V ⚡, 2 = GND | | **P3** RTK2B-UART1 | RTK2B UART1 tap (GNSS TX/RX) | 1 = SW_5V ⚡, 3 = GNSS_TX, 4 = GNSS_RX | | **P4** BATT | 1S4P 12 Ah pack + NTC | 1 = BAT_PLUS ⚡, 3 = NTC, 2 = GND | | **P5** TEMP_PROBE | External I²C temp/probe header | 1 = 3V3, 3 = SDA, 4 = SCL | | **P6** FAN | Cooling fan (5 V, tach) | 1 = 5V_FAN ⚡, 2 = FAN_RET, 4 = TACH | | **P8** PANEL_LED | Panel status LED | 1 = LED_A, 2 = LED_K | | **P10** RESET-EXT | External reset button | 1 = NRST, 2 = GND | | **P11** CUTOFF-SW | Power cutoff switch (SYS→MAIN 5 V) | 1 = MAIN5V ⚡, 2 = SYS5V ⚡ | | **P12** NTC-HOTSPOT | Cabinet hotspot NTC | 1 = NTC_TEMP, 2 = GND | | **P13** MODO-B-UPLINK | Modo-B uplink to 4G | 1 = USART1_RX, 2 = DIN_4G, 3 = GND | --- ## Action items before the JLCPCB order 1. **Add LCSC part numbers** to the BOM (`fab-jlcpcb/…-BOM.csv`) — it exports value + footprint only; JLC PCBA matches on LCSC part #. Watch the odd ones: **LTC4040EUFD, SHT40-AD1B, TMP102, MP1584EN, AO4406A, Bourns SRU8028** — verify JLC/LCSC stock. 2. **Decide THT assembly** — JLC charges extra for through-hole (K1, SW1, C3/C10/C43, all connectors/sockets). Common approach: JLC does SMD, you hand-solder the connectors + sockets (also avoids paying JLC for the big Phoenix/JST parts). 3. **Resolve the P3 / P13 / H3 DNP question** above. 4. Do **not** BOM the three plug-in modules (bucket B).