Velxio — Free Local Arduino Emulator

Editor Examples Arduino Simulator Arduino Emulator ATmega328P Simulator Arduino Mega Simulator GitHub Discord Documentation

The free, open-source Arduino emulator that runs in your browser

Write Arduino code, compile it, and simulate it with real AVR8 CPU emulation and 48+ interactive electronic components — all running locally in your browser. No cloud, no latency, no account required.

Features

  • Real ATmega328p (AVR8) emulation at 16 MHz via avr8js
  • Raspberry Pi Pico (RP2040) emulation via rp2040js
  • 48+ wokwi interactive electronic components (LEDs, resistors, buttons, sensors…)
  • Monaco Code Editor with full C++ / Arduino syntax highlighting
  • arduino-cli compilation backend — produces real .hex / .uf2 files
  • Serial Monitor with auto baud-rate detection and send
  • Library Manager for Arduino libraries
  • Multi-file workspace (.ino, .h, .cpp)
  • Wire system with orthogonal routing
  • ILI9341 TFT display simulation
  • I2C, SPI, USART, ADC, PWM support
  • Docker standalone image — deploy anywhere with one command

Supported Boards

  • Arduino Uno (ATmega328p) — full AVR8 emulation
  • Raspberry Pi Pico (RP2040) — RP2040 emulation

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