Files
overland-controller/README.md
T
2026-06-04 04:07:28 -06:00

4.2 KiB

Overland Controller

A modular ESP32 and Raspberry Pi Pico based monitoring and control system for overland vehicles, campers, trailers, van builds, and mobile power systems.

The project uses a distributed architecture consisting of:

  • An ESP32 controller mounted near the battery and electrical system
  • A Raspberry Pi Pico 2 W dashboard mounted in the vehicle cabin
  • Local WiFi communication
  • Offline-first operation
  • Expandable sensor and relay support
  • Open JSON APIs for future integrations

Project Goals

The goal of Overland Controller is to provide a self-hosted alternative to commercial vehicle monitoring systems.

The platform is designed to monitor and control:

  • House battery systems
  • Temperature sensors
  • Auxiliary relays
  • Vehicle telemetry
  • Overland accessories
  • Future automation systems

The system should be:

  • Local-first
  • Cloud independent
  • Vehicle independent
  • Easy to troubleshoot
  • Easy to expand

Current Architecture

ESP32 Controller

The ESP32 acts as the primary control and monitoring node.

Current responsibilities:

  • JBD/Xiaoxiang BMS monitoring
  • DS18B20 temperature monitoring
  • Relay control
  • Configuration management
  • Local web API
  • WiFi Access Point
  • Dashboard communications
  • System status reporting

Raspberry Pi Pico Dashboard

The Pico dashboard acts as the user interface.

Planned responsibilities:

  • Touchscreen dashboard
  • Relay control
  • Battery monitoring display
  • Temperature monitoring display
  • Vehicle status display
  • Configuration interface
  • Alarm notifications

Current Features

Battery Monitoring

Supported:

  • JBD / Xiaoxiang Bluetooth BMS

Available telemetry:

  • State of charge
  • Voltage
  • Current
  • Remaining capacity
  • Total capacity
  • Runtime estimates
  • Temperature
  • Cycle count
  • Cell voltages
  • Cell imbalance
  • Cell count

Temperature Monitoring

Supported:

  • DS18B20 OneWire temperature sensors

Features:

  • Up to 8 sensors
  • User-configurable names
  • Online/offline detection
  • Sensor health reporting
  • JSON API reporting

Relay Control

Features:

  • Multiple relay outputs
  • User-configurable names
  • API control
  • Serial console control
  • Dashboard control (planned)

Recommended usage:

  • Fridge power relays
  • Starlink power relays
  • Lighting relays
  • Inverter enable relays
  • Accessory relays

The ESP32 relay outputs are intended to drive automotive relays rather than directly power large loads.

Configuration System

Configuration is stored locally and survives reboot.

Configurable items include:

Device

  • Device name

Relays

  • Relay name
  • GPIO assignment
  • Enabled state

Temperature Sensors

  • Sensor name
  • Sensor address
  • Enabled state

BMS

  • BMS name
  • Bluetooth address
  • Address type

Communication Interfaces

Serial Console

Used for:

  • Initial setup
  • Troubleshooting
  • Configuration changes
  • BLE discovery
  • Diagnostic logging

See SERIAL_COMMANDS.md for details.

HTTP API

Provides:

  • Status reporting
  • Configuration management
  • Relay control
  • Dashboard integration

See API.md for details.

Current Development Status

Completed

  • Configuration storage
  • Relay control
  • JSON status API
  • BLE BMS integration
  • BMS setup workflow
  • DS18B20 framework
  • Access Point mode
  • Web server
  • Dashboard communications framework
  • Generic naming architecture

In Progress

  • Dashboard software
  • Temperature sensor assignment workflow
  • Expanded configuration API
  • Documentation cleanup

Planned

  • Pico touchscreen dashboard
  • OBD-II integration
  • GPS integration
  • MQTT support
  • Home Assistant integration
  • Historical data logging
  • Graphing
  • Alerting system
  • OTA updates
  • Multi-controller support

Design Philosophy

The project follows several core principles:

  1. Local-first operation
  2. No cloud dependency
  3. Generic hardware naming
  4. Open interfaces
  5. Modular architecture
  6. Expandable hardware support
  7. Easy field troubleshooting
  8. Vehicle-independent deployment

Documentation

  • README.md — Project overview
  • API.md — HTTP API documentation
  • SERIAL_COMMANDS.md — Serial console commands
  • HARDWARE.md — Hardware overview
  • ARCHITECTURE.md — System architecture
  • CHANGELOG.md — Project history

License

Private project currently under active development.