658 lines
13 KiB
Markdown
658 lines
13 KiB
Markdown
# Wiring
|
|
|
|
This document describes the current planned wiring for the Overland Controller install.
|
|
|
|
The current system uses:
|
|
|
|
- ESP32 2-relay controller board
|
|
- Raspberry Pi Pico 2 W dashboard
|
|
- CAT5/CAT6 cable between rear controller and dash
|
|
- 12V-to-5V buck converter in the dash enclosure
|
|
- DS18B20 temperature sensors
|
|
- JBD/Xiaoxiang BMS over BLE
|
|
- External automotive relays for high-current loads
|
|
|
|
---
|
|
|
|
## Current ESP32 Relay Board
|
|
|
|
Board markings:
|
|
|
|
ESP32_Relay_X2
|
|
|
|
Relay contact terminals:
|
|
|
|
NO1 COM1 NC1 NO2 COM2 NC2
|
|
|
|
Power terminal:
|
|
|
|
VCC GND 5V
|
|
|
|
UART/programming header:
|
|
|
|
IO0 GND GND RX TX 5V
|
|
|
|
Firmware relay mapping:
|
|
|
|
relay_1 = GPIO16
|
|
relay_2 = GPIO17
|
|
|
|
---
|
|
|
|
## System Power Overview
|
|
|
|
Plain text diagram:
|
|
|
|
House Battery +
|
|
|
|
|
+---- Main fuse / distribution
|
|
|
|
|
+---- 2A fuse --------------------> ESP32 relay board VCC
|
|
|
|
|
+---- 1A or 2A fuse --------------> CAT5 blue pair to dash +12V
|
|
|
|
|
+---- Load fuse ------------------> Automotive relay #1 pin 30
|
|
|
|
|
+---- Load fuse ------------------> Automotive relay #2 pin 30
|
|
|
|
House Battery -
|
|
|
|
|
+---------------------------------> Common ground bus
|
|
|
|
|
+--> ESP32 relay board GND
|
|
+--> CAT5 green pair to dash GND
|
|
+--> Automotive relay coil grounds
|
|
+--> Load grounds
|
|
|
|
Notes:
|
|
|
|
- Fuse every positive feed.
|
|
- Keep all grounds common.
|
|
- Do not run high-current loads directly through the ESP32 relay board.
|
|
- Use the ESP32 relay board to trigger automotive relays.
|
|
|
|
---
|
|
|
|
## ESP32 Board Power
|
|
|
|
Use the bottom-right power terminal:
|
|
|
|
VCC GND 5V
|
|
|
|
Recommended wiring:
|
|
|
|
House battery +
|
|
|
|
|
+-- 2A fuse
|
|
|
|
|
+---> ESP32 VCC
|
|
|
|
House battery -
|
|
|
|
|
+---> ESP32 GND
|
|
|
|
Leave the ESP32 board 5V terminal unused unless verified for your exact board/power setup.
|
|
|
|
---
|
|
|
|
## Pico Dashboard Power Over CAT5
|
|
|
|
The dash Pico should be powered from a buck converter inside the dash enclosure.
|
|
|
|
Rear compartment:
|
|
|
|
House battery +
|
|
|
|
|
+-- 1A or 2A fuse
|
|
|
|
|
+---> CAT5 blue/white + blue conductors
|
|
|
|
House battery -
|
|
|
|
|
+---> CAT5 green/white + green conductors
|
|
|
|
Dash enclosure:
|
|
|
|
CAT5 blue pair +12V
|
|
|
|
|
+---> Buck converter IN+
|
|
|
|
CAT5 green pair GND
|
|
|
|
|
+---> Buck converter IN-
|
|
|
|
Buck converter OUT+ 5V
|
|
|
|
|
+---> Pico VSYS
|
|
|
|
Buck converter OUT- GND
|
|
|
|
|
+---> Pico GND
|
|
|
|
Important:
|
|
|
|
- Do not connect 5V to Pico 3V3.
|
|
- Use Pico VSYS for 5V input.
|
|
- Keep ESP32 GND and Pico GND connected through the CAT5 ground pair.
|
|
|
|
---
|
|
|
|
## CAT5 / CAT6 Cable Plan
|
|
|
|
Recommended CAT5/CAT6 wiring between the rear ESP32 controller and dash Pico:
|
|
|
|
Orange/White ESP32 TX ---> Pico GP1 RX
|
|
Orange ESP32 RX <--- Pico GP0 TX
|
|
|
|
Green/White Ground
|
|
Green Ground
|
|
|
|
Blue/White +12V fused dash feed
|
|
Blue +12V fused dash feed
|
|
|
|
Brown/White Spare
|
|
Brown Spare
|
|
|
|
Notes:
|
|
|
|
- Use two conductors for +12V.
|
|
- Use two conductors for ground.
|
|
- UART requires shared ground.
|
|
- Brown pair is reserved for future expansion.
|
|
|
|
---
|
|
|
|
## Pico 2 W UART Pins
|
|
|
|
Recommended Pico UART pins:
|
|
|
|
Pico GP0 = UART0 TX
|
|
Pico GP1 = UART0 RX
|
|
|
|
Connection:
|
|
|
|
ESP32 TX ---> Pico GP1 RX
|
|
ESP32 RX <--- Pico GP0 TX
|
|
ESP32 GND ---> Pico GND
|
|
|
|
Do not connect ESP32 5V to Pico unless intentionally using it as a power source.
|
|
|
|
Current plan is to power Pico from local dash buck converter instead.
|
|
|
|
---
|
|
|
|
## ESP32 UART Header
|
|
|
|
The ESP32 relay board exposes a 6-pin header:
|
|
|
|
IO0 GND GND RX TX 5V
|
|
|
|
Use:
|
|
|
|
TX ---> Pico GP1 RX
|
|
RX <--- Pico GP0 TX
|
|
GND ---> Pico GND
|
|
|
|
Do not use IO0 for dashboard wiring.
|
|
|
|
Do not use 5V for dashboard power in the current design.
|
|
|
|
---
|
|
|
|
## DS18B20 Temperature Sensor Bus
|
|
|
|
Recommended ESP32 GPIO:
|
|
|
|
GPIO4
|
|
|
|
All DS18B20 sensors share one 1-Wire data bus.
|
|
|
|
Plain text diagram:
|
|
|
|
ESP32 3.3V
|
|
|
|
|
+---- 4.7k pull-up resistor
|
|
|
|
|
ESP32 GPIO4 --------------------+---- DS18B20 Sensor 1 data
|
|
|
|
|
+---- DS18B20 Sensor 2 data
|
|
|
|
|
+---- DS18B20 Sensor 3 data
|
|
|
|
|
+---- DS18B20 Sensor 4 data
|
|
|
|
|
+---- Additional sensors up to temp_8
|
|
|
|
ESP32 3.3V -------------------------- DS18B20 red wires
|
|
ESP32 GND -------------------------- DS18B20 black wires
|
|
ESP32 GPIO4 ------------------------- DS18B20 data wires
|
|
|
|
Typical waterproof DS18B20 wiring:
|
|
|
|
Red = 3.3V
|
|
Black = GND
|
|
Yellow = Data
|
|
|
|
Important:
|
|
|
|
- A 4.7k resistor is required between 3.3V and data.
|
|
- One pull-up resistor is used for the whole bus.
|
|
- Do not use one resistor per sensor.
|
|
- Long leads may need clean splices and good grounding.
|
|
|
|
---
|
|
|
|
## BMS Connection
|
|
|
|
The JBD/Xiaoxiang BMS is wireless.
|
|
|
|
Connection:
|
|
|
|
ESP32 <---- BLE ----> JBD/Xiaoxiang BMS
|
|
|
|
No physical BMS data wiring is currently required.
|
|
|
|
The BMS Bluetooth address is stored in controller configuration.
|
|
|
|
---
|
|
|
|
## Relay Control Strategy
|
|
|
|
The onboard ESP32 relays should trigger automotive relays.
|
|
|
|
They should not directly power large vehicle loads.
|
|
|
|
Recommended pattern:
|
|
|
|
ESP32 onboard relay
|
|
|
|
|
+-- switches automotive relay coil
|
|
|
|
|
+-- automotive relay switches load power
|
|
|
|
This keeps high current off the ESP32 board.
|
|
|
|
---
|
|
|
|
## Relay 1 Automotive Relay Wiring
|
|
|
|
Example installation-specific name:
|
|
|
|
relay_1 = Starlink
|
|
|
|
ESP32 board contact terminals:
|
|
|
|
COM1
|
|
NO1
|
|
|
|
Automotive relay wiring:
|
|
|
|
House battery +
|
|
|
|
|
+-- load fuse
|
|
|
|
|
+---> Automotive relay pin 30
|
|
|
|
Automotive relay pin 87
|
|
|
|
|
+---> Load positive
|
|
|
|
Load negative
|
|
|
|
|
+---> Ground bus
|
|
|
|
Automotive relay pin 85
|
|
|
|
|
+---> Ground bus
|
|
|
|
Automotive relay pin 86
|
|
|
|
|
+---> Switched positive from ESP32 relay COM1/NO1 circuit
|
|
|
|
ESP32 relay contact wiring concept:
|
|
|
|
Fused low-current +12V
|
|
|
|
|
+---> ESP32 relay COM1
|
|
|
|
ESP32 relay NO1
|
|
|
|
|
+---> Automotive relay pin 86
|
|
|
|
When relay_1 turns on, COM1 connects to NO1 and energizes the automotive relay coil.
|
|
|
|
---
|
|
|
|
## Relay 2 Automotive Relay Wiring
|
|
|
|
Example installation-specific name:
|
|
|
|
relay_2 = Fridge
|
|
|
|
ESP32 board contact terminals:
|
|
|
|
COM2
|
|
NO2
|
|
|
|
Automotive relay wiring:
|
|
|
|
House battery +
|
|
|
|
|
+-- load fuse
|
|
|
|
|
+---> Automotive relay pin 30
|
|
|
|
Automotive relay pin 87
|
|
|
|
|
+---> Load positive
|
|
|
|
Load negative
|
|
|
|
|
+---> Ground bus
|
|
|
|
Automotive relay pin 85
|
|
|
|
|
+---> Ground bus
|
|
|
|
Automotive relay pin 86
|
|
|
|
|
+---> Switched positive from ESP32 relay COM2/NO2 circuit
|
|
|
|
ESP32 relay contact wiring concept:
|
|
|
|
Fused low-current +12V
|
|
|
|
|
+---> ESP32 relay COM2
|
|
|
|
ESP32 relay NO2
|
|
|
|
|
+---> Automotive relay pin 86
|
|
|
|
When relay_2 turns on, COM2 connects to NO2 and energizes the automotive relay coil.
|
|
|
|
---
|
|
|
|
## Automotive Relay Pin Reference
|
|
|
|
Common Bosch-style relay pins:
|
|
|
|
30 = Common load power input
|
|
87 = Normally open load output
|
|
87a = Normally closed output, if present
|
|
85 = Coil side
|
|
86 = Coil side
|
|
|
|
Recommended use:
|
|
|
|
30 = fused battery positive
|
|
87 = load positive
|
|
85 = ground
|
|
86 = switched positive from ESP32 relay board
|
|
|
|
---
|
|
|
|
## Future Reserved Inputs
|
|
|
|
Do not wire these yet unless firmware support has been added.
|
|
|
|
Recommended reservations:
|
|
|
|
GPIO34 = Ignition sense input
|
|
GPIO35 = House battery voltage sense input
|
|
|
|
Reason:
|
|
|
|
- GPIO34 and GPIO35 are input-only.
|
|
- Input-only pins are appropriate for sensing.
|
|
- They are not appropriate for relay outputs.
|
|
|
|
Important:
|
|
|
|
Never connect vehicle 12V directly to an ESP32 GPIO.
|
|
|
|
Use a voltage divider or proper interface circuit.
|
|
|
|
---
|
|
|
|
## Current Version 1 Wiring Summary
|
|
|
|
Current required physical wiring:
|
|
|
|
ESP32 board VCC/GND from fused house battery power
|
|
|
|
ESP32 TX/RX/GND to Pico over CAT5
|
|
|
|
12V fused dash feed and ground to Pico dash enclosure over CAT5
|
|
|
|
Dash buck converter 12V to 5V
|
|
|
|
Buck 5V to Pico VSYS
|
|
|
|
ESP32 GPIO4 to DS18B20 1-Wire bus
|
|
|
|
4.7k pull-up from GPIO4 data bus to 3.3V
|
|
|
|
ESP32 relay COM/NO contacts to automotive relay coils
|
|
|
|
Automotive relays to actual high-current loads
|
|
|
|
ESP32 BLE to JBD/Xiaoxiang BMS
|
|
|
|
---
|
|
|
|
## Safety Notes
|
|
|
|
- Fuse every positive feed.
|
|
- Use proper wire gauge for each load.
|
|
- Keep high-current wiring separate from signal wiring where possible.
|
|
- Use common ground between ESP32, Pico, buck converter, relays, sensors, and battery.
|
|
- Do not connect 12V directly to any ESP32 or Pico GPIO.
|
|
- Do not power high-current loads directly through the ESP32 relay board.
|
|
- Test relay behavior with a multimeter before connecting expensive loads.
|
|
|
|
---
|
|
|
|
## Dash Power Revision
|
|
|
|
The current preferred dashboard power plan is to send fused 12V over the CAT5/CAT6 run and regulate it in the dash enclosure.
|
|
|
|
Rear compartment:
|
|
|
|
House battery +
|
|
|
|
|
+-- 1A or 2A fuse
|
|
|
|
|
+---> CAT5/CAT6 blue pair
|
|
|
|
House battery -
|
|
|
|
|
+---> CAT5/CAT6 green pair
|
|
|
|
Dash enclosure:
|
|
|
|
CAT5/CAT6 blue pair
|
|
|
|
|
+---> Buck converter IN+
|
|
|
|
CAT5/CAT6 green pair
|
|
|
|
|
+---> Buck converter IN-
|
|
|
|
Buck converter OUT+ 5V
|
|
|
|
|
+---> Pico VSYS
|
|
|
|
Buck converter OUT- GND
|
|
|
|
|
+---> Pico GND
|
|
|
|
Reason:
|
|
|
|
- Less voltage drop concern than sending 5V over the full cable run
|
|
- Clean local 5V regulation at the dashboard
|
|
- Pico/display power stays independent from the ESP32 board regulator
|
|
|
|
Important:
|
|
|
|
- Do not connect 12V directly to Pico.
|
|
- Do not connect 5V to Pico 3V3.
|
|
- Use Pico VSYS for 5V input.
|
|
|
|
---
|
|
|
|
## CAT5/CAT6 Updated Plan
|
|
|
|
Recommended cable assignment:
|
|
|
|
Orange/White ESP32 TX ---> Pico GP1 RX
|
|
Orange ESP32 RX <--- Pico GP0 TX
|
|
|
|
Green/White Ground
|
|
Green Ground
|
|
|
|
Blue/White +12V fused dash feed
|
|
Blue +12V fused dash feed
|
|
|
|
Brown/White Spare
|
|
Brown Spare
|
|
|
|
Notes:
|
|
|
|
- Blue pair carries fused 12V to the dash buck converter.
|
|
- Green pair carries ground.
|
|
- Orange pair carries UART.
|
|
- Brown pair remains spare.
|
|
|
|
---
|
|
|
|
## Compact Enclosure Direction
|
|
|
|
Current rear enclosure target:
|
|
|
|
ESP32 relay board
|
|
compact fuse block
|
|
ground bus
|
|
CAT6 keystone
|
|
wiring exits
|
|
|
|
Because the Starlink Mini and typical 12V fridge are modest loads, the onboard relays may be acceptable for the initial build if properly fused.
|
|
|
|
Suggested fuse allocation:
|
|
|
|
ESP32 controller 2A
|
|
Pico dashboard 1A or 2A
|
|
Starlink Mini 7.5A
|
|
Fridge 10A
|
|
Spare optional
|
|
Spare optional
|
|
|
|
External automotive relays remain a good upgrade path for higher-current loads.
|
|
|
|
|
|
---
|
|
|
|
## Current Relay Switching Decision
|
|
|
|
For the current Starlink Mini and fridge use case, the built-in ESP32 relay board relays are the planned switching method.
|
|
|
|
Use positive-side switching:
|
|
|
|
Battery +
|
|
|
|
|
Fuse
|
|
|
|
|
Relay COM
|
|
|
|
|
Relay NO
|
|
|
|
|
Load +
|
|
|
|
Load -
|
|
|
|
|
Ground bus
|
|
|
|
External automotive relays are reserved for future higher-current loads.
|
|
|
|
## DS18B20 Final Install Direction
|
|
|
|
Temporary Wago wiring proved one probe, but final install should use a proper terminal/distribution board.
|
|
|
|
Recommended:
|
|
|
|
3.3V bus
|
|
DATA bus
|
|
GND bus
|
|
|
|
With:
|
|
|
|
4.7k resistor between DATA and 3.3V
|
|
|
|
Only three wires need to return to the ESP32:
|
|
|
|
3.3V
|
|
GPIO4
|
|
GND
|
|
|
|
---
|
|
|
|
## Pico Dashboard Wiring
|
|
|
|
The Pico dashboard should be powered from a local 12V-to-5V buck converter in the dash enclosure.
|
|
|
|
Rear enclosure sends fused 12V over CAT5e.
|
|
|
|
Dash side:
|
|
|
|
CAT5e +12V -> buck IN+
|
|
CAT5e GND -> buck IN-
|
|
|
|
buck OUT+ 5V -> Pico VSYS
|
|
buck OUT+ 5V -> Display VCC
|
|
|
|
buck OUT- GND -> Pico GND
|
|
buck OUT- GND -> Display GND
|
|
|
|
Display wiring:
|
|
|
|
SCLK -> Pico GPIO18
|
|
MOSI -> Pico GPIO19
|
|
LCD_CS -> Pico GPIO17
|
|
LCD_DC -> Pico GPIO16
|
|
LCD_RST -> Pico GPIO20
|
|
LCD_BL -> Pico GPIO21
|
|
|
|
Touch wiring, reserved for future:
|
|
|
|
TP_SDA -> Pico GPIO26
|
|
TP_SCL -> Pico GPIO27
|
|
TP_INT -> Pico GPIO28
|
|
TP_RST -> Pico GPIO15
|
|
|
|
UART wiring:
|
|
|
|
ESP32 GPIO21 TX -> Pico GPIO0 RX
|
|
ESP32 GPIO22 RX -> Pico GPIO1 TX
|
|
ESP32 GND -> Pico GND
|
|
|
|
Do not use the ESP32 6-pin UART header for the dashboard UART. It appears to be connected to RXD/TXD for UART0/programming/debug.
|
|
|
|
|
|
|
|
## Dashboard Wiring (Current Direction)
|
|
|
|
Dashboard Hardware:
|
|
- Waveshare 5" ESP32-S3 Display
|
|
|
|
Communications:
|
|
- WiFi connection to cargo ESP32 AP
|
|
- HTTP API polling
|
|
- No UART required for normal operation
|
|
|
|
CAT5e Usage:
|
|
- 12V power from cargo area to dashboard
|
|
- Local buck converter in dashboard enclosure
|
|
- Common ground
|
|
|
|
Optional Future:
|
|
- UART over CAT5e for diagnostics or alternate dashboard hardware
|