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.
+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 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 +
- 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 -
- Raspberry Pi Pico (RP2040) — RP2040 emulation +
- 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
diff --git a/frontend/src/pages/ArduinoEmulatorPage.tsx b/frontend/src/pages/ArduinoEmulatorPage.tsx
index dfbf8314..39f891c5 100644
--- a/frontend/src/pages/ArduinoEmulatorPage.tsx
+++ b/frontend/src/pages/ArduinoEmulatorPage.tsx
@@ -20,7 +20,7 @@ const FAQ_ITEMS = [
},
{
q: 'Which Arduino boards can Velxio emulate?',
- a: 'Arduino Uno (ATmega328P), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85 (AVR), Raspberry Pi Pico (RP2040), and multiple ESP32/RISC-V boards. 17 boards across 5 CPU architectures.',
+ a: '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.',
},
{
q: 'What peripherals are emulated?',
@@ -132,11 +132,11 @@ export const ArduinoEmulatorPage: React.FC = () => {
{/* Supported boards */}
17 boards across 5 CPU architectures — AVR, ARM Cortex-M0+, RISC-V, Xtensa LX6/LX7, and ARM Cortex-A53. 19 boards across 5 CPU architectures — AVR8, ARM Cortex-M0+, RISC-V, Xtensa LX6/LX7, and ARM Cortex-A53. Arduino Uno, Arduino Nano, Arduino Mega 2560, ATtiny85, Arduino Leonardo, Arduino Pro Mini. Arduino Uno (ATmega328P), Arduino Nano, Arduino Mega 2560 (ATmega2560), ATtiny85, Arduino Leonardo (ATmega32u4), Arduino Pro Mini. ESP32 DevKit V1, ESP32 DevKit C V4, ESP32-CAM, ESP32-S3 — Xtensa LX6/LX7 at 240 MHz. ESP32 DevKit V1/C V4, ESP32-S3, ESP32-CAM, Seeed XIAO ESP32-S3, Arduino Nano ESP32 — Xtensa LX6/LX7 at 240 MHz. Raspberry Pi 3B — quad-core 1.2 GHz, full Linux, Python 3. Run real OS-level programs in the browser. The ATmega328P powers several popular Arduino boards — all selectable in Velxio. The ATmega328P powers several popular Arduino boards — all selectable in Velxio. The broader AVR8 family also includes ATmega2560 (Mega) and ATtiny85. Bare-bones ATmega328P without USB chip. Available at 3.3 V/8 MHz and 5 V/16 MHz variants. Bare-bones ATmega328P without USB chip. Available at 3.3 V/8 MHz and 5 V/16 MHz variants. Ultra-compact 8-pin AVR. 8 KB flash, 6 I/O pins (PB0–PB5), USI (Wire), Timer0/1, 10-bit ADC. Ideal for embedded minimal projects. ATmega2560 with 256 KB flash, 54 digital pins, 16 analog inputs, and 4 hardware USART channels.Supported boards
- AVR8 — avr8js
- RP2040 — rp2040js
@@ -148,7 +148,11 @@ export const ArduinoEmulatorPage: React.FC = () => {
Xtensa — QEMU
- ARM Cortex-A53 — QEMU
+ ATmega328P boards in Velxio
- Arduino Uno R3
@@ -145,7 +145,15 @@ export const AtmegaSimulatorPage: React.FC = () => {
Arduino Pro Mini
- ATtiny85
+ Arduino Mega 2560
+