Update project roadmap
This commit is contained in:
+227
-45
@@ -1,71 +1,253 @@
|
||||
# Project Roadmap
|
||||
# Roadmap
|
||||
|
||||
## Phase 1 — Simulator
|
||||
This roadmap tracks planned Overland Controller development.
|
||||
|
||||
Status: Complete
|
||||
The roadmap is flexible and may change as the project evolves.
|
||||
|
||||
Features:
|
||||
- Dashboard UI
|
||||
- Alarm System
|
||||
- Sensor Simulation
|
||||
- UART Communication Simulation
|
||||
- Protocol Layer
|
||||
## Phase 1: ESP32 Controller Foundation
|
||||
|
||||
## Phase 2 — Pico Dashboard
|
||||
Status: mostly complete
|
||||
|
||||
Status: Pending
|
||||
Goals:
|
||||
|
||||
Features:
|
||||
- 3.5" Touchscreen
|
||||
- Native Dashboard UI
|
||||
- Sleep/Wake Functionality
|
||||
- Establish ESP32 firmware structure
|
||||
- Implement relay control
|
||||
- Implement status reporting
|
||||
- Implement local configuration
|
||||
- Implement BMS telemetry
|
||||
- Implement generic relay/sensor naming
|
||||
- Establish HTTP and UART communication models
|
||||
|
||||
## Phase 3 — ESP32 Controller
|
||||
Completed:
|
||||
|
||||
Status: Pending
|
||||
- Relay control
|
||||
- JSON status API
|
||||
- Configuration persistence
|
||||
- Factory reset
|
||||
- BMS BLE telemetry
|
||||
- Cell voltage telemetry
|
||||
- Generic relay IDs
|
||||
- Generic temperature sensor IDs
|
||||
- HTTP API
|
||||
- Serial console commands
|
||||
- Documentation cleanup
|
||||
|
||||
Features:
|
||||
- Relay Control
|
||||
- UART Communications
|
||||
- Configuration Storage
|
||||
Remaining:
|
||||
|
||||
## Phase 4 — DS18B20 Sensors
|
||||
- Finish UART parity
|
||||
- Improve BLE setup reliability
|
||||
- Add stronger config validation
|
||||
- Add better command help output
|
||||
|
||||
Status: Pending
|
||||
## Phase 2: UART Parity
|
||||
|
||||
Features:
|
||||
- Fridge Monitoring
|
||||
- Rear Seat Monitoring
|
||||
- Outside Temperature
|
||||
Status: next priority
|
||||
|
||||
## Phase 5 — JBD BLE Integration
|
||||
Goal:
|
||||
|
||||
Status: Pending
|
||||
The Pico dashboard should be able to configure and control the ESP32 over UART without relying on WiFi.
|
||||
|
||||
Features:
|
||||
- SOC
|
||||
- Voltage
|
||||
- Current
|
||||
- Remaining Ah
|
||||
- Cell Voltages
|
||||
Minimum UART v1 messages:
|
||||
|
||||
## Phase 6 — Vehicle Telemetry
|
||||
- status_request
|
||||
- set_relay
|
||||
- config_request
|
||||
- config_device
|
||||
- config_relay
|
||||
- config_temp
|
||||
- config_bms
|
||||
- save_config
|
||||
- factory_reset
|
||||
- enter_bms_setup
|
||||
- scan_ble
|
||||
- select_bms
|
||||
- exit_bms_setup
|
||||
|
||||
Status: Pending
|
||||
Expected result:
|
||||
|
||||
Features:
|
||||
The Pico can:
|
||||
|
||||
- Read full system status
|
||||
- Display current configuration
|
||||
- Control relays
|
||||
- Rename relays
|
||||
- Rename temperature sensors
|
||||
- Configure BMS
|
||||
- Run BMS setup workflow
|
||||
- Save configuration
|
||||
|
||||
## Phase 3: Temperature Sensors
|
||||
|
||||
Status: partially started
|
||||
|
||||
Goals:
|
||||
|
||||
- Complete DS18B20 hardware wiring
|
||||
- Add proper 4.7k pull-up resistor
|
||||
- Detect connected sensors
|
||||
- Report sensor addresses
|
||||
- Assign sensors to config slots
|
||||
- Persist sensor address assignments
|
||||
|
||||
Planned serial commands:
|
||||
|
||||
- scan temps
|
||||
- assign temp 1 <address>
|
||||
- clear temp 1
|
||||
|
||||
Planned UART messages:
|
||||
|
||||
- scan_temps
|
||||
- assign_temp
|
||||
- clear_temp
|
||||
|
||||
Expected result:
|
||||
|
||||
A user can connect multiple DS18B20 sensors, identify each one, name it, and save the configuration.
|
||||
|
||||
## Phase 4: Pico Dashboard Bring-Up
|
||||
|
||||
Status: not started on hardware
|
||||
|
||||
Goals:
|
||||
|
||||
- Bring up Pico 2 W
|
||||
- Bring up touchscreen
|
||||
- Establish UART connection to ESP32
|
||||
- Display status response
|
||||
- Display battery data
|
||||
- Display relay states
|
||||
- Display temperature data
|
||||
- Send relay commands
|
||||
|
||||
Initial dashboard screens:
|
||||
|
||||
- Main overview
|
||||
- Battery screen
|
||||
- Temperature screen
|
||||
- Relay control screen
|
||||
- Settings screen
|
||||
|
||||
## Phase 5: Pico Configuration UI
|
||||
|
||||
Status: planned
|
||||
|
||||
Goals:
|
||||
|
||||
- Configure device name
|
||||
- Configure relay names
|
||||
- Configure temperature names
|
||||
- Configure BMS
|
||||
- Run BLE scan workflow
|
||||
- Save config
|
||||
- Factory reset
|
||||
|
||||
Expected result:
|
||||
|
||||
A new installation can be configured from the dashboard without using a laptop.
|
||||
|
||||
## Phase 6: Vehicle Inputs
|
||||
|
||||
Status: planned
|
||||
|
||||
Possible inputs:
|
||||
|
||||
- Ignition signal
|
||||
- Vehicle battery voltage
|
||||
- OBD-II
|
||||
- CAN Bus
|
||||
- RPM
|
||||
- Coolant Temperature
|
||||
- Fuel Level
|
||||
- CAN bus
|
||||
- GPS
|
||||
|
||||
## Phase 7 — Integrations
|
||||
Potential data:
|
||||
|
||||
Status: Future
|
||||
- Ignition state
|
||||
- Engine RPM
|
||||
- Coolant temperature
|
||||
- Vehicle speed
|
||||
- Fuel level
|
||||
- Diagnostic trouble codes
|
||||
- Location
|
||||
- Trip data
|
||||
|
||||
## Phase 7: Logging and History
|
||||
|
||||
Status: planned
|
||||
|
||||
Goals:
|
||||
|
||||
- Log battery history
|
||||
- Log temperature history
|
||||
- Log relay events
|
||||
- Log alarm events
|
||||
- Show historical charts
|
||||
|
||||
Possible storage:
|
||||
|
||||
- ESP32 flash
|
||||
- SD card
|
||||
- External service
|
||||
- Future InfluxDB integration
|
||||
|
||||
## Phase 8: Integrations
|
||||
|
||||
Status: planned
|
||||
|
||||
Potential integrations:
|
||||
|
||||
Features:
|
||||
- MQTT
|
||||
- Home Assistant
|
||||
- Grafana
|
||||
- InfluxDB
|
||||
- Node-RED
|
||||
|
||||
Design goal:
|
||||
|
||||
Integrations should consume the same generic status/config model used by HTTP and UART.
|
||||
|
||||
## Phase 9: Enclosure and Installation
|
||||
|
||||
Status: planned
|
||||
|
||||
Goals:
|
||||
|
||||
- Design ESP32 enclosure
|
||||
- Design Pico dashboard enclosure
|
||||
- Design wiring harness
|
||||
- Document installation
|
||||
- Create BOM
|
||||
- Create printable STL files
|
||||
- Validate thermal and vibration behavior
|
||||
|
||||
## Phase 10: Public Release
|
||||
|
||||
Status: future
|
||||
|
||||
Goals:
|
||||
|
||||
- Clean documentation
|
||||
- Stable API
|
||||
- Stable UART protocol
|
||||
- Installation guide
|
||||
- Wiring guide
|
||||
- Build guide
|
||||
- Example configurations
|
||||
- Versioned releases
|
||||
|
||||
Potential release name:
|
||||
|
||||
Overland Controller v1.0
|
||||
|
||||
## Long-Term Ideas
|
||||
|
||||
Potential future features:
|
||||
|
||||
- OTA firmware updates
|
||||
- Multi-controller support
|
||||
- Expansion modules
|
||||
- Water tank monitoring
|
||||
- Inverter monitoring
|
||||
- Solar charge controller monitoring
|
||||
- Starlink diagnostics
|
||||
- Bluetooth sensor support
|
||||
- Mobile web dashboard
|
||||
- Plugin-style integrations
|
||||
|
||||
Reference in New Issue
Block a user