Free online circuit + microcontroller simulator — SPICE-accurate analog wired to Arduino, ESP32, RP2040, ATtiny85 & more
Velxio is a free, open-source online circuit simulator with hybrid digital + analog co-simulation. Real-time SPICE analysis (ngspice-WASM) wired to 19 supported boards across 5 CPU architectures. Build custom chips in C, Rust, or AssemblyScript. 100+ interactive components, live oscilloscope, voltmeter, ammeter, Monaco Editor, Serial Monitor, arduino-cli compiler, and Library Manager — no cloud, no latency, no account required.
What's new in Velxio 2.5
- Real-time SPICE analog simulation in your browser via ngspice-WASM (eecircuit-engine) — Modified Nodal Analysis at ~60 Hz, not a linear approximation
- Hybrid digital + analog co-simulation — GPIO pins drive SPICE nets as voltage sources;
analogRead()reads solved node voltages back into firmware - 100+ SPICE-accurate parts: resistors, capacitors, inductors, BJTs, MOSFETs, op-amps (LM358/741/TL072), regulators (7805/7812/LM317), Zener/Schottky diodes, optocouplers, relays
- Live instruments: oscilloscope (multi-channel), voltmeter, ammeter, signal generator (sine/square/DC)
- 40+ new analog & hybrid examples: voltage divider, RC filter, full-wave rectifier, Schmitt trigger, op-amp amplifier, Wheatstone bridge, H-bridge motor driver
Features
- Real AVR8 emulation: Arduino Uno (ATmega328p), Nano, Mega 2560, ATtiny85, Leonardo, Pro Mini at 16 MHz via avr8js
- Raspberry Pi Pico & Pico W (RP2040, ARM Cortex-M0+ at 133 MHz) via rp2040js
- ESP32-C3 / XIAO ESP32-C3 / SuperMini / CH32V003 (RISC-V RV32IMC/EC) — browser-native, no backend needed
- ESP32 / ESP32-S3 / ESP32-CAM / Arduino Nano ESP32 (Xtensa LX6/LX7 at 240 MHz) via QEMU lcgamboa
- Raspberry Pi 3B (ARM Cortex-A53, full Linux) via QEMU raspi3b — runs Python scripts with RPi.GPIO
- Custom Chips — author your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi Custom Chips API; reuse them across projects
- 48+ wokwi interactive electronic components (LEDs, resistors, buttons, sensors, TFT displays, NeoPixel…)
- Monaco Code Editor with full C++ / Python syntax highlighting
- arduino-cli compilation backend — produces real .hex / .uf2 / .bin files
- Serial Monitor with auto baud-rate detection and send
- Library Manager for Arduino libraries
- Multi-file workspace (.ino, .h, .cpp, .py)
- Wire system with orthogonal routing
- ILI9341 TFT display simulation
- I2C, SPI, USART, ADC, PWM support
- Multi-board canvas: mix Arduino + ESP32 + Raspberry Pi + analog circuits in one simulation
Supported Boards
- Arduino Uno (ATmega328P) — full AVR8 emulation at 16 MHz
- Arduino Nano (ATmega328P) — full AVR8 emulation at 16 MHz
- Arduino Mega 2560 (ATmega2560) — 256 KB flash, 54 digital pins, 4 serial ports
- ATtiny85 — AVR, 8 KB flash, DIP-8, all 6 I/O pins emulated
- Arduino Leonardo (ATmega32u4) — USB HID capable AVR
- Arduino Pro Mini (ATmega328P) — 3.3 V / 5 V variants
- Raspberry Pi Pico (RP2040) — ARM Cortex-M0+ at 133 MHz
- Raspberry Pi Pico W (RP2040) — ARM Cortex-M0+ + WiFi
- ESP32-C3 DevKit (RISC-V RV32IMC) — 160 MHz, browser-native
- Seeed XIAO ESP32-C3 (RISC-V RV32IMC) — compact, browser-native
- ESP32-C3 SuperMini (RISC-V RV32IMC) — mini form factor
- CH32V003 (RISC-V RV32EC) — 48 MHz, ultra-compact DIP-8
- ESP32 DevKit V1 / C V4 (Xtensa LX6) — 240 MHz, WiFi, QEMU
- ESP32-S3 (Xtensa LX7) — 240 MHz, dual-core, QEMU
- ESP32-CAM (Xtensa LX6) — camera module, QEMU
- Seeed XIAO ESP32-S3 (Xtensa LX7) — compact, QEMU
- Arduino Nano ESP32 (Xtensa LX6) — Arduino form factor, QEMU
- Raspberry Pi 3B (ARM Cortex-A53) — full Linux OS via QEMU raspi3b, runs Python
Get Started
Open the Editor — no installation needed.
Self-host with Docker: docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master
Documentation
Browse the full Velxio documentation to learn how to set up, configure, and extend the emulator:
Frequently Asked Questions
- Is Velxio free?
- Yes. Velxio is free and open-source under the GNU AGPLv3 license. A commercial license is available for proprietary integrations.
- Does Velxio work offline?
- The simulation engine — including the SPICE analog solver and all browser-side CPU emulators (AVR8, RP2040, RISC-V) — runs entirely in the browser. Compilation requires the local arduino-cli backend. Self-hosted deployments work fully offline once running.
- Can Velxio simulate analog circuits like SPICE?
- Yes. Velxio 2.5 includes real-time SPICE analog simulation via ngspice compiled to WebAssembly. It runs full Modified Nodal Analysis on every tick — non-linear devices (diodes, BJTs, MOSFETs, op-amps with saturation) behave like real silicon, not idealised models.
- Can I co-simulate Arduino code with an analog circuit?
- Yes. GPIO pins drive SPICE nets as voltage sources, and ADC pins read solved analog node voltages back into firmware.
analogRead()returns the actual SPICE-solved value at that net — so you can build PWM-driven RC filters, transistor switches, op-amp signal chains, and motor drivers end-to-end on the same canvas. - Can I create my own custom chips?
- Yes. Velxio implements the Wokwi Custom Chips API. Write your chip logic in C, Rust, or AssemblyScript — Velxio compiles it to WebAssembly and exposes pin I/O, attribute reads, timers, and I²C/SPI hooks. Save chips to your account and reuse them across projects.
- Is Velxio a Wokwi alternative?
- Yes. Velxio is a free, self-hosted alternative to Wokwi. It uses the same avr8js and wokwi-elements open-source libraries but runs on your own machine, and adds full SPICE analog co-simulation that Wokwi does not provide.
- Is Velxio a Falstad / Tinkercad / CircuitLab alternative?
- For analog circuits, yes. Velxio runs the open-source ngspice solver — the same engine professional EDA tools use. Unlike Falstad and Tinkercad, Velxio also runs the firmware on the microcontroller driving the circuit.
- What boards are supported?
- 19 boards: Arduino Uno (ATmega328p / AVR8), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85, Arduino Leonardo (ATmega32u4), Arduino Pro Mini, Raspberry Pi Pico & Pico W (RP2040), ESP32 / ESP32-S3 / ESP32-CAM / Nano ESP32 (Xtensa via QEMU), ESP32-C3 / XIAO ESP32-C3 / ESP32-C3 SuperMini / CH32V003 (RISC-V), and Raspberry Pi 3B (Linux ARM Cortex-A53 via QEMU).
Free Online Circuit Simulator with SPICE
Velxio is a free online circuit simulator with real-time SPICE analog simulation in your browser. Drop resistors, capacitors, op-amps, transistors, diodes, and voltage regulators on the canvas — every component is modelled with real ngspice device cards, not behavioural stand-ins. Open Circuit Simulator →
- ngspice-WASM engine — full Modified Nodal Analysis at ~60 Hz solve rate
- Non-linear devices behave like real silicon: BJT cutoff/saturation, op-amp rails, diode forward drop
- Live oscilloscope, voltmeter, ammeter, signal generator
- 100+ SPICE-accurate parts: passives, semiconductors, logic ICs, regulators, optocouplers, relays
- Always-on — no toggle, every circuit is SPICE-solved
SPICE Simulator Online — ngspice in Your Browser
Velxio runs ngspice (the open-source SPICE simulator powering professional EDA tools) compiled to WebAssembly via eecircuit-engine. Full transient analysis, real device models, in your browser tab. No install, no account, works offline after the first load. Open SPICE Simulator →
- Real ngspice — same engine, browser-native via WASM
- 5 BJTs (2N2222, 2N3055, 2N3906, BC547, BC557)
- 4 MOSFETs (2N7000, IRF540, IRF9540, FQP27P06)
- 5 op-amps (LM358, LM741, TL072, LM324, ideal) with saturation rails
- 4 linear regulators (7805, 7812, 7905, LM317)
- Diodes: 1N4148, 1N4007, 1N5817, 1N5819, Zener 1N4733
Custom Chip Simulator — Define Your Own ICs in C / Rust
Velxio implements the Wokwi Custom Chips API: write your chip logic in C, Rust, or AssemblyScript, compile to WebAssembly, and the simulator drives its pins like any other component. Build a sensor model, a digital protocol bridge, or a behavioural IC stand-in — and reuse it across projects. Open Custom Chip Simulator →
- Wokwi-compatible Custom Chips API with WASI shim
- Pin reads/writes, attribute reads, timers
- I²C and SPI bus integration
- Save chips to your account and reuse across projects
- Library of starter examples (sensors, decoders, bridges)
ATtiny85 Simulator — Real AVR Emulation in Your Browser
Velxio simulates the ATtiny85 with cycle-accurate AVR8 emulation. Full DIP-8 pinout, 8 KB flash, 6 GPIOs, USI peripheral, 10-bit ADC, Timer0/Timer1 with PWM, and watchdog. Wire it to LEDs, sensors, or analog circuits and run real ATtiny code without a programmer. Open ATtiny85 Simulator →
- Cycle-accurate ATtiny85 emulation via avr8js
- All 6 I/O pins (PB0–PB5) with proper port behaviour
- Timer0 (8-bit), Timer1 (8-bit), watchdog timer
- 10-bit ADC with 4 input channels
- USI peripheral for I²C / SPI bit-banging
- Wire to SPICE analog parts for full circuit testing
Free Online Arduino Simulator
Velxio is a free online Arduino simulator with real AVR8 emulation at 16 MHz. Simulate Arduino code with 48+ interactive electronic components directly in your browser — no install, no account required. Open Arduino Simulator →
- Arduino Uno (ATmega328P) simulation at 16 MHz
- 48+ visual components: LEDs, sensors, displays, servos
- Serial Monitor with auto baud-rate detection
- Multi-file sketch support (.ino, .h, .cpp)
- Free and open-source (GNU AGPLv3)
Arduino Emulator — Real AVR8 & RP2040 Emulation
Velxio is a cycle-accurate Arduino emulator built on avr8js and rp2040js. Every AVR opcode is faithfully emulated at 16 MHz — the same silicon behavior as real hardware. Open Arduino Emulator →
- All 135 AVR8 instructions emulated
- Hardware timers (Timer0/1/2) with PWM, CTC, and overflow interrupts
- 10-bit ADC, full USART0 (TX/RX), SPI, I2C
- RP2040 dual-core ARM Cortex-M0+ via rp2040js
- RISC-V RV32IMC (ESP32-C3) emulation in browser
ATmega328P Simulator
Simulate ATmega328P firmware exactly as it runs on Arduino Uno and Nano. Full AVR8 emulation: PORTB, PORTC, PORTD, Timer0/1/2, ADC, USART0, and all interrupt vectors. Open ATmega328P Simulator →
- ATmega328P: 32 KB flash, 2 KB SRAM, 16 MHz
- GPIO: PORTB (pins 8–13), PORTC (A0–A5), PORTD (0–7)
- Timer0 (8-bit), Timer1 (16-bit), Timer2 (8-bit) — all PWM modes
- 10-bit ADC, 6 analog channels (A0–A5)
- USART0 with configurable baud rate
Arduino Mega 2560 Simulator
Simulate Arduino Mega 2560 (ATmega2560) code for free. 256 KB flash, 54 digital pins, 16 analog inputs, 4 hardware serial ports (Serial, Serial1, Serial2, Serial3), and 6 hardware timers. Open Mega 2560 Simulator →
- ATmega2560: 256 KB flash, 8 KB SRAM, 16 MHz
- 54 digital I/O pins (PORTA through PORTL)
- 16 analog input channels (A0–A15), 10-bit ADC
- 4 hardware USART channels: Serial0–3
- 6 hardware timers: Timer0–5 (including three 16-bit)
- 15 PWM output pins