# ESP32-S3 Dashboard Firmware This is the placeholder for the current dashboard firmware direction. ## Target hardware Current dashboard target: - Waveshare ESP32-S3 touchscreen display - WiFi connection to the Cargo ESP32 access point - HTTP/REST communication with the Cargo ESP32 API - Future LVGL-based dashboard UI ## Responsibilities The ESP32-S3 dashboard is responsible for: - Touchscreen UI - Vehicle gauges - Dashboard rendering - Future CAN/OBD-II vehicle visualization - Future tilt/roll/off-road screen visualization ## Not responsible for The ESP32-S3 dashboard does not own: - Relay authority - BMS authority - Alarm authority - Cargo ESP configuration storage - Load-switching hardware control as the source of truth The Cargo ESP32 remains the power-system controller and source of truth. ## v1 communication path Dashboard ESP32-S3 <-> WiFi / HTTP REST Cargo ESP32 AP Not v1 dashboard communication: - Pico UART - ESP-NOW - MQTT - CAN between controllers ## Selected Hardware The selected dashboard hardware target is: Waveshare ESP32-S3 Touch LCD 5B Display details: - 5-inch touchscreen - 1024x600 resolution - Capacitive touch - ESP32-S3 platform - Native WiFi - Integrated CAN transceiver available for future vehicle integration This is the current active dashboard target. The archived Pico dashboard is not active firmware. ## Bring-Up Plan Initial Waveshare ESP32-S3 Touch LCD 5B work should start with standalone bench testing. Bring-up order: 1. Confirm USB/serial detection. 2. Flash a known-good Waveshare demo. 3. Confirm 1024x600 display output. 4. Confirm capacitive touch input. 5. Build a minimal project dashboard boot screen. 6. Connect to Cargo ESP WiFi AP. 7. Read `/api/v1/status` and `/api/v1/config`. 8. Render outputs dynamically from the Cargo ESP API. Do not start with CAN, OBD-II, tilt sensors, or vehicle wiring.