Velxio 2.0 – Emulate Arduino, ESP32, and Raspberry Pi 3 in the Browser

github.com

68 points by dmcrespo 4 hours ago


dmonterocrespo - 3 hours ago

Velxio 2.0 is live.

A free, open-source emulator for 19 embedded boards: Arduino, ESP32, Raspberry Pi, RISC-V , running real compiled code in your browser.

The best part: it's fully local.

No cloud dependency. No student accounts. No data leaving your network. Self-hostable with a single Docker container.

Universities and bootcamps can deploy it on their own servers and give every student access to a complete embedded development environment, for free.

I've been working on this for over a year, and just shipped v2.0 with ESP32 emulation (via QEMU), a custom RISC-V core, and Raspberry Pi 3 support that runs real Python

dmcrespo - 4 hours ago

Hey HN, I posted Velxio here a while back and got great feedback. Since then I've shipped a major update

What's new in v2:

- 19 boards across 5 CPU architectures (AVR8, Xtensa, RISC-V, ARM Cortex-M0+, ARM Cortex-A53) - ESP32 emulation via QEMU (lcgamboa fork) — real flash images, ROM function emulation, GPIO/ADC/timers - ESP32-C3 and CH32V003 run on a custom RISC-V core written in TypeScript, entirely in the browser - Raspberry Pi 3B via QEMU raspi3b — boots real Pi OS, runs Python - Realistic sensor simulation: DHT22 (40-bit protocol timing), HC-SR04 (trigger/echo), WS2812B NeoPixel (GRB decoding) - 48+ electronic components from wokwi-elements

Architecture:

- AVR, RP2040, and RISC-V emulation runs client-side (avr8js, rp2040js, custom TS core) - ESP32 Xtensa and Pi 3 run on backend QEMU - Compilation via real arduino-cli - React + Vite frontend, FastAPI backend - Self-hostable via Docker, no account needed

Source: https://github.com/davidmonterocrespo24/velxio (AGPLv3)

Happy to discuss the emulation architecture — particularly the trade-offs between in-browser vs. backend QEMU emulation

urbandw311er - an hour ago

This is a great idea. It’s always been inconvenient requiring access to the physical board just to be able to test these sort of projects.

radicality - 2 hours ago

I often write a bunch of Esphome ‘code’ , which I then use with various esp32 based devices (mostly from M5stack) via esphome/HomeAssistant.

Can this project help me in any way during dev stage before uploading the code to device just to see it doesn’t work ? Eg could I use this to somehow compile&run those esphome yamls via this emulator?

wumms - an hour ago

Nice work! One minor point for me: it wasn’t immediately clear that you need to press Compile before Play gets enabled (e.g. Arduino IDE let's you upload right away and compiles if needed)

hex4def6 - 3 hours ago

First of all: Awesome work! Playing with it now.

One suggestion: The main splash screen image is nearly 8MB big. It takes a noticeable time to download on my connection. I'm not sure what bandwidth costs these days, but seems like that could be something to optimize.