Files
overland-controller/docs/wiring.md
T

11 KiB

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.