mrkeyoor.com_
Fri 16 Oct 18:52 UTC
Dev Toolsevaluationupdated 08 Oct 2026

velxio review

Velxio is a browser-based microcontroller emulator and circuit workbench for Arduino, Raspberry Pi Pico, ESP32, STM32, and Raspberry Pi projects. You write C++, MicroPython, ESP-IDF, or Python, wire virtual components on a canvas, then compile and run code against browser or QEMU emulation.

+88stars / 7d
Verdict

Our 7-second run installed 6 root npm packages but found no build or test target, so it did not verify the simulator application. Velxio is worth trying for teaching and early firmware experiments because one canvas spans browser-run AVR and RP2040 boards plus container-backed ESP32 emulation. Use real hardware before trusting timing or peripheral behavior, and put authentication in front of any shared self-hosted instance.

We ran it

Lab card: what happened when we ran velxioScreenshot of velxio (velxio.dev)
Install✓ · 7s6 packages · 38 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo2780 files~329,313 lines of source · 116.5 MB · 11 CI workflows · tests dir

Answers from our run

Does velxio build from source?

Dependencies installed in 7 seconds (6 packages), and the project has no separate build step. We cloned commit ff2ff0d into a clean Debian container with 3 CPUs and no project-specific setup.

Does velxio have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does velxio have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use velxio?

Teams that need every advertised board on premises: STM32, Raspberry Pi Linux, ESP32-C6, and partner boards are excluded from the self-hosted image.

What are the alternatives to velxio?

Wokwi, SimulIDE, Renode. Our 7-second run installed 6 root npm packages but found no build or test target, so it did not verify the simulator application.

Setup3/5Prebuilt Docker path is clear; root npm has no runnable targets
Docs5/5Board limits, Docker paths, volumes, and manual setup are explicit
Community4/53,109 stars, an October 5 push, and 12 open issues
Maturity3/5Broad v3.0.5 feature set with open ESP32 behavior defects

Discussed on

  1. hnVelxio 2.0 – Emulate Arduino, ESP32, and Raspberry Pi 3 in the Browser196 points
  2. hnVelxio 3.0 – An AI hardware Agent that designs circuits an emulator5 points

Who it’s for

Teachers and learners who need repeatable embedded exercises without a box of boards.
Firmware developers testing Arduino, RP2040, or ESP32 ideas before wiring hardware.
Documentation teams embedding runnable circuit examples in tutorials.
Self-hosters comfortable running compilers and QEMU-backed workloads in Docker.

Who it’s NOT for

Teams that need every advertised board on premises: STM32, Raspberry Pi Linux, ESP32-C6, and partner boards are excluded from the self-hosted image.
Public multi-user hosts expecting built-in accounts: the README says the open-source image has no auth and accepts any Host header.
Closed-source hosted products unwilling to meet AGPLv3 network-use obligations or obtain the offered commercial license.
Hardware validation labs: open issues report ESP32 servo, onboard LED, and multi-pixel NeoPixel behavior that differs from the intended device behavior.
Developers expecting the root npm package to build the simulator: it has only three development dependencies and no scripts.

Setup reality

Our sandbox installed commit ff2ff0d in 7 seconds, adding 6 packages and using 38 MB. The root package has no build or test script, so both steps were skipped. Npm audit reported 0 known vulnerabilities.

The supported self-host path is the prebuilt Docker image or Compose, not that root npm package. Persistent volumes hold the SQLite data, Arduino cores and libraries, compiler cache, and ESP-IDF build state. Manual development needs Node.js, Python, and arduino-cli; ESP32 emulation needs the QEMU libraries in the container.

The checkout had 2,780 files, about 329,313 source lines, and used 116.5 MB. Our scan found a compose file, 11 CI workflows, a tests directory, and no Dockerfile. The open-source server has no auth, so public access needs an external gate.

Forty boards share one editor, but they do not all run locally

Velxio combines a Monaco code editor, circuit canvas, compiler output, serial monitor, and virtual instruments in one browser workspace. The README lists 40 boards across 5 CPU families and more than 150 interactive components. AVR and RP2040 boards run in the page. ESP32, STM32, and Raspberry Pi Linux targets use QEMU-backed services that stream GPIO and serial state to the same canvas.

That uniform Play button hides a licensing and deployment split. The self-hosted image includes Arduino, Raspberry Pi Pico, and ESP32 families. STM32, Raspberry Pi Linux, ESP32-C6, and branded partner boards remain on velxio.dev, with some requiring a paid plan. The open picker can show those boards, but selecting them sends users to the hosted editor. Check the board table before promising an offline classroom a particular target.

The prebuilt container is the real installation path

Velxio documents three routes: a published container, a Compose source build, and a manual frontend-plus-backend setup. The container maps port 3080 and uses five named volumes for SQLite data, Arduino cores, user libraries, ccache objects, and ESP-IDF build directories. The volumes keep board toolchains and compiled objects across restarts. The service generates its secret key on first boot, so the basic local path needs no environment file.

Manual development has more moving parts. The backend uses Python, the frontend needs Node.js, and compilation depends on arduino-cli. Browser-side AVR and RP2040 boards can work there. ESP32 requires QEMU shared libraries supplied by the Docker image or wired up by hand. The repository includes a Compose file and 11 CI workflows, though our scan found no Dockerfile at the measured commit.

What happened when we ran it

Our sandbox installed 6 npm packages in 7 seconds and used 38 MB on disk. It checked out commit ff2ff0d in a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. Npm audit reported 0 known vulnerabilities across all listed severities.

The root package.json contains only @types/node, tsx, and TypeScript as development dependencies. It defines no scripts, so there was no build target and no test target to run. Both steps were skipped. The result covers the small root tooling package, not the Python backend, React frontend, Arduino compiler path, QEMU services, or browser emulators.

That boundary matters in a 2,780-file repository with about 329,313 source lines and a 116.5 MB checkout. A successful 7-second npm install does not show that an Arduino sketch compiles or an ESP32 peripheral behaves correctly. The repository has a tests directory, but the root package offered no command that invoked it. Teams should use the container path and run board-specific examples matching their firmware.

The simulator covers buses, displays, WiFi, and custom chips

Velxio goes beyond blinking one virtual LED. The README describes SPI, I2C, UART, ADC, PWM, virtual WiFi with MQTT, an oscilloscope, and a SPICE-based electrical layer. Custom chips can be written in C, compiled to WebAssembly, and placed beside emulated boards. More than 400 hosted examples provide starting circuits.

A student can see source, wiring, serial output, and a waveform without moving between applications. That breadth also creates fidelity boundaries. Browser AVR execution, RP2040 emulation, and QEMU-backed ESP32 peripherals do not share one implementation. A passing sketch on one board family is evidence for that simulated route, not every board with a similar pin label.

Open ESP32 reports are reasons to keep hardware in the loop

Issue 381 reports that an ESP32 NeoPixel example works with 1 pixel but stalls when changed to 2 or more on the QEMU path. The reporter saw the first batch of RMT events and no completed update frame. Issue 374 reports a different gap: ESP32 code toggles GPIO2 and prints once per second, but the onboard LED drawing never changes because the board component receives no LED state.

Issue 332 describes a Grove servo example failing after a move to ESP32-S3 and behaving inconsistently after rewiring. These are user reports, not results from our Debian run, but they affect teaching demos where the visible output is the lesson. Confirm the exact board, component, and library combination in Velxio, then repeat important results on physical hardware. Simulation should shorten the path to a bench test, not replace it.

A shared host needs its own access control

The open-source image has no accounts or built-in authentication, according to the README. Its HTTP container also accepts any Host header. That is convenient on localhost and unsuitable as the only boundary on a public server that compiles user code and runs emulator workloads. Put it behind an authenticated reverse proxy, restrict network reachability, and decide who can create projects or consume build capacity.

The default news feed fetches release notes and product news from velxio.dev, caches them, and can display remote media. VELXIO_NEWS=off disables that behavior for private or offline environments. The repository uses AGPLv3 and offers a separate commercial license. A company exposing a modified service over a network should review those terms before building around it.

October code activity matters more than the September release date

GitHub showed 3,109 stars and 13 open issues and pull requests on October 8, 2026, split into 12 issues and 1 pull request. The last push was October 5 at measured commit ff2ff0d. Release v3.0.5 shipped September 2 with project export, wire junctions, scope probes, custom-chip work, theme changes, and many ESP32 fixes.

The recent push and issue activity show ongoing maintenance even though the latest tag is a month older. Velxio earns a trial for embedded teaching, tutorial embeds, and early circuit work. Its value is the shared workspace across code and wiring. Treat the emulator as a fast experiment, and move claims about electrical behavior or peripheral compatibility onto the actual board.

Alternatives

ProjectWhat it isPick it when
WokwiA hosted electronics simulator with broad Arduino, ESP32, RP2040, and component support.pick this instead when a managed simulator and its established component ecosystem matter more than self-hosting.
SimulIDEA desktop electronic circuit simulator with microcontroller support.pick this instead when offline desktop simulation matters more than browser sharing and embedded examples.
RenodeA framework for emulating embedded systems and running firmware tests across virtual hardware.pick this instead when automated firmware testing and machine-level emulation matter more than a visual breadboard.

What people are saying

  1. [github-trending] davidmonterocrespo24/velxio

Sources

  1. Velxio README
  2. Velxio v3.0.5 release
  3. Measured commit ff2ff0d
  4. ESP32 multi-pixel NeoPixel issue
  5. ESP32 onboard LED issue
  6. ESP32-S3 servo issue

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →