← ClaudeAtlas

esp32-workbench-otalisted

OTA firmware upload, listing, deletion, and over-the-air update for the Universal ESP32 Workbench. Triggers on "OTA", "firmware", "update", "upload", "binary", "over-the-air".
diegosouzapw/awesome-omni-skill · ★ 43 · Data & Documents · score 58
Install: claude install-skill diegosouzapw/awesome-omni-skill
# ESP32 OTA & Firmware Repository Base URL: `http://192.168.0.87:8080` ## When to Use OTA (vs Serial Flashing) ### Use OTA when: - Device **already runs firmware** with an OTA HTTP endpoint - Device is **on the WiFi network** (connected to workbench's AP or same LAN) - You want to update firmware **without blocking the serial port** - You're doing **iterative development** (build → upload → trigger → monitor cycle) ### Do NOT use OTA when: - Device is **blank/bricked** — use serial flashing (see esp32-workbench-serial-flashing) - Device firmware **has no OTA support** — use serial flashing - Device has **no WiFi connectivity** — use serial flashing - You need to flash a **bootloader or partition table** — only esptool can do this ## Endpoints | Method | Path | Purpose | |--------|------|---------| | POST | `/api/firmware/upload` | Upload firmware binary (multipart/form-data) | | GET | `/api/firmware/list` | List all uploaded firmware files | | DELETE | `/api/firmware/delete` | Delete a firmware file | | GET | `/firmware/<project>/<file>` | Download URL (ESP32 fetches from here during OTA) | ## End-to-End OTA Workflow ### Step 1: Upload firmware to workbench ```bash curl -X POST http://192.168.0.87:8080/api/firmware/upload \ -F "project=my-project" \ -F "file=@build/firmware.bin" ``` Response: `{"ok": true, "project": "my-project", "filename": "firmware.bin", "size": 456789}` ### Step 2: Verify upload ```bash curl -s http://192.168.0.87:8080/api/firmware/list |