4.3 KiB
Implementation Roadmap
Purpose
This document defines the planned implementation order for the Xterra Overland Power & Monitoring Dashboard.
The goal is to build the system incrementally, validating hardware and software at each stage before adding additional complexity.
Current Status
Complete
- Project architecture defined
- Hardware architecture defined
- UART protocol defined
- Pico architecture defined
- UI wireframes defined
- ESP32 firmware compiles
- Simulator exists and functions
In Progress
- ESP32 controller firmware
- Communication protocol implementation
Not Started
- Pico firmware
- Display integration
- Touch integration
- Buzzer integration
- End-to-end communications
Milestone 1: ESP32 Hardware Bring-Up
Goal
Verify cargo-controller hardware.
Tasks
- Flash ESP32 firmware
- Verify boot process
- Verify AP mode
- Verify HTTP API
- Verify relay outputs
- Verify DS18B20 framework
- Verify UART initialization
Success Criteria
- ESP32 boots reliably
- Relay outputs function correctly
- Status API responds correctly
- No crashes or watchdog resets
Milestone 2: Pico Hardware Bring-Up
Goal
Verify dashboard hardware.
Tasks
- Verify Pico 2 W operation
- Verify ST7796S display
- Verify FT6336U touch controller
- Verify buzzer operation
Success Criteria
- Display initializes reliably
- Touch events are detected
- Buzzer can be activated
Milestone 3: UART Communications
Goal
Establish communications between Pico and ESP32.
Tasks
- Wire UART over CAT5
- Implement status requests
- Implement status responses
- Implement relay commands
- Implement error handling
- Implement communication timeout detection
Success Criteria
- Pico receives live status
- Pico can control relays
- Communication loss is detected
Milestone 4: Dashboard UI Foundation
Goal
Render live data on the touchscreen.
Tasks
- Create screen manager
- Create app state
- Create dashboard screen
- Create navigation bar
- Create communication status indicators
Success Criteria
- Live battery data displayed
- Live temperature data displayed
- Navigation functional
Milestone 5: Detailed Screens
Goal
Implement all planned screens.
Tasks
Battery Screen
- SOC
- Voltage
- Current
- Runtime
- Temperature
Temperature Screen
- Fridge Zone 1
- Fridge Zone 2
- Rear Seat
- Outside Air
Power Screen
- Starlink control
- Fridge control
System Screen
- Communication status
- Sensor status
- Firmware information
Success Criteria
- All screens functional
- Navigation stable
- Live updates working
Milestone 6: Alarm System
Goal
Implement alerting and warning system.
Tasks
- Alarm manager
- Alarm overlay
- Communication alarms
- Battery alarms
- Temperature alarms
- Sensor fault alarms
- Buzzer manager
Success Criteria
- Alarms trigger correctly
- Alarm overlay displays correctly
- Buzzer alerts function correctly
Milestone 7: DS18B20 Integration
Goal
Implement all production sensors.
Sensors
Fridge Zone 1
Monitor refrigerator compartment.
Fridge Zone 2
Monitor freezer compartment.
Rear Seat Area
Monitor passenger compartment.
Outside Air
Monitor ambient exterior temperature.
Success Criteria
- All sensors report correctly
- Sensor failures are detected
Milestone 8: JBD/Xiaoxiang BMS Integration
Goal
Replace simulated battery data with live battery data.
Tasks
- BLE communication
- Battery status retrieval
- Runtime calculations
- Health monitoring
Success Criteria
- Live battery data displayed
- No simulated battery values required
Milestone 9: Vehicle Integration
Goal
Add vehicle-specific information.
Potential Features
- Ignition state
- OBD-II integration
- CAN bus integration
- Engine information
- Fuel information
Status
Future planning only.
Milestone 10: Future Expansion
Potential Features
- Additional relays
- Inverter control
- Lighting control
- Starlink diagnostics
- GPS integration
- Home Assistant integration
Status
Future planning only.
Explicitly Not Planned
The following items are currently out of scope:
- Cloud connectivity
- Internet dependency
- User accounts
- Persistent logging
- Historical graphing
- Subscription services
The system should remain fully functional offline.