ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
Breadboard circuits drawn in isometric SVG with real parts in real holes, simulated live in an embeddable page; a CLI, an MCP server and agents for Claude Code. In use on ohmio.dev
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Breadboard circuits you can copy onto your own breadboard. You say which parts and what is connected; the kit places every part in real holes at its real size, adds the jumpers, checks the circuit, draws it in isometric SVG and simulates it in a page you can embed in a lesson.
SKILL.md), an MCP server and three agents, so an AI
assistant describes the circuit and the kit does the geometry. It never computes a hole by hand.Live demo: every recipe as a live page (tap a part, press Current, turn the board around).
In use: ohmio.dev teaches electronics with circuits drawn and simulated by this kit.
git clone https://github.com/ccamilobedoya/protoboard-iso.git
cd protoboard-iso # nothing to install
node bin/protoboard-iso.js layout my-switch --recipe npn-switch --values '{"R1":"470","D1":"green"}'
That lays out a transistor switch from a recipe, reviews it, and writes my-switch/: the
circuit (circuit.json), its history, and out/my-switch.html, a single page with the drawing and
the live simulation. Open it in a browser. Then:
node bin/protoboard-iso.js simulate my-switch # voltages and currents, as text
node bin/protoboard-iso.js render my-switch --view back # the drawing from the other side
node bin/protoboard-iso.js review my-switch # APPROVED or CHANGES, and why
| 1. Describe | 2. Placed and drawn | 3. Checked |
|---|---|---|
A circuit file names parts and holes (format), or layout places them from a list of connections (layout). | ||
| 4. From behind | 5. Simulated | 6. Current |
The circuit behind those pictures, examples/led-resistor.json (shortened):
{
"title": { "en": "LED with a current-limiting resistor", "es": "LED con resistencia limitadora" },
"board": "bb830",
"netLabels": { "T+": "+5 V", "T-": "GND" },
"supplies": [{ "id": "V1", "voltage": 5, "currentLimit": 0.1 }],
"parts": [
{ "id": "R1", "type": "resistor", "value": "330", "pins": ["T+9", "h9"] },
{ "id": "D1", "type": "led", "color": "red", "pins": { "anode": "f9", "cathode": "f10" } },
{ "id": "W1", "type": "wire", "color": "black", "pins": ["j10", "T-10"] }
]
}
Holes are a row letter and a column (f9); rails are T+, T-, B+, B- plus a column. Rows
a–e of a column are one node, f–j another, each rail one more: that is all the kit needs to know
what is connected.
The page. Every circuit gets out/<name>.html, one file with no network and no build, made to
sit in an iframe or a notes app (embedding). Tap a part and its card shows
its values, an oscilloscope and what each value means; sliders change resistors, supplies and
sensors while it runs.
Usual lesson circuits come ready by name, with only the values you change (all 32 recipes):
npn-switch: a button and a transistor switch an LED | regulator-7805: a linear regulator and a pilot LED | bridge-rectifier: a bridge, a filter capacitor, a sine in |
opamp-noninverting: an LM358 amplifier | esp32-led: an ESP32 running a blink sketch | uno-pot-pwm: an Arduino UNO dims an LED from a potentiometer |
Also: led-resistor, divider, potentiometer-led, mosfet-switch, button-pullup,
button-pulldown, rc-square, 555-astable, regulator-ams1117, zener-regulator,
esp32-button, opamp-comparator, lm393-comparator, opamp-follower, opamp-inverting,
uno-blink, uno-button, c3-blink, c3-pot-pwm.
More circuit files, each with what it shows: examples/.
Command line. node bin/protoboard-iso.js <command>: layout, check, render,
inspect, simulate, page, review, query, suggest, apply, undo, history. Run it
with no arguments for the full list. Agent interface explains how a
circuit is changed with operations instead of being rewritten.
MCP server (Claude Code, Claude Desktop and other MCP clients). In this repository,
.mcp.json already registers it; elsewhere:
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