Velxio — Free Multi-Board Emulator | Arduino · ESP32 · RP2040 · RISC-V · Raspberry Pi

Editor Examples Arduino Simulator Arduino Emulator ATmega328P Simulator Arduino Mega Simulator ESP32 Simulator ESP32-C3 Simulator Raspberry Pi Pico Simulator Raspberry Pi 3 Simulator GitHub Discord Documentation

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:

  • Introduction — What is Velxio and why use it?
  • Getting Started — Hosted editor, Docker, and manual setup
  • Emulator Architecture — AVR8 and RP2040 CPU emulation internals
  • Components Reference — All 48+ interactive electronic components
  • Project Architecture — System design, data flows, and stores
  • Wokwi Libraries — avr8js, wokwi-elements, rp2040js integration
  • MCP Server — AI agent integration via Model Context Protocol
  • Project Status — All implemented features and troubleshooting
  • Roadmap — Implemented, in-progress, and planned features

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