☰ Menu
🏠 Overview
0. THE BINDING CONSTRAINT — READ THIS FIRST
1. PROJECT OVERVIEW
2. HARDWARE — ALREADY OWNED (No Cost)
3. CARPUTER — HARDWARE TO PURCHASE
4. SYSTEM ARCHITECTURE — THREE TIERS
5. POWER ARCHITECTURE (the keystone)
6. ESP32 NODE NETWORK (Tier 0)
7. CAMERA SYSTEM + NVR
8. CAN BUS INTEGRATION
9. SOFTWARE STACK
10. THERMAL MANAGEMENT
11. HOME RAG SERVER (HP Z440 #1)
12. OFF-GRID MESH + REMOTE ACCESS (Phase 2/3)
13. PENDING ACTIONS
14. PHASED ROADMAP
15. COST SUMMARY
16. ARCHITECTURE AT A GLANCE
17. MASTER PARTS LIST (BOM) (rev 3.43)
▣ Wire Diagrams
Full Wiring 6 — Bed-battery combiner (BED board + DC Monitor)
+
-
Fit
100%
wheel / pinch = zoom · drag = pan
fw6_combiner
FULL WIRING SHEET 6 — BED-BATTERY COMBINER (§5.9 · §6.5, rev 3.55)
contactor + pre-charge, pin-by-pin — state machine runs LOCALLY on the BED board (Option B); no truck-length bus in the safety loop
WHY pre-charge: two low-ESR LiFePO4 banks + inverter input caps — slam the contactor at ΔV and only ~15 mΩ of cable resists → 30–60A+ spike, caps look like a dead short for ms → arcing / welded contacts / BMS trips. The 5Ω makes worst case a gentle 2.7A. · physical layout, glands, breather: Sheet 8
cluster_bank
REMOVABLE BED BANK — 2× Dumfume 300Ah (~7.7 kWh)
one chain per pack (×2), paralleled on the way to STUD A · each pack ~30 kg = liftable (§5.8)
cluster_sb
ANDERSON SB175 + handle (×2)
contactor open → mates onto a DEAD circuit
(only the DC-Monitor sense tap) = NO SPARK
plug-in auto-detected: pack V appears on ch2,
~5s debounce → sequence runs, no user action
cluster_power
POWER SECTION — SEPARATE box/bracket (Sheet 8)
contactor · resistor · bus bars — high current stays OUT of the control box
cluster_cont
CONTACTOR 150–200A · 12V coil · NORMALLY OPEN
continuous-duty (White-Rodgers 120-105 / EV200 class)
NO = FAIL-SAFE: bed board dead / power lost → coil drops → banks isolate
cluster_box
CONTROL BOX — Lost Creek medium IP67 (Sheet 8)
logic only: bed board · DC Monitor · RLY-PC · small fuse block (5A feeds)
pack
BED PACK ×2
Dumfume 12V 300Ah LiFePO4
removable · store at 50–60%
never charge below 0°C
prot
PER-PACK PROTECTION
MRBF 100–150A
AT the + post (fuse FIRST)
275A rotary disconnect
(red key, ~$12)
OFF = mate/unmate ALWAYS dead +
service lockout, independent of software
pack->prot
2 AWG
sbn
− contact
pack->sbn
2 AWG
sbp
+ contact
prot->sbp
2 AWG
studA
STUD A
(battery side)
sbp->studA
2 AWG ×2
bedneg
BED − BUS BAR
negative NEVER fused, NEVER switched
− trunk = the bed↔front ground (star, §5.9)
sbn->bedneg
2 AWG
studB
STUD B
(bus side)
studA->studB
CLOSED =
mΩ path
dcm
MODBUS DC MONITOR (SKU 33931)
0–36V · 16-bit · 4-ch, on the bed board's LOCAL RS485
ch1 = front/bus V · ch2 = bed stud-A V → ΔV
REPLACES the 100k:10k divider → ADC2 (rev 3.30)
common-GND required — star ground = OK
⚠ current ±8A only → NOT the main shunt (WonVon stays)
studA->dcm
ch2 bed-V · 22 AWG
+ 1A fuse AT the tap
bedbus
BED + BUS BAR
always tied to the front bus via the
125A-fused trunk (Sheet 1) → also = front-V
studB->bedbus
2 AWG
coil
coil + / coil −
1N4007 flyback ACROSS the coil
(stripe → coil +) — clamps the inductive
kick, protects RLY-O5's contacts
coil->bedneg
coil − return
res
PRE-CHARGE RESISTOR 5Ω · 25–50W
aluminum-housed wirewound, bolted to
metal (heatsink for the fault case:
13.5V/5Ω = 2.7A · 36W)
res->studA
lands ON STUD A =
bypass AROUND
the contactor
r5
RLY-O5 — contactor driver
(Bosch, socketed)
86 ← fused +12V ·
85 ← DO1 sink
(via G1)
30 ← 5A fused feed ·
87 → coil +
waterproof socket next to the contactor
r5->coil
87 → coil + · 16–18 AWG · ~0.6–1A
bedbus->dcm
ch1 front/bus-V
esp
BED ESP32-S3 BOARD (Waveshare 8DI-8DO)
runs the combiner state machine LOCALLY (§6.5)
board dies → DOs dark → contactor opens = FAIL-SAFE
DO1 → RLY-O5 · DO2 → RLY-PC · RS485 → DC Monitor
Ethernet to front = coordination/telemetry ONLY
dcm->esp
RS485 Modbus — local, in-box
seq
SEQUENCE (local, on the bed board)
0 ISOLATED — both DOs off. NO contactor = fail-safe.
1 REQUEST (plug-in auto-detect / app) — read ch1 vs ch2.
2 PRE-CHARGE ON (DO2) — current through the 5Ω:
I = ΔV/5
.
Fixes in SECONDS: inverter caps (τ = 5Ω × ~10mF ≈ 50ms)
+ surface charge. Can NEVER fix a real SoC gap
(0.1–0.4A into 300Ah+ ≈ 0.05%/hr) — ΔV still there
after ~15s = genuine SoC gap, waiting won't close it.
3 DECIDE ~15s, by ΔV (inrush ≈ ΔV / 15–25 mΩ loop):
ΔV ≤ 0.2–0.3V → CLOSE
(~10–20A blip — the common
case: LiFePO4 rests 13.0–13.4V over most of SoC)
0.3–0.7V AND charge source ON → close = managed merge
>0.7V → STAY ISOLATED + alert (rule at right)
4 CLOSE (DO1) — nothing "switches over": the contactor's
milliohms simply parallel the 5Ω; current takes the metal.
5 +0.5s: DO2 off — resistor out of circuit. COMBINED.
6 SEPARATE — DO1 off (LVD / fault / request) → state 0.
esp->r5
DO1 sink → 85 (out via G1)
rpc
RLY-PC — pre-charge relay (Bosch, in-box)
86 ← fused +12V ·
85 ← DO2 sink
30 ← 5A fused feed ·
87 → 5Ω
(out via G1)
esp->rpc
DO2 sink → 85
front
FRONT / CAB
Switch A → front board + OptiPlex
MQTT/PWA announce, telemetry
NOT in the safety loop
esp->front
Ethernet (Cat5e)
rpc->res
87 → 16 AWG via G1
plugnote
PLUG / UNPLUG
PLUG-IN:
sparkless (dead circuit) → auto-detect ~5s
debounce → COMBINED in ~15–25s, hands-off.
UNPLUG:
SEPARATE FIRST (app / override / rotary OFF),
THEN pull the SB175 — while combined, ch2 reads BUS V
through the closed contactor (a yank is invisible, and the
connector would break load current = arc).
rules
RULES
DEEPLY-DEPLETED (>0.7V band):
the 5Ω cannot fill a dead
bank (~0.2A into 300Ah+ ≈ forever). Combine ONLY under
ACTIVE CHARGE: the charger lifts the bed toward charge V,
banks meet there, THEN pre-charge + close. The SOURCE
fills the bank, not the front battery.
REBOOT (§6.3):
restore_mode ALWAYS_OFF on DO1/DO2 —
never restore relay state from flash (pack may have been
swapped) · ~10s boot-settle before energizing anything ·
no DO1 until both voltages read + banded. A reboot mid-
COMBINED drops the contactor (break-rated) → self-heals:
re-read, ΔV≈0, band-1 recombine.
parts
PARTS (combiner subsystem)
· 150–200A 12V continuous-duty NO contactor
· 5Ω 25–50W aluminum-shell resistor · 1N4007
· 2× Bosch relay (RLY-O5 socket + RLY-PC in-box)
· 2× MRBF 100–150A + holders (one per pack + post)
· 2× Anderson SB175 + handles · 275A rotary disconnect
· Modbus DC Monitor SKU 33931 (V-sense — no divider)
· wire: 2 AWG battery/studs/bus · 16 AWG pre-charge
· 16–18 coil · 22 AWG sense (+1A fuse at the tap)
open the PDF version ›
‹ prev
next ›