Arduino Emulator
Real AVR8 & RP2040 Emulation, Free
Velxio is a cycle-accurate Arduino emulator running entirely in your browser. Every AVR opcode is faithfully executed at 16 MHz — the same silicon behavior as real hardware, without buying hardware.
Free & open-source · Built on avr8js & rp2040js · No signup required
Emulation accuracy
Velxio uses avr8js for AVR8 and rp2040js for RP2040 — open-source libraries developed by the Wokwi team that provide genuine hardware fidelity.
AVR8 Instruction Set
All 135 AVR instructions emulated including MUL, MULSU, FMUL, LPM, SPM, and all branch/skip instructions. 16 MHz clock.
Hardware Timers
Timer0, Timer1, Timer2 with prescaler support, overflow interrupts, and Output Compare — enabling delay(), millis(), and PWM.
USART Serial
Full USART emulation with configurable baud rate and TX/RX interrupts. Serial.print() works exactly as on real Arduino hardware.
10-bit ADC
Analog-to-digital converter emulation with analog reference support. analogRead() returns accurate values from simulated sensors.
RP2040 Dual-Core ARM
Cortex-M0+ emulation via rp2040js. Runs Arduino-pico and PlatformIO sketches for Raspberry Pi Pico and Pico W.
RISC-V (ESP32-C3)
RV32IMC emulation for ESP32-C3 at 160 MHz via the QEMU lcgamboa fork (libqemu-riscv32, esp32c3-picsimlab machine).
Supported boards
19 boards across 5 CPU architectures — AVR8, ARM Cortex-M0+, RISC-V, Xtensa LX6/LX7, and ARM Cortex-A53.
AVR8 — avr8js
Arduino Uno (ATmega328P), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85, Arduino Leonardo (ATmega32u4), Arduino Pro Mini.
RP2040 — rp2040js
Raspberry Pi Pico, Raspberry Pi Pico W — dual ARM Cortex-M0+ at 133 MHz.
RISC-V — QEMU
ESP32-C3 DevKit, XIAO ESP32-C3, ESP32-C3 SuperMini, CH32V003 — RV32IMC at 160 MHz via libqemu-riscv32.
Xtensa — QEMU
ESP32 DevKit V1/C V4, ESP32-S3, ESP32-CAM, Seeed XIAO ESP32-S3, Arduino Nano ESP32 — Xtensa LX6/LX7 at 240 MHz.
ARM Cortex-A53 — QEMU
Raspberry Pi 3B — quad-core 1.2 GHz, full Linux, Python 3. Run real OS-level programs in the browser.
Frequently Asked Questions
- What is an Arduino emulator?
- An Arduino emulator reproduces the behavior of a physical Arduino microcontroller in software — CPU instruction execution, peripheral registers (GPIO, USART, ADC, timers, PWM), and interrupts — with no hardware required.
- How accurate is Velxio's Arduino emulation?
- Velxio uses avr8js, which provides cycle-accurate AVR8 instruction emulation. Every AVR opcode is faithfully emulated at 16 MHz, making it reliable for developing and debugging real firmware before flashing to hardware.
- Which Arduino boards can Velxio emulate?
- Arduino Uno (ATmega328P), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85 (AVR8), Arduino Leonardo (ATmega32u4), Arduino Pro Mini, Raspberry Pi Pico and Pico W (RP2040), and multiple ESP32/RISC-V boards. 19 boards across 5 CPU architectures.
- What peripherals are emulated?
- GPIO ports (PORTB, PORTC, PORTD), hardware timers (Timer0, Timer1, Timer2), 8/16-bit PWM, USART serial, 10-bit ADC (analog inputs), SPI, and I2C. All standard Arduino library functions work correctly.
- How is Velxio different from Wokwi?
- Velxio is fully self-hosted and open-source under GNU AGPLv3. It uses the same avr8js emulation library as Wokwi but runs entirely on your own machine — no cloud dependency, no registration, no subscription.
Start emulating Arduino today
Open the editor and execute your firmware against a real emulated CPU — no hardware purchase, no cloud, no limits.
Launch Emulator →