esp32-workbench-ota — ota firmware updates for esp32 esp32-workbench-ota, Universal-ESP32-Workbench, community, ota firmware updates for esp32, ide skills, esp32 iterative development, esp32-workbench-ota install, esp32 ota http endpoint, esp32 wifi firmware updates, Claude Code, Cursor

v1.0.0
GitHub

About this Skill

Ideal for IoT Agents working with ESP32 devices, enabling seamless over-the-air firmware updates. esp32-workbench-ota is a skill that facilitates OTA firmware updates for ESP32 devices, using an HTTP endpoint and WiFi connectivity

Features

Supports OTA updates via HTTP endpoint
Enables iterative development with build → upload → trigger → monitor cycle
Updates firmware without blocking the serial port
Requires device to be connected to the same LAN or workbench's AP
Uses Base URL http://192.168.0.87:8080 for OTA updates
Avoids serial flashing for devices already running firmware

# Core Topics

SensorsIot SensorsIot
[3]
[0]
Updated: 2/26/2026

Agent Capability Analysis

The esp32-workbench-ota skill by SensorsIot is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for ota firmware updates for esp32, esp32 iterative development, esp32-workbench-ota install.

Ideal Agent Persona

Ideal for IoT Agents working with ESP32 devices, enabling seamless over-the-air firmware updates.

Core Value

Empowers agents to perform iterative development on WiFi-connected ESP32 devices using OTA HTTP endpoints, updating firmware without blocking the serial port, and leveraging HTTP protocols for efficient development cycles.

Capabilities Granted for esp32-workbench-ota

Updating ESP32 firmware over WiFi networks
Performing iterative development with OTA updates
Deploying firmware to multiple ESP32 devices on the same LAN

! Prerequisites & Limits

  • Requires device to already run firmware with an OTA HTTP endpoint
  • Device must be connected to the WiFi network or same LAN as the workbench
  • Not suitable for blank or bricked devices, which require serial flashing
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

esp32-workbench-ota

Install esp32-workbench-ota, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

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

MethodPathPurpose
POST/api/firmware/uploadUpload firmware binary (multipart/form-data)
GET/api/firmware/listList all uploaded firmware files
DELETE/api/firmware/deleteDelete 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
1curl -X POST http://192.168.0.87:8080/api/firmware/upload \ 2 -F "project=my-project" \ 3 -F "file=@build/firmware.bin"

Response: {"ok": true, "project": "my-project", "filename": "firmware.bin", "size": 456789}

Step 2: Verify upload

bash
1curl -s http://192.168.0.87:8080/api/firmware/list | jq .

Step 3: Ensure device is on the network

The device must be able to reach http://192.168.0.87:8080. Use enter-portal to provision if needed (see esp32-workbench-wifi).

Step 4: Clear UDP log buffer (for clean monitoring)

bash
1curl -X DELETE http://192.168.0.87:8080/api/udplog

Step 5: Trigger OTA on the ESP32 via HTTP relay

bash
1OTA_BODY=$(echo -n '{"url":"http://192.168.0.87:8080/firmware/my-project/firmware.bin"}' | base64) 2 3curl -X POST http://192.168.0.87:8080/api/wifi/http \ 4 -H 'Content-Type: application/json' \ 5 -d "{\"method\": \"POST\", \"url\": \"http://192.168.4.2/ota\", \"headers\": {\"Content-Type\": \"application/json\"}, \"body\": \"$OTA_BODY\", \"timeout\": 30}"

Step 6: Monitor OTA progress

bash
1# Via UDP logs (preferred — non-blocking) 2curl "http://192.168.0.87:8080/api/udplog?limit=50" 3 4# Or via serial monitor (see esp32-workbench-logging) 5curl -X POST http://192.168.0.87:8080/api/serial/monitor \ 6 -H 'Content-Type: application/json' \ 7 -d '{"slot": "slot-1", "pattern": "OTA.*complete", "timeout": 60}'

Managing Firmware Files

bash
1# List all uploaded firmware 2curl http://192.168.0.87:8080/api/firmware/list 3 4# Delete a firmware file 5curl -X DELETE http://192.168.0.87:8080/api/firmware/delete \ 6 -H 'Content-Type: application/json' \ 7 -d '{"project": "my-project", "filename": "firmware.bin"}' 8 9# The download URL for ESP32 to fetch: 10# http://192.168.0.87:8080/firmware/<project>/<filename>

Troubleshooting

ProblemFix
Upload returns "expected multipart/form-data"Use -F flags (not -d) for multipart upload
File not in list after uploadCheck project/filename; .. and / are rejected
ESP32 can't download firmwareDevice must reach workbench at 192.168.0.87:8080; check WiFi
OTA trigger times outCheck device's OTA endpoint URL; increase HTTP relay timeout
No progress in UDP logsDevice may not send UDP logs — check serial monitor instead (see esp32-workbench-logging)
OTA trigger returns errorVerify device firmware has OTA endpoint; check relay response body

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is esp32-workbench-ota?

Ideal for IoT Agents working with ESP32 devices, enabling seamless over-the-air firmware updates. esp32-workbench-ota is a skill that facilitates OTA firmware updates for ESP32 devices, using an HTTP endpoint and WiFi connectivity

How do I install esp32-workbench-ota?

Run the command: npx killer-skills add SensorsIot/Universal-ESP32-Workbench. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for esp32-workbench-ota?

Key use cases include: Updating ESP32 firmware over WiFi networks, Performing iterative development with OTA updates, Deploying firmware to multiple ESP32 devices on the same LAN.

Which IDEs are compatible with esp32-workbench-ota?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for esp32-workbench-ota?

Requires device to already run firmware with an OTA HTTP endpoint. Device must be connected to the WiFi network or same LAN as the workbench. Not suitable for blank or bricked devices, which require serial flashing.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add SensorsIot/Universal-ESP32-Workbench. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use esp32-workbench-ota immediately in the current project.

Related Skills

Looking for an alternative to esp32-workbench-ota or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI