Open-source project enables developers to emulate Arduino, ESP32, and Raspberry Pi boards with real CPU emulation, eliminating need for physical hardware during development.
In a move that could significantly lower barriers to embedded development, Velxio has launched a browser-based emulator that supports 19 different development boards across five CPU architectures. The project allows developers to write, compile, and run code on virtual Arduino, ESP32, and Raspberry Pi hardware directly in their browser, with no cloud dependency or hardware requirements.
{{IMAGE:1}}
The platform stands out for its technical depth, offering real CPU emulation rather than simple simulation. This approach means developers can test code with authentic timing behavior, making it suitable for projects where precise timing matters. The emulator supports five distinct CPU architectures: AVR8 (found in classic Arduino boards), ARM Cortex-M0+ (Raspberry Pi Pico), RISC-V (ESP32-C3), Xtensa LX6/LX7 (ESP32), and ARM Cortex-A53 (Raspberry Pi 3 Linux).
"Velxio is fully local, open-source, and works entirely in your browser," explains the creator, David Montero Crespo. "You can write Arduino C++ or Python, compile it, and simulate it with real CPU emulation and 48+ interactive electronic components—all without leaving your browser."
The technical implementation reveals a sophisticated approach to emulation. For AVR-based boards like the Arduino Uno, the project uses avr8js, which provides native clock speed emulation of actual ATmega chips. The Raspberry Pi Pico emulation leverages rp2040js for accurate ARM Cortex-M0+ processing, while RISC-V boards use a custom TypeScript emulator called RiscVCore.ts. For more complex architectures like the ESP32 and Raspberry Pi 3, Velxio integrates QEMU, the well-known machine emulator.
{{IMAGE:2}}
The platform includes a Monaco Editor for code editing with syntax highlighting, autocomplete, and multi-file workspace support. Arduino compilation happens through arduino-cli backend, producing actual .hex and .bin files. A compilation console shows full compiler output, warnings, and errors, giving developers the same feedback they'd get with physical hardware.
One notable feature is the multi-board simulation capability, allowing developers to run different architectures simultaneously on the same canvas. For example, a Raspberry Pi and Arduino can communicate via serial connection in a single virtual workspace. This functionality could prove valuable for projects involving multiple microcontrollers or for testing communication protocols between different hardware platforms.
The component system includes 48 electronic components that can be dragged and dropped onto the simulation canvas. These include basic elements like buttons, LEDs, and potentiometers, as well as more complex components such as displays, sensors, and communication modules. The wire system supports orthogonal routing with color-coded signal types, making it easy to create and debug virtual circuits.
{{IMAGE:3}}
Velxio addresses a common pain point in embedded development: the need for physical hardware. By providing accurate emulation in the browser, the platform enables developers to prototype, learn, and develop embedded systems without purchasing hardware. This could be particularly valuable for educational institutions, hobbyists with limited budgets, or developers who need to test code across multiple board types.
The project supports project persistence through email/password and Google OAuth authentication, allowing users to save their work with public or private visibility. Each project gets a permanent URL, making it easy to share embedded projects with others.
For those concerned about privacy or offline access, Velxio offers self-hosting options through Docker. A single command can deploy the entire platform locally: docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master. This approach ensures that sensitive code never leaves the developer's control.
{{IMAGE:4}}
Velxio operates under a dual-license model. The AGPLv3 license makes it free for personal, educational, and open-source use, requiring that any modifications or network-accessible deployments make their source code available under the same license. Companies that cannot comply with this requirement can purchase a Commercial License.
The project has garnered interest in the embedded development community, with a Discord server for support and discussion. While there's no traditional funding or venture capital involved, the creator accepts donations through GitHub Sponsors and PayPal to cover server costs and support ongoing development.
"Building and maintaining a full multi-board emulator takes a lot of time," Montero Crespo notes. "If it saves you time or you enjoy the project, sponsoring me directly helps keep development going. Your support helps cover server costs, library maintenance, and frees up time to add new boards, components, and features."
{{IMAGE:5}}
As embedded systems continue to proliferate in IoT devices, consumer electronics, and industrial applications, tools that lower barriers to entry become increasingly valuable. Velxio represents an interesting approach to making embedded development more accessible, combining technical accuracy with the convenience of browser-based access. The open-source nature and comprehensive emulation capabilities could position it as a significant player in the embedded development tooling space.
For developers interested in trying Velxio, the platform is available at https://velxio.dev with no installation required. The project's GitHub repository contains detailed documentation, technical specifications, and instructions for self-hosting.
Comments
Please log in or register to join the discussion