Open source · MIT · self-hosted

Flash, debug, and inspect any ESP32 from your browser.

A browser-based serial console and flash-management workbench for ESP32-family microcontrollers. Over USB or the network. No CLI, no toolchain install.

Runs in Chrome — Web Serial Network serial over TCP (RFC2217) Self-hosted · Docker
esp32-workbench.local · /dev/ttyUSB0
ESP32 Workbench — browser console streaming live serial output from a connected ESP32
One tool, not three

Replace the esptool + monitor + partition juggle

A single self-hosted web app for device bring-up, provisioning, QA and field support — over USB or across the network.

Self-hosted, browser client

Install it once on a Raspberry Pi or Linux box; everyone else just opens a browser. No esptool or Python toolchain on operator machines — onboard non-experts in seconds.

USB and network

Reach a board at the bench or in a rack, lab or field from your desk — Web Serial over USB and RFC2217 over TCP, with mDNS auto-discovery.

Self-hosted & private

Runs on infrastructure you control, from one Docker container. Firmware and device data never leave your network.

Everything in one tab

From connect to inspect

Grouped the way you actually work — connect to a board, discover what's on it, flash and verify, then inspect and log.

Connect

Browser-based client

Runs on a Raspberry Pi or Linux host; operators just open a browser. No esptool or Python toolchain on their machines.

USB and network serial

RFC2217 serial over TCP means you can flash and debug devices at the bench or in a rack, lab or field — from your desk.

mDNS auto-discovery

Networked devices appear in the sidebar automatically — no hunting for IP addresses or COM ports.

Multi-port

Open several consoles side by side and work across a whole fleet of boards at once.

Shared live console

Multiple people can watch one device's console stream at once — humans in the UI and scripts on the raw TCP socket, tailing the same board together.

MCP for agents

An MCP interface exposes discover, flash and serial over the same workbench — so AI agents can bring up, flash and monitor boards alongside your team.

Discover

One-pass Discover

Chip info, partition table, OTA slots and NVS — all read in a single click.

Chip detection

Chip type, package, revision, MAC, crystal, flash size, features and firmware banner — confirm the hardware before you flash.

Partition & OTA map

A flash-layout map — app, data, unused, OTA slots — with per-entry offset, size and encryption. Audit layout at a glance.

NVS inspector

Browse namespaces, keys, types and values — debug stored config and provisioning without a reflash.

Flash & verify

Firmware flashing

Pick a binary and an offset — bootloader, partition table, app or custom — with optional full-chip erase and live progress.

MD5 verify

Hash any offset and length to prove a flash wrote correctly — before you ship the board.

Inspect & log

Serial console

A real terminal built on xterm.js: baud select, line-ending control, Ctrl+C, colors and clear.

Filesystem browser

List, refresh and upload files on SPIFFS, LittleFS or FATFS — manage assets without a reflash.

Per-device log history

Persistent, rotating session logs per device — scroll back hours later to see what a board actually did.

Self-hosted & private

Runs on your own server; firmware and device data stay on your network.

One-pass Discover

Hit Discover. See the whole board.

One pass reads chip info, the partition table, OTA slots and NVS — so you understand a device before you touch its flash. No four separate commands, no guessing at the layout.

  • Chip & MAC

    Type, revision, crystal, flash size and features.

  • Flash-layout map

    App, data, unused and OTA slots, drawn to scale.

  • Per-entry detail

    Offset, size and encryption flags for every partition.

ESP32 Workbench · DiscoverESP32-S3 · 8MB
chip
ESP32-S3 r0
flash
8 MB · QIO
MAC
7C:DF:A1…
flash layout · 8 MB
boot pt nvs ota_0 ota_1 spiffs
partitionoffsetsizeenc
ota_00x100002.5 MB
ota_10x2900002.5 MB
nvs0x900024 KB
How remote works

Local over USB, remote over TCP — same UI

Locally it's Web Serial straight to the port. Remotely, a tiny bridge exposes the board as a TCP serial socket (RFC2217) — the same console and the same flash, from anywhere.

1 · Web UI + scripts

Operators use the browser console; scripts and CI connect to the same board over a raw TCP serial socket.

2 · Serial bridge

A lightweight bridge on the host exposes each board as a TCP serial endpoint (RFC2217) and advertises it over mDNS.

3 · Your board

The ESP32 connects over USB/UART to the host — at the bench, in a rack, or out in the field.

Who it's for

Built for everyone who touches an ESP32

Bring-up, provisioning, QA and field support — one tool the whole team can open, no toolchain required.

Firmware engineers

Bring up a board, tail serial and reflash in seconds — from the browser, without wiring up a local toolchain.

IoT product teams

Provision and QA devices from one shared tool — the same console, partitions and NVS view for everyone.

Hardware manufacturers

Onboard line operators and field-support techs in seconds — flash and verify with no CLI to learn.

Deno esptool-js xterm.js Docker PWA

Self-hosted · runs on infrastructure you control — firmware and device data stay on your network.

Clone it, run it, ship it

ESP32 Workbench is free and MIT-licensed — part of React IoT's mission to make connecting and working with hardware possible from anywhere. Star the repo, open an issue, or build it into your own tooling.

Star on GitHub → Read the docs