6.9 KiB
Velxio — Introduction
Velxio is a fully local, open-source multi-board emulator and electronics simulator that runs entirely in your browser.
Write Arduino C++ or MicroPython, compile it with a real arduino-cli / ESP-IDF backend, and simulate it with true CPU emulation — AVR8, RP2040, Xtensa, RISC-V, and ARM — plus a full ngspice analog circuit engine for op-amps, transistors, diodes, and passive components.
19+ boards, 5 CPU architectures, 590+ electronic components, custom-chip SDK, and a desktop app — without installing anything on your machine.
Why Velxio?
- No installation required — runs in the browser, or as a native desktop app for offline work.
- Real CPU emulation — avr8js, rp2040js, QEMU (Xtensa LX6/LX7, RISC-V RV32IMC, ARM Cortex-A53/A72/A76). Not toy simulators.
- Digital + analog — every digital pin is fed into a co-simulated SPICE netlist, so you get true voltages, currents, and waveforms (not just HIGH/LOW).
- 590+ interactive components — LEDs, displays, sensors, transistors, op-amps, logic gates, motors, e-paper panels, instruments, and more.
- Custom chips — write your own chip in C, compile to WebAssembly, drop on the canvas, wire it up.
- Multi-board canvases — mix an Arduino, an ESP32, and a Raspberry Pi 3 on the same canvas and bridge them over UART.
- Open-source (AGPLv3) — inspect, modify, and self-host with Docker.
Supported Boards
19 boards across 5 CPU architectures:
| Family | Boards | Engine |
|---|---|---|
| AVR8 (browser) | Arduino Uno, Nano, Mega 2560, ATtiny85 | avr8js |
| RP2040 (browser) | Raspberry Pi Pico, Pico W | rp2040js |
| Xtensa LX6/LX7 (QEMU backend) | ESP32 DevKit V1, ESP32 DevKit C V4, ESP32-CAM, Wemos Lolin32 Lite, ESP32-S3 DevKit, XIAO ESP32-S3, Arduino Nano ESP32 | QEMU lcgamboa fork |
| RISC-V RV32IMC (QEMU backend) | ESP32-C3 DevKit, XIAO ESP32-C3, ESP32-C3 SuperMini | QEMU lcgamboa fork |
| ARM Cortex-A (QEMU backend) | Raspberry Pi Zero, Pi 1B+, Pi 2B, Pi 3B, Pi 4B, Pi 5 | QEMU virt / raspi3b |
Languages supported: Arduino C++ on every board, MicroPython on Pico / Pico W / all ESP32 / ESP32-S3 / ESP32-C3 variants, Python 3 on every Raspberry Pi.
See Supported Boards for the full table with CPU clock speeds and FQBNs.
What you can build
- Digital sketches — blink an LED, read a button, talk over Serial, drive an LCD, run a servo. The classic Arduino workflow, faster than flashing a real board.
- Analog circuits — 5V/GND rails, voltage dividers, op-amp filters, RC networks, transistor amplifiers. Probe with the on-canvas voltmeter, ammeter, and oscilloscope, or inject signals with the function generator.
- Mixed-signal designs — an ATmega reading a sensor through an op-amp buffer, an ESP32 driving a NeoPixel ring, a Pi 3 over UART to an Arduino acting as a slave. All co-simulated in one canvas.
- Custom silicon — model a 4-bit Intel 4004, a Z80, a 74HC595 shift register, or a 24LC256 EEPROM as a custom chip in C.
- IoT prototypes — ESP32 WiFi (SLIRP NAT), HTTP servers, MQTT, BLE advertising — all without a real radio.
Documentation
Getting Started
- Getting Started — Hosted, Docker, manual setup, desktop app
- Roadmap — What's implemented, in progress, planned
Architecture & Internals
- Architecture — Project-wide architecture (frontend, backend, simulation, QEMU bridge)
- Emulator Architecture — How each CPU backend (AVR / RP2040 / Xtensa / RISC-V / ARM) works
- Electrical Simulation — Analog circuits, ngspice integration, instruments
- Custom Chips — Developer Guide — Write chips in C, compile to WebAssembly
Boards & Emulation
- RP2040 Emulation — Pico / Pico W (ARM Cortex-M0+)
- Pi Pico W WiFi Emulation — CYW43 simulated radio
- ESP32 Emulation — Full Xtensa QEMU (GPIO, ADC, PWM, WiFi, I2C, SPI, RMT)
- ESP32 WiFi/Bluetooth — WiFi/BLE under QEMU
- ESP32-C3 WiFi/Bluetooth — RISC-V variant
- RISC-V Emulation — ESP32-C3 family
- Raspberry Pi 3 Emulation — BCM2837 / Pi OS / Python + GPIO shim
- MicroPython Implementation — How
.pyruns on Pico and ESP32
Components & Examples
- Components Reference — 590+ components across 10 categories
- Example Projects — 380+ built-in projects (digital, analog, mixed, retro CPUs)
Custom Chips Deep-Dive
- Custom Chips Overview — Quick start, design philosophy
- API Reference — Every
vx_*function - Examples Walkthrough — Gallery chips explained
- Build & Test — Toolchain, sandbox
- ESP32 Backend Runtime — How chips load under QEMU
Electrical Simulation Deep-Dive
- Overview — High-level pitch and design
- Architecture — Engine + bridges
- Components — Analog/passive model coverage
- MNA Solver — Modified Nodal Analysis details
- ngspice Bridge — WASM integration
- AVR Bridge — How digital pins drive SPICE nodes
- ESP32 QEMU Bridge — Same for QEMU backends
- Performance, Gotchas, Tests, API
Apps & Integrations
- Desktop App — Tauri-based offline desktop build (Pro)
- MCP Server — Model Context Protocol — drive Velxio from Claude / Cursor
- Analytics — Self-hosted plausible / GA bridge
Infrastructure
- Build QEMU — Rebuild the lcgamboa QEMU fork from source
- Boot Images — Raspberry Pi kernel / DTB / SD assets
- Third-Party Credits
- Docker Infrastructure
Community & Links
- Live demo: velxio.dev
- GitHub: github.com/davidmonterocrespo24/velxio
- Discord: discord.gg/3mARjJrh4E
- Sponsor: github.com/sponsors/davidmonterocrespo24