# Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V · Raspberry Pi
Velxio is a free, open-source multi-board emulator running in your browser. 19 boards across 5 CPU architectures: Arduino Uno/Nano/Mega (AVR8), ESP32 / ESP32-S3 (Xtensa QEMU), ESP32-C3 / CH32V003 (RISC-V), Raspberry Pi Pico (RP2040), and Raspberry Pi 3 (Linux ARM). 48+ components, Monaco Editor, Serial Monitor — no cloud, no account.
Author: David Montero Crespo
Keywords: arduino emulator, arduino simulator, arduino simulator free, avr8 emulator, avr simulator, atmega328p simulator, atmega2560 simulator, attiny85 simulator, arduino uno simulator, arduino mega simulator, arduino nano simulator, rp2040 emulator, raspberry pi pico simulator, esp32 emulator, esp32 simulator, esp32-c3 simulator, esp32-s3 emulator, risc-v simulator, ch32v003, raspberry pi 3 emulator, wokwi alternative, arduino ide browser, arduino online, electronics simulator, velxio

## 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