diff --git a/docs/project-state.md b/docs/project-state.md index a121232..8503748 100644 --- a/docs/project-state.md +++ b/docs/project-state.md @@ -292,3 +292,107 @@ Target use cases: - RV electrical systems - Mobile command systems - Off-grid battery monitoring + +--- + +## Current Direction Update + +The project direction is now: + +ESP32: + + Controller + Source of truth + BMS telemetry + Temperature sensors + Relay control + Configuration storage + HTTP API + Lightweight embedded web dashboard + WiFi AP recovery network + +Pico 2 W: + + Instant-on physical dashboard + UART client + Touchscreen UI + Local control surface + +Optional future Pi Zero 2 W: + + Advanced web app + Historical logging + Graphs + MQTT/Home Assistant bridge + Advanced integrations + +The base system should remain ESP32 + Pico. + +A Pi Zero may be added later as an optional expansion module, not a required component. + +--- + +## Networking Direction + +Current: + + ESP32 AP mode + http://192.168.4.1 + +Planned: + + ESP32 AP + STA mode + +Expected future behavior: + + AP always remains enabled + ESP32 attempts to join configured WiFi networks + Multiple saved networks are tried in priority order + +Example network priority: + + 1. Starlink + 2. Home WiFi + 3. Shop WiFi + +This allows: + +- Direct connection when camping without Starlink +- Phone access over Starlink at camp +- Phone/laptop access over home WiFi in the driveway +- Recovery access even when STA setup fails + +--- + +## Recent Design Decisions + +The onboard ESP32 relays may be acceptable for low-current loads such as: + + Starlink Mini + 12V fridge + small accessories + +Reason: + +- Starlink Mini current draw is modest +- Typical 12V fridge current is modest +- Smaller enclosure is a priority + +External automotive relays remain recommended for higher-current loads or future expansion. + +The current enclosure concept includes: + +- ESP32 relay board +- Small fuse block +- Ground bus +- CAT6 keystone +- CAT5/CAT6 run to dash +- 12V feed to dash +- Buck converter in dash enclosure + +The dash power plan is: + + Rear fused 12V + -> CAT5/CAT6 blue pair + -> dash buck converter + -> Pico VSYS diff --git a/docs/roadmap.md b/docs/roadmap.md index 976308b..a0fe845 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -251,3 +251,156 @@ Potential future features: - Bluetooth sensor support - Mobile web dashboard - Plugin-style integrations + +--- + +## Networking Roadmap + +### Current + +The ESP32 currently operates as a local access point. + +Default local access: + + http://192.168.4.1 + +This provides a reliable recovery/setup path even when no other WiFi network is available. + +### Planned: AP + STA Mode + +The ESP32 should support AP and STA mode at the same time. + +Access Point mode: + + Overland-Controller + 192.168.4.1 + +Station mode: + + Connects to a configured WiFi network such as Starlink, home WiFi, or shop WiFi. + +The AP should remain enabled even when STA mode is connected. + +Reason: + +- Always available recovery path +- Easier setup +- Less risk of locking yourself out +- Useful when Starlink/home WiFi is unavailable + +### Planned: Multiple Saved WiFi Networks + +The controller should eventually support multiple saved WiFi profiles. + +Example priority order: + + 1. Starlink + 2. Home WiFi + 3. Shop WiFi + +Expected boot behavior: + + Start AP + Try Starlink + If Starlink fails, try Home WiFi + If Home WiFi fails, try Shop WiFi + If all fail, remain AP-only + +The ESP32 only connects to one STA network at a time, but it can remember and try multiple networks. + +### Planned WiFi Configuration + +Future configuration should include: + + ap_enabled + sta_enabled + hostname + saved networks + priority order + +Future setup options: + +- Serial console +- HTTP API +- Pico dashboard UI +- Embedded web dashboard + +### Planned mDNS + +The controller should eventually support mDNS. + +Example: + + http://overland-controller.local + +This would avoid needing to look up the controller IP when connected through Starlink or home WiFi. + +--- + +## Embedded Web Dashboard + +### Current Direction + +The ESP32 should serve a lightweight mobile-friendly dashboard. + +Purpose: + +- Check battery status from a phone +- Check fridge/temp status from camp +- Toggle relays if needed +- View alarms +- Provide fallback UI without the Pico display + +Design limits: + +- No React +- No external libraries +- No images +- Small inline HTML/CSS/JS +- Poll /status every few seconds +- Use existing relay endpoints + +This dashboard is not intended to replace the physical Pico dashboard. + +--- + +## Optional Future Pi Zero Module + +The base system should not require a Pi Zero. + +Base system: + + ESP32 controller + Pico 2 W dashboard + +Optional future advanced module: + + Pi Zero 2 W + +Possible Pi Zero functions: + +- Rich web dashboard +- Historical logging +- Graphs +- SQLite database +- MQTT bridge +- Home Assistant bridge +- Advanced configuration UI + +The core controller should remain functional without the Pi Zero. + +--- + +## Configuration Backup and Restore + +Planned future feature. + +Goals: + +- Export configuration JSON +- Import configuration JSON +- Backup install-specific setup +- Restore after factory reset +- Make support easier for future users + +This is important if the project becomes shareable or sellable. diff --git a/docs/wiring.md b/docs/wiring.md index 2d888dd..fa2d66b 100644 --- a/docs/wiring.md +++ b/docs/wiring.md @@ -449,3 +449,101 @@ Current required physical wiring: - Do not connect 12V directly to any ESP32 or Pico GPIO. - Do not power high-current loads directly through the ESP32 relay board. - Test relay behavior with a multimeter before connecting expensive loads. + +--- + +## Dash Power Revision + +The current preferred dashboard power plan is to send fused 12V over the CAT5/CAT6 run and regulate it in the dash enclosure. + +Rear compartment: + + House battery + + | + +-- 1A or 2A fuse + | + +---> CAT5/CAT6 blue pair + + House battery - + | + +---> CAT5/CAT6 green pair + +Dash enclosure: + + CAT5/CAT6 blue pair + | + +---> Buck converter IN+ + + CAT5/CAT6 green pair + | + +---> Buck converter IN- + + Buck converter OUT+ 5V + | + +---> Pico VSYS + + Buck converter OUT- GND + | + +---> Pico GND + +Reason: + +- Less voltage drop concern than sending 5V over the full cable run +- Clean local 5V regulation at the dashboard +- Pico/display power stays independent from the ESP32 board regulator + +Important: + +- Do not connect 12V directly to Pico. +- Do not connect 5V to Pico 3V3. +- Use Pico VSYS for 5V input. + +--- + +## CAT5/CAT6 Updated Plan + +Recommended cable assignment: + + Orange/White ESP32 TX ---> Pico GP1 RX + Orange ESP32 RX <--- Pico GP0 TX + + Green/White Ground + Green Ground + + Blue/White +12V fused dash feed + Blue +12V fused dash feed + + Brown/White Spare + Brown Spare + +Notes: + +- Blue pair carries fused 12V to the dash buck converter. +- Green pair carries ground. +- Orange pair carries UART. +- Brown pair remains spare. + +--- + +## Compact Enclosure Direction + +Current rear enclosure target: + + ESP32 relay board + compact fuse block + ground bus + CAT6 keystone + wiring exits + +Because the Starlink Mini and typical 12V fridge are modest loads, the onboard relays may be acceptable for the initial build if properly fused. + +Suggested fuse allocation: + + ESP32 controller 2A + Pico dashboard 1A or 2A + Starlink Mini 7.5A + Fridge 10A + Spare optional + Spare optional + +External automotive relays remain a good upgrade path for higher-current loads.