diff --git a/docs/roadmap.md b/docs/roadmap.md index 3a815be..976308b 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -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
+- 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