Project
Project
Edit
Runtime and quality
Project
Online microcontroller circuit simulator

Build, run, and inspect microcontroller circuits.

Code, vector hardware, electrical nets, firmware execution, debugging, instruments, and automated tests live in one portable browser project. The editor is target-agnostic; execution coverage is shown honestly for every board.

Execution coverage

One circuit workspace, installable MCU engines.

Built inPIC16F886 / CHIPINO

Instruction execution, common peripherals, HEX import, source debug, and instruments.

Built inArduino / AVR

Cycle-accurate ATmega328P execution, sketch compilation, Intel HEX import, source debug, and instruments.

Adapter-readyESP32

Diagram and source workspace now; install an ESP32 engine for firmware execution and WiFi models.

Open formatCustom boards and parts

Import pure-vector packages with physical pins, aliases, controls, mounts, and behavior models.

Electrical scope: digital/high-impedance nets and modeled ADC voltages are implemented. Current, thermal, tolerance, and signal-integrity analysis require a future SPICE adapter.
Code
textuntitledsaved
Open a source file. Pin references will be resolved against the selected board package while you type.
Circuit
Runtime UART output appears here. Use the input below when the active MCU engine supports receive timing.
Properties
Workspace

Tools

Instruments

Project

Quality

Ready
Vector circuit
0 parts
0 wires

Examples

Open a working project with its complete vector circuit, source files, and supporting assets.

Examples open as normal editable projects.

New microcontroller project

Choose the execution target first. The editor opens with code and circuit together.

Built-in PIC16F886 engine: compile the supported GCBASIC subset or load full-toolchain Intel HEX.

Capabilities and execution coverage

The product separates circuit support from MCU execution so a board picture is never mistaken for a simulator.

PIC16F886 / CHIPINO

Built-in 35-instruction core; GPIO; ADC; timers; CCP/ECCP; SPI/I²C; EEPROM; EUSART; watchdog; comparators; HEX import; source maps; debugger and instruments.

Real local execution

Arduino / AVR

Bundled cycle-accurate ATmega328P core (avr8js, MIT) running in a worker: GPIO, timers, ADC, USART, SPI, I²C, breakpoints, and stepping. Compiles common Arduino C++ sketches, or import Intel HEX from the Arduino IDE.

Real local execution

ESP32

Vector packages, diagram compatibility, source workspace, and labeled example previews. WiFi and Xtensa instruction execution are not bundled.

Adapter required for execution

Custom hardware

Pure-vector package import, pins and aliases, controls, mounts, reusable definitions, package signatures, and runtime/model registration APIs.

Data-driven extension system

Electrical model

Digital/high-impedance nets and modeled ADC/control voltages. It is not a SPICE solver and does not calculate current, heat, tolerances, or signal integrity.

Explicit behavioral boundary

Automation

Scenario tests can build, run, stimulate controls and serial input, and assert pins, registers, watches, and serial text. A Playwright headless runner is downloadable.

Browser and CI execution

Execution engines

Projects are portable; the active MCU compiler and runtime are explicit adapters rather than hidden assumptions.

Installed this session

Built-in adapters and trusted modules loaded below.

Load a trusted adapter

Security: adapter modules execute JavaScript with the same access as this page. Load only code you trust and verify package signatures separately.

No external adapter loaded.
Adapter contract
export async function register(CircuitMCU) {
  CircuitMCU.registerRuntimeAdapter('vendor-mcu', runtimeAdapter)
  CircuitMCU.registerCompilerAdapter('vendor-compiler', compilerAdapter)
}

Portable package signing

Create a local signing key, sign the current project, or verify a package before importing it.

Local key

The private key stays in this browser profile. Ed25519 is preferred; ECDSA P-256 is the fallback.

Sign or verify

Signatures cover canonical project contents and detect changes to source, firmware, vector packages, netlists, tests, and settings.

No verification run yet.

Circuit Simulator

What this is, how to use it, and where to find more.

