3. CARPUTER β€” HARDWARE TO PURCHASE

3.0 Buying order β€” Owned / Buy-now / Need-soon / Defer (rev 3.4)

Principle (the owner's call): get as much as possible from owned gear, buy only what's absolutely needed first. Most of the system is software on hardware you already own β€” you can build/prove ~70% for $0, and CAN discovery can start today on the owned SH-C31G (plugs into OBD2 now).

🟒 Owned β€” $0 (build on these first): OptiPlex 5080 Β· Pi 3 B+ Β· WROOM-32 Β· SH-C31G (received) Β· Cudy LT18 Β· S24 Ultra Β· GreenYi Β· full power system (400W solar, EPEVER MPPT, FEENCE 100Ah, WZRELB inverter, shunt, wiring). β†’ Stand up the Pi broker + control PWA, the OptiPlex voice pipeline + router, CAN discovery, wake/sleep logic. Power it all off the owned battery+solar on the bench.

πŸ”΄ Buy-now-essential (~$110) β€” the only gap to a live in-truck system:

Item~$Why first
Waveshare ESP32-S3-POE-ETH-8DI-8DO (SKU 32108, Γ—2 β€” front + bed)~$86Tier-0 controllers β€” 8 DO (trigger relays) + 8 DI + Ethernet + RS485 + CAN + PoE(unused), 7-36V, RTC, TF. NO onboard relays. DO version is PoE-only. Option B DECIDED (Β§6.5): front/cab board + bed/camp board, Ethernet between them, each its own OTA ESPHome firmware.
Automotive relay/fuse panel + plug-in Bosch relays~$30 panel + ~$2-5/relayThe serviceable, high-current switching (Β§6). DO outputs trigger the coils; swap a dead relay in 10 sec.
reSpeaker XVF3800 mic array (USB)~$57Only missing piece for voice; 4-mic array w/ onboard AEC/NS β€” the cab upgrade over a bare USB mic (Β§9.1).
Trigger + load wire, fuses, crimps~$20DO→coil = 20-22 AWG / owned solid Cat5; load = 16/14/12 AWG fused.

🟑 Need-soon (not day-one): VEVOR 40A alternator-only DC-DC (~$104) β€” keep the owned EPEVER for solar; this adds alternator top-up while driving (Β§5.9). Owned 400W solar+MPPT covers bench/early testing. Β· 12Vβ†’19V DC converter β€” OWNED (got the 12Vβ†’19V 10A; hardwire it, Β§5.9). Β· Combiner parts (when adding the bed battery): continuous-duty 150-200A contactor (~$20-40) + ~5Ξ© 25-50W pre-charge resistor (~$5) + Anderson SB175 pair + handle. Buy when moving to daily driving / adding the 2nd battery. Β· Wideband AFR β€” dual-purpose buy (~$200): AEM X-Series Wideband UEGO gauge (PN 30-0300) (Bosch LSU 4.9, gauge + 0–5V analog AND AEMnet CAN out, includes weld-in bung + plug). Closes the the tuner tune (analog β†’ MPVI3 PROLINK+ for the WOT AFR the tuner needs, Β§1 tune note) and feeds the carputer a dash AFR gauge (CAN β†’ SH-C31G or the ESP32 CAN port). Install: weld the bung pre-cat (in/after the collector or a downpipe, ~12"+ from the head), sensor tip β‰₯10Β° above horizontal (condensation protection); ADD a bung β€” don't pull a factory O2; one sensor is plenty for a street tune. ~$20-50 muffler-shop weld.

βšͺ Defer until reached for: network extras (GL.iNet only if the Cudy can't run Tailscale β€” see Β§4.1) Β· cameras (test ONE ~$30 first) Β· 4TB NVR SSD (~$200, only with cameras) Β· 1TB NVMe (OptiPlex already has a drive) Β· lights (KC, big-ticket β€” see Β§5.7) Β· BT/GPS dongles Β· dash button Β· Phoenix radio Β· Pi 4 upgrade (FUTURE).

The detailed line-item table below is the full superset; the buckets above are the order.

ItemSourcePrice (USD)Status / Notes
SSD (OS+models): 1TB NVMeAmazon~$70OS, models, ChromaDB
SSD (NVR storage): 4TB SSDAmazon~$200Vibration-proof; weeks of substream β€” see Β§7
CAN: DSD TECH SH-C31GAmazon~$25βœ… RECEIVED (Canable 2.0, isolated)
~~CAN transceiver: SN65HVD230~~β€”dropped (rev 3.6)Was for the WROOM-32 always-on CAN-watch β€” both retired (CAN is OptiPlex-only now, Β§8). Only needed if you later add a dedicated parked-CAN node.
πŸ”΄ Controllers: Waveshare ESP32-S3-POE-ETH-8DI-8DO Γ—2Waveshare (SKU 32108)~$86BUY-NOW #1. Digital OUTPUTS (trigger external relays) + 8 DI + Ethernet + RS485 + CAN. Power from always-on 12V (not PoE); Cat5 = data only. Option B (Β§6.5): FRONT board + BED board, Ethernet between, each its own OTA ESPHome firmware. NO onboard relays β†’ switching is the external Bosch panel.
πŸ”΄ Bed Modbus IO 8CH (if camp switch panel uses stateful LEDs)Waveshare (26244)~$24Tailgate camp switch panel (DI=switches, DO=LEDs) on the bed board's RS485 β€” keeps the bed board's own DI/DO free for loads (Β§6.5).
πŸ”΄ True Mods waterproof 6-gang fuse+relay box (Bosch 5-pin 30/40A)Amazon~$25 eaBUY-NOW (rev 3.24 β€” part selected). Integrated relay + fuse per gang, waterproof, pre-wired (12/16 AWG). Buy more 6-gang boxes as needed (~9 relay circuits in the full build β†’ 2 boxes). 30/40A is plenty (loads ≀10A); leave 87a empty. O1 is NOT in here β€” it's a separate latching module (Β§6.3).
πŸ”΄ Bosch-style 5-pin 30/40A relays (refills)Amazon~$1-2 eaStandard ISO-280 mini, resistor-suppressed preferred (no polarity fuss; the Waveshare DO already has built-in flyback). Type-A footprint. A few spares incl. the Β§6.1 limp-home pocket spare.
πŸ”΄ Electronics-Salon MD-D262T/12V β€” Passive Bistable/Latching DPDT 8A β€” for O1eBay/Amazon~$27BUY-NOW (rev 3.27 β€” CONFIRMED part). Single relay, 12V, "T"=DIN housing (matches the rail). Internal relay = genuine TE/Schrack RT424F12 (2-coil bistable). Control terminals V+/S/R, both active-LOW β†’ perfect for the open-drain DOs (S-low=ON, R-low=CUT). Passive = ~50mA for ~300ms per change, then ZERO (true 0W hold). DPDT: Switch X = converter power, Switch Y = free read-back to DI7. 15A making (handles converter inrush), AgNi, βˆ’40-85Β°C. Firmware: ~300ms pulse; never pull S and R low together.
πŸ”΄ DIYmall 0-25V voltage sensor module (2-pack)Amazon~$5.59BUY-NOW. Battery-V sense for the combiner: one front/house, one bed (Β§5.9/sheet 6). 5:1 divider β†’ firmware Γ—5; 3.3V ESP32 ceiling = 16.5V in β†’ house-side only (never alternator). ⚠️ Needs a free ADC pin on the 8DI-8DO β€” else read via the Modbus Analog In module.
Small ATO fuse block (4-6 way) β€” always-on feeds onlyAmazon~$8The True Mods boxes fuse the relay circuits; this is only for the non-relay always-on feeds (Waveshare F12, Pi F13, Cudy/Switch-A F14, trigger rail F11).
Always-on CAN + proximity: ESP32 WROOM-32β€”OWNEDrev 3.4: demoted to optional reserve β€” only deployed if the single Waveshare can't carry relays+CAN+LVD+proximity at 100% (see Β§6)
Always-on tier: Raspberry Pi 3 B+β€”OWNEDBroker + wake-coordinator + status/control PWA + telemetry log + Wolfbox pull + Tailscale; NO audio. Pi 4 = FUTURE upgrade
Cameras: 6-8Γ— mini PoE IP (4MP/1080p)AliExpress (HDAY-CAM)~$27-33 eaβšͺ Defer. See Β§7 β€” test ONE first
PoE switch: TP-Link LS108GPAmazon~$35βšͺ Defer (with cameras). 8-port ALL PoE+, 62W β€” see Β§7.5 budget caveat
~~Internet: Cudy LT18 4G LTE router~~β€”OWNED (rev 3.4)No longer a purchase. Cat 18, WiFi 6, OpenWrt; main router + likely Tailscale subnet router (see Β§4.1); traffic locked to API/Tailscale/security JPEGs
SIM: Keepgo North America Lifetimekeepgo.com$4 SIM + data1GB=$4, 10GB=$38, 25GB=$73; credits never expire
~~USB BT 5.0 dongle~~β€”DROP (teardown) β€” OptiPlex has built-in Intel AX201 BT 5.2 + BLE; use it for A2DP (S24 music) + BLE proximity. Buy a dongle only if the built-in proves flaky on Linux.
πŸ”΄ reSpeaker XVF3800 mic array (USB, Case)Seeed (SKU 114993701)~$57BUY-NOW #2. OptiPlex voice input for Porcupine + whisper.cpp; 4-mic array, onboard AEC/NS, USB plug-and-play on Linux (Β§9.1)
USB GPS dongleAmazon~$15TRUCK location (not approach-sensing β€” that's the BLE dongle). Jobs: phone-geofence wake (longer-range, needs cell) Β· find-my-truck in alerts Β· geo-stamp the event log Β· offline clock (NTP needs internet; GPS + ESP32 RTC keep time off-grid)
~~12V→19V DC converter~~—OWNEDGot the 12V→19V 10A; hardwire to the OptiPlex (§5.9)
🟑 VEVOR 40A alternator-only DC-DCAmazon~$104alternatorβ†’house (keep EPEVER for solar; Β§5.9). NOT the combined-MPPT unit
🟑 Combiner: 150-200A contactor + ~5Ω 25-50W resistor + Anderson SB175Amazon~$40-60ESP32 pre-charge combiner for the bed battery (§5.9)
Keyring BLE beacon (iBeacon/nRF)Amazon~$5-10Approach-wake (the actual proximity sensor); coin cell, months β€” see Β§4.6
Inverter (if upgrading)Amazon~$120-1501000W+ pure sine (own 800W may suffice)
Dash button: illuminated momentaryAmazon~$15Wakes OptiPlex (cold-boot fallback) / shows state
Cab temp sensorAmazon~$5Thermal cutoff β€” see Β§10
Thermal paste: KryonautAmazon~$8CPU swap
Bosch 40A automotive relay Γ—2Amazon~$10Intermediate relay for high-draw 12V loads (inverter, etc.) β€” see Β§5.6
Cat5 + posi-taps + wiringAmazon~$40
OBD2 breakout cableAmazon~$12Screw-terminal CAN access

Carputer subtotal (no tablet, no GPU/CPU upgrade, Cudy now owned, GL.iNet likely dropped): ~$900-1,100 full superset. But you don't buy it all at once β€” see Β§3.0 buckets. Buy-now to go live = ~$104 (FRONT Waveshare board + XVF3800 mic); the bed board + camp cluster (~$67: 2nd Waveshare $43 + bed Modbus $24) is need-soon, bought when you build out the tent/rack/lights zone (Β§6.5). The rest is incremental as you reach for cameras / lights / daily-driving. (Cudy moved to owned and the GL.iNet is now fallback-only, trimming ~$160 of the old estimate.)

Moved out of the carputer list (rev 3.3): the E5-2699 v4 (22-core, ~$80) and 2Γ— RTX 3060 12GB (~$464) are Z440 upgrades, not carputer parts β€” the in-truck brain is the CPU-only OptiPlex (no discrete GPU). These belong to the Β§11 home RAG server budget (one 3060 drives Qwen3 14B at home; the CPU is moot now the Z440 is shelved). Buy them only if/when you stand up the home RAG box, not for the truck.

Deferred / Phase 2

ItemPriceWhen
Phoenix Automotive 9.7" S7865 Android 14, Auto AC~$498After tablet proves stack; CONFIRM heated/cooled seats retained first
4K camera upgrade~$350Switch already sized for it

3.1 Brain hardware β€” OptiPlex vs Vecow SPC-7100 (open consideration)

The OptiPlex 5080 (~$150) is the current brain. A Vecow SPC-7100 (i7-1185GRE, fanless industrial) is the philosophically right truck box and was evaluated:


β€Ή 2. HARDWARE β€” ALREADY OWNED (No Cost)4. SYSTEM ARCHITECTURE β€” THREE TIERS β€Ί