โฐ 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
Lighted switch + separate state-indicator LED (ESP32-S3 master โ Modbus sub)
๏ผ
๏ผ
Fit
100%
wheel / pinch = zoom ยท drag = pan
switch_indicator_twoboard
2014 RAM 1500 Carputer โ LIGHTED SWITCH + SEPARATE STATE-INDICATOR LED, on the two-board chain (ESP32-S3 MASTER <-> Modbus IO SUB over RS485)
Design: the switch's OWN light is a dumb ALWAYS-ON locator (find it in the dark). A SEPARATE LED mounted ABOVE the switch shows TRUE LOAD STATE, driven by a Waveshare DO.
Two light jobs, decoupled: locator = hardwired to 12V (Waveshare never touches it) ยท state indicator = low-side switched by a DO (12V on the anode, DO grounds the cathode).
Why: on a MOMENTARY switch a contact-tied light can't stay lit. Separating them keeps the state light in sync with voice/app/auto, and frees switch choice.
LEGEND: blue = contact->DI ยท green = indicator LED- ->DO (sink = load ON) ยท red = +12V ยท black = GND ยท magenta = RS485 ยท purple dashed = DO->load relay
sw
LIGHTED MOMENTARY SWITCH (ON)-OFF
pin NO (contact)
pin COM (contact)
LED+ (locator)
LED- (locator)
gnd
GND rail (panel)
sw:com->gnd
COM->GND
sw:lm->gnd
locator LED- ->GND (always on)
mod
Modbus RTU IO 8CH @ PANEL (RS485 SLAVE, addr 2)
no brain โ master polls/commands it
DI1 (switch)
DO1 (state LED)
V+ 7-36V
GND
RS485 A
RS485 B
sw:no->mod:di1
NO->DI1 (24 AWG, signal)
ind
STATE-INDICATOR LED (mounted ABOVE the switch)
anode +
cathode -
ind:k->mod:do1
cathode->DO1 (sinks when load ON = true state)
v12
+12V rail (panel)
fused ~1-2A off the house bus
v12->sw:lp
12V->locator LED+ (always on)
v12->ind:a
12V->indicator anode
v12->mod:v
module power
gnd->mod:g
house
+12V always-on house bus
house->v12
tap + 1-2A fuse
ctrl
Waveshare ESP32-S3-POE-ETH-8DI-8DO โ RS485 MASTER
holds the load STATE (source of truth) ยท ESPHome ยท WiFiโMQTTโdash
RS485 A
RS485 B
DO load
mod:a->ctrl:a
RS485 A (Cat5 pair1)
mod:b->ctrl:b
RS485 B
relay
Bosch relay
(relay/fuse box)
ctrl:ld->relay
DO trigger (mA)
note
WIRING โ ONE CONTROL POINT = 1 DI + 1 DO
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Switch locator LED: LED+ -> 12V rail, LED- -> GND rail = ALWAYS glowing (dumb; Waveshare never drives it).
Switch contact: NO -> DI1, COM -> GND rail = dry contact; press pulls DI1 to ground.
State indicator LED: anode -> 12V rail, cathode -> DO1 = DO sinks when load ON -> LED lights (true state).
Use a 12V pre-resistored indicator LED (no external resistor). DO sinks 500mA; an LED is ~15mA.
ONE cable home (sub -> master): solid Cat5 -> pair1 = RS485 A/B ยท pair2 = 12V + GND ยท 2 spare.
One 8DI/8DO sub hosts up to 8 of these switch+indicator pairs.
SIGNAL FLOW on a press:
1. press -> NO closes -> DI1 to GND.
2. master polls SUB over RS485 -> sees DI1 change.
3. master toggles load state -> fires the Bosch relay (DO load).
4. master commands SUB DO1 -> indicator LED lights (true state).
5. master publishes state over WiFi/MQTT -> dash.
(app / voice take the SAME path -> switch + indicator + dash stay in sync.)
load
THE LOAD
(light / accessory, house 12V, fused)
relay->load
switched + fused (carries the load)
open the PDF version โบ
โน prev
next โบ