Skip to content

Add guarded Tab5 C6 OTA updater - #3

Closed
fellpower wants to merge 5 commits into
BufferRoot:masterfrom
fellpower:feature/tab5-c6-ota
Closed

fellpower wants to merge 5 commits into
BufferRoot:masterfrom
fellpower:feature/tab5-c6-ota

Conversation

@fellpower

Copy link
Copy Markdown

Summary

  • add an M-Panel C6 Update page for ESP-Hosted slave OTA over the Tab5 SDIO link
  • scan and validate ESP32-C6 application images from the microSD root before enabling flash
  • require explicit user actions for image check and flashing; nothing flashes automatically
  • show C6 version, transfer progress, success/error status, and a post-update restart action
  • share the ESP32-P4 SDMMC controller between microSD slot 0 and ESP-Hosted slot 1 using Espressif's host_sdcard_with_hosted workaround
  • retry mounting when Refresh SD is pressed, including cards inserted after boot
  • document image restrictions and USB recovery requirements

Safety

The updater rejects non-C6 images and images larger than 4 MiB. Full/merged images, bootloaders, and partition tables are not accepted. Flashing is only enabled after validation and must be triggered manually. Interrupted updates may still require restoring the C6 through its USB bootloader.

Verification

  • full scripts/build_tab5.ps1 build with ESP-IDF 6.0.1 and Zig 0.16.0
  • resulting P4 app: 3,828,816 bytes, 18.9% app-partition headroom
  • hardware-tested on M5Stack Tab5
  • microSD mounted on slot 0 while ESP32-C6 remained connected on SDIO slot 1
  • C6 application image selected, validated, transferred, activated, and reconnected successfully
  • normal Modulus UI and the existing ESP-NOW link to the S3 bridge remained operational

Notes

The implementation uses the existing ESP-Hosted esp_hosted_slave_ota_begin/write/end/activate APIs and keeps the host component on the repository's field-proven 2.11.4 baseline.

@fellpower fellpower closed this Sep 2, 2026
@fellpower
fellpower deleted the feature/tab5-c6-ota branch September 2, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant