Velxio is an open-source, self-hosted simulator for Arduino, ESP32, and Raspberry Pi boards that works directly in your web browser. You can drag-and-drop boards, connect components and modules, write and run code in Arduino or Python, and access the serial console, all without hardware.
If it looks similar to what the Wokwi simulator has to offer, it’s because Velxio was inspired by it and even integrates the AVR8 CPU emulator, RP2040 emulator, and QEMU fork for ESP32 Xtensa emulation from the Wokwi project. But the key difference is that Velxio can be self-hosted, although there’s also an online demo.

Velxio currently supports 19 targets across five architectures
- AVR8 (ATmega / ATtiny)
- Arm Cortex-M0+ (Raspberry Pi RP2040)
- RISC-V RV32IMC/EC (ESP32-C3 / CH32V003)
- Xtensa LX6/LX7 (ESP32 / ESP32-S3 via QEMU)
- Arm Cortex-A53 (Raspberry Pi 3 Linux via QEMU)
The project also offers 48 components. The developer mentions that additional features compared to Wokwi include multiple heterogeneous boards in the same circuit (e.g., two Arduinos connected over SPI or serial, ESP32 with Arduino, Raspberry Pi 3 with a Pico, etc.) and full QEMU emulation support for ESP32 and Raspberry Pi 3.
Besides using the online demo, I found it very easy to install on my Ubuntu 24.04 machine with a single command (assumes Docker is already installed and enabled):
|
1 |
jaufranc@CNX-LAPTOP-5:~/edev/sandbox$ sudo docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master |
Once the installation was complete, I could access it in a web browser using the local IP on port 3080 (http://localhost:3080).
Clicking “Try Simulator Free” brings you to the simulator preloaded with a blinky example for Arduino UNO, as in the top screenshot in this article. I could build it and run it to see the blinking LED. I added a Raspberry Pi 3 and Raspberry Pi Pico 2 W to the dashboard, and built the blinky sample for the Pico board.
The Raspberry Pi 3 can be started, but even after waiting for a few minutes, I was unable to access the serial console and run the Python and Bash sample scripts. It’s in beta, maybe that’s why.
Adding additional components or boards is very easy as everything is well described and you can just drag-and-drop the selected component in position before wiring it to one of the GPIO of the board.
If you don’t want to wire a project by yourself just yet, you can always head over to the example section to browse various samples for Arduino, Raspberry Pi Pico, or ESP32 boards.
I did try a few ESP32 examples. They will load the code and the required libraries, but the builds failed for me:
|
1 2 3 |
[1285/1297] Building C object esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.obj ninja: build stopped: subcommand failed. ✕ ESP-IDF build failed |
Doing the same on the online demo also fails with a similar error, but with a more verbose output.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Bootloader binary size 0x4350 bytes. 0x2cb0 bytes (40%) free. ninja: build stopped: subcommand failed. CMake Deprecation Warning at /opt/esp-idf/tools/cmake/project.cmake:2 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument <min> value. Or, use the <min>...<max> syntax to tell CMake that the project requires at least <min> but has been updated to work with policies introduced by <max> or earlier. Call Stack (most recent call first): CMakeLists.txt:8 (include) fatal: not a git repository (or any of the parent directories): .git CMake Deprecation Warning at /opt/esp-idf/CMakeLists.txt:1 (cmake_minimum_required): ... |
I decided to select a simpler ESP32 example (Blink LED), and this time it worked.
Velxio is a cool project, although there’s still some extra work to do to make it more stable. You’ll find the code and full details on GitHub. The code is released under a dual-licensing model with an AGPLv3 licence for personal, educational, and open-source projects, and a commercial license for proprietary and closed-source products or SaaS.
Via Adafruit

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.







