Docs
Getting started
From an empty bench to blinking firmware in about five minutes. Everything runs in your browser — no toolchain, no hardware, no install.
Your first ESP32 project, in one click
The sample places an ESP32 DevKit v1, an LED and a 220 Ω resistor, wires GPIO 2 → resistor → LED → GND and loads the blink sketch. Press Run on the bench and you should see:
- GPIO 2 toggling HIGH / LOW once a second in the logic analyzer.
- The LED lighting on each HIGH, and the console printing
LED on/LED offat 115200 baud.
Setup checklist
…- 01
Pick a board
The board selector sits in the workbench header. Every board carries its own pin map, GPIO numbering and ADC / DAC / PWM capabilities, so the solver and firmware runtime follow whatever you choose.
- Built-in ESP32 boards are ready to go — no setup.
- Need something else? Hit + MCU and import a board .json, or upload a datasheet and let the importer draft the pinout for you.
- 02
Place your parts
Open the Parts tab in the inspector rail and drag components onto the bench. Left-drag empty canvas to pan; drag a part to move it; double-click its label to rename it.
- LEDs, resistors, buttons, switches, potentiometers and sensors ship in the box.
- The GC9A01 1.28" round LCD is included, with real reset, backlight, MADCTL rotation and RGB565/RGB666 behaviour.
- Import anything else from the Parts rail: paste a component .json or upload a datasheet to generate one.
- 03
Wire it up
Click a pin to start a wire, then click the destination pin to finish it. Pins are labelled and colour-coded — red for power, dark for ground, indigo for signal — and hovering one shows its description.
- Toggle pin labels from the canvas footer if the bench gets busy.
- Wiring is what the firmware actually sees: the simulator remaps display pins to match your real wiring so a sketch never fails on a pin mismatch.
- 04
Write the firmware
The code pane runs an Arduino-compatible C subset with the familiar setup() / loop() shape, plus Serial, digitalWrite, analogRead, ledcWrite, delay and friends.
sketch.ino #include <Arduino.h> const int LED_PIN = 2; void setup() { Serial.begin(115200); pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); Serial.println("on"); delay(500); digitalWrite(LED_PIN, LOW); delay(500); }- Adafruit_GFX and Adafruit_GC9A01A sketches work as written — text, shapes, bitmaps and colour constants included.
- Need another library? Import it from the APIs / libraries rail as JSON, or generate a definition from an Arduino header.
- 05
Run and inspect
Press Run. The simulation clock ticks at microsecond resolution inside a Web Worker, so the bench, serial console and logic analyzer stay live at 60fps while your firmware executes.
- Serial output and simulator warnings land in the console panel.
- Turn on Hot reload and every firmware or wiring edit re-flashes automatically after a short pause.
- Drag the dividers to resize any pane, use Swap panes to put the bench on the left, and Reset layout to start over — your layout is remembered.
- 06
Save, share, collaborate
Create an account to save projects to the cloud. From the project menu you can rename, add a description and tags, browse version history and restore an earlier state.
- Publish a public share link, then copy, regenerate or revoke it at any time.
- Invite collaborators as viewers or editors — you'll see their cursors, selections and wiring in real time, with soft locks so nobody overwrites anyone.