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.

Open an empty workbench

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 off at 115200 baud.

Setup checklist

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Where to next

  • See what's coming on the roadmap.
  • Hit a bug or want a component supported? Post it on feedback.
  • Track what just shipped in the changelog.

Was this helpful?