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) · water pump + tailgate ESP32-S3 voice satellite (when the shower is real — pump on bed DO7, §6.5; satellite ~$15-50 for hands-free-wet-hands voice).

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-32OWNEDrev 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 ›