Wire a circuit, write firmware, and run both together in one browser tab. Arduino Uno sketches execute on a cycle-accurate ATmega328P core and PIC16F886 programs run on a built-in engine, with a source-level debugger, logic analyzer, oscilloscope, and serial monitor alongside. Built for students, makers, and anyone who wants to test a board before ordering parts.

  • Built by: Chris Pirillo
  • Cost: free, no account, no limits
  • Privacy: runs entirely in your browser, nothing uploaded
  • Executes: Arduino Uno (ATmega328P) and PIC16F886 firmware
  • Parts: 43 parts that seat into a real breadboard
  • Sharing: the whole project travels inside a link
Other tools I have built
✎FontCrafterHandwriting-to-font converter. Scan your handwriting and create custom OTF and TTF fonts with local processing. ▣Comic ChatterMicrosoft Comic Chat, rebuilt for the browser. Type a conversation and it lays itself out as a comic strip you can export. ⇄Media ConvertiflyConvert 200+ video, audio and image formats by typing what you want. FFmpeg runs locally in your browser, with no upload and no account.
More from Chris
▤More of My Apps ✦Follow Chris Pirillo ⌘Learn How to Make Apps ♥Donate to Me Here ★Support My Patreon

Frequently asked questions

Circuit Simulator — what runs, what does not, and how it compares.

Frequently asked questions

What executes in the browser, what needs a local toolchain, and how this compares to the tools you already know.

What is Circuit Simulator?

Circuit Simulator is a free browser-based electronics bench where you wire a circuit, write firmware, and watch the two run together. Arduino Uno sketches execute on a cycle-accurate ATmega328P core and PIC16F886 programs run on a built-in engine, both with a source-level debugger, logic analyzer, and oscilloscope. Parts seat into a real breadboard, sensors answer with correct timing, and I2C displays show what your code actually sent. Nothing installs and no account is required.

Is Circuit Simulator free?

Yes, completely free. There is no account, no project limit, no watermark, and no paid tier. Projects stay in your browser until you export or share them yourself.

Which microcontrollers actually execute code?

Arduino Uno (ATmega328P) and PIC16F886 both execute real firmware in the browser with no server involved. ESP32 projects give you the circuit, source workspace, and wiring, and run firmware only when you connect the optional local companion service that provides ESP-IDF and QEMU.

How do I simulate an Arduino Uno online?

Choose the Arduino Uno target on the start screen, write or paste your sketch, wire parts to the board pins, then press Run. The built-in compiler handles common Arduino C++ sketches, and you can import a compiled .hex from the Arduino IDE for anything it does not cover.

Can I import my own compiled firmware?

Yes. Intel HEX files load directly for both ATmega328P and PIC16F886 targets, so firmware built with the Arduino IDE, avr-gcc, MPLAB, or GCBASIC runs against your circuit. You pick the target on import so the wrong processor never silently accepts a file.

Does Circuit Simulator upload my code or circuits?

No. Compilation, execution, and analysis all happen inside your browser tab. Your firmware and circuits never leave the device unless you export a file or copy a share link, and the only network activity is anonymous page analytics.

How does it compare to Tinkercad Circuits and Wokwi?

Tinkercad Circuits and Wokwi are both excellent and both want an account before you can save. Circuit Simulator asks for nothing, runs entirely client-side, and shares a whole project as a plain link. It also has transistors, MOSFETs and op-amps, which Wokwi users routinely leave for another tool, plus PIC16F886 and GCBASIC that neither offers, and a circuit checker that tells you when an LED has no resistor or a sensor has no pull-up. Their component libraries are still larger, so pick this when privacy, real electrical parts, and instant access matter most.

Can I share a circuit with someone else?

Yes. Copy share link puts the entire project, including the circuit, source files, and settings, into the URL itself. Anyone who opens that link gets an editable copy, and nothing is stored on a server.

Is this a SPICE simulator?

Not by itself. The built-in solver models digital nets, high-impedance states, and ADC voltages, which is what microcontroller work needs. You can export a standard SPICE netlist for device-level analysis, or connect a local ngspice service when current, noise, and tolerance actually matter.

Do Arduino libraries work?

Some do. Wire and LiquidCrystal_I2C compile and run today, so a pasted I2C LCD sketch works unchanged. Others are still being added, and anything the built-in compiler does not recognise can be built with the full toolchain and imported as Intel HEX, which always runs.

Does it work on a phone or tablet?

Yes. The layout adapts to small screens with a dedicated mobile workspace, though wiring dense circuits is easier with a mouse or trackpad on a larger display.