2.8 KiB
Hardware
Cargo ESP32
The cargo ESP32 is the controller and source of truth.
Responsibilities:
- BMS BLE
- Relays
- DS18B20 temps
- WebUI
- HTTP API
- AP mode
- Alarms
Relay board outputs are trigger/control outputs only.
High-current loads must use properly fused automotive relays or contactors.
Do not directly route fridge, Starlink, inverter, lights, or other major loads through the ESP32 relay board.
Dashboard
Target:
Waveshare ESP32-S3-Touch-LCD-5
Reasons:
- ESP32-S3 is mature enough for LVGL dashboard
- 5 inch 800x480 display gives enough UI space
- WiFi connects to Cargo ESP32 AP
- CAN interface with onboard TJA1051 supports future OBD-II vehicle data
- microSD allows future logging
- 7-36V VIN supports vehicle power
Dashboard Power
Preferred:
ACC switched 12V
-> fuse
-> Waveshare VIN
Do not use OBD-II pin 16 for permanent dashboard power.
CAN / OBD-II
OBD-II pins:
Pin 6 = CAN-H
Pin 14 = CAN-L
Pin 5 = Signal Ground, optional if needed
Pin 16 = Battery 12V, do not use for permanent display power
Waveshare CAN termination must remain disabled on vehicle CAN.
Preferred CAN wiring:
OBD pin 6 -> Waveshare CAN-H
OBD pin 14 -> Waveshare CAN-L
Optional:
OBD pin 5 -> board/system ground
Use twisted pair. Cat5e/Cat6 twisted pair is acceptable for short vehicle runs.
Avoid Scotchlok/vampire taps on vehicle CAN. Prefer OBD splitter or proper automotive splice.
Vehicle Data
Coolant temp:
Standard OBD-II PID 0105
RPM:
Standard OBD-II PID 010C
Vehicle speed:
Standard OBD-II PID 010D
Transmission Temperature Sender
Preferred over Nissan-specific trans-temp CAN reverse engineering.
Candidate:
Autometer 2258 / 2259 style sender
Resistance table:
100F = 1123 ohms
120F = 708 ohms
140F = 460 ohms
150F = 374 ohms
170F = 253 ohms
190F = 175 ohms
210F = 123 ohms
230F = 89 ohms
250F = 65 ohms
280F = 42 ohms
300F = 32 ohms
320F = 25 ohms
340F = 20 ohms
Implementation:
- Sender to ADC voltage divider, or
- Sender to ADS1115 over I2C if no suitable exposed ADC exists
Use lookup-table interpolation.
Cargo OLED service display
Planned optional hardware:
- 0.96 inch SSD1306 OLED
- 128x64 resolution
- I2C interface
- Typical address: 0x3C
- Suggested initial pins:
- SDA: GPIO 21
- SCL: GPIO 22
- VCC: 3.3V
- GND: common ground
Purpose:
- Show first-boot AP setup credentials without requiring Serial Monitor.
- Show AP SSID, password, and IP address during setup/recovery.
- Show quick service status:
- battery SOC
- voltage/current
- relay states
- WiFi/IP
- active alarms
Firmware support is optional and disabled by default with OLED_ENABLED set to 0. Enable only after the OLED libraries are installed and the display is wired.