Nisith-Akain

Esp32 Control — Development skill for Claude Code

Development community

This is a LAN-hosted ESP32-IoT control panel.

How to install Esp32 Control

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Nisith-Akain/ESP32-Control and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Esp32 Control does

This is a LAN-hosted ESP32-IoT control panel. I started by writing the code entirely by hand, which was slow and tedious. However, this project introduced me to Claude agents. Shifting away from manual typing completely transformed my workflow, making development far easier and vastly more efficient.

Alternatives in Development

  • Microsandbox — Open-source self-hosted MicroVM sandboxes with sub-200ms startup, hardware-level isolation via libkrun 5k ★
  • Agent Instructions — This project uses bd (beads) for issue tracking 1.6k ★
  • Investigate Performance — Investigate a Nimbalyst performance problem (freeze, lag, idle CPU, slow op, memory growth) with measured evid 1.6k ★

README

ESP32 Control Platform

A self-hosted, LAN-only control system for ESP32-based IoT devices — think "your own mini Home Assistant" scoped to ESP32 boards you build yourself, with a web dashboard, live telemetry, remote commands, simple automations, and an API for external agents/scripts.

What it does

  • Register devices — an ESP32 announces itself and its capabilities (sensors it has, commands it accepts) on boot; no manual config needed on the server side.
  • Live dashboard — see every device's status, last heartbeat, and sensor readings update in real time over WebSocket.
  • Remote control — send commands (toggle a relay, move a slider, trigger a button) from the browser, with delivery/ack status shown live.
  • Automations — simple threshold rules ("if temperature > 30°C, turn on the fan"), no visual programming, just dropdowns.
  • Logs — per-device and cross-device log viewers backed by plain log files (no external logging stack needed).
  • Agent API — a separate API-key-authenticated namespace so a script, bot, or LLM agent can read telemetry and issue commands alongside a human, with every action audited.
  • OTA updates — push new firmware to a device over the air, with checksum verification.

How it's built

  • Backend: Python (FastAPI + SQLAlchemy + SQLite), bridging REST/WebSocket to devices over MQTT.
  • Frontend: React + TypeScript + Vite, plain CSS design tokens.
  • Firmware: C++ for ESP32 (PlatformIO/Arduino), WiFi + MQTT + a pluggable per-board sensor/command config.
  • Auth: single shared household password for the UI (session cookie), a separate device key for firmware, and per-agent API keys — no user accounts, designed for a single home/LAN, not multi-tenant use.

Status

Early / work in progress. Core device registry, auth, the frontend shell, and reference firmware are done and tested; live telemetry streaming, command dispatch, automations, and the full dashboard UI are still being built out. Not yet ready for production use — expect rough edges and missi