Free multi-board emulator running in your browser — 19 boards, 5 CPU architectures
Simulate Arduino, ESP32, Raspberry Pi Pico, RISC-V, and Raspberry Pi 3 code in your browser with real CPU emulation. 48+ interactive electronic components, Monaco Editor, Serial Monitor, arduino-cli compiler, and Library Manager — no cloud, no latency, no account required.
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
- 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 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 runs entirely in the browser. Compilation requires the local arduino-cli backend. Self-hosted deployments work fully offline once running.
- 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.
- What boards are supported?
- Arduino Uno (ATmega328p / AVR8), Arduino Nano, Arduino Mega 2560, Raspberry Pi Pico (RP2040), ESP32-C3 (RISC-V), and more. 17 boards in total.
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