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
When I try to visit velxio.dev, a CrowdSec page shows up and says I am not allowed to view it. I am a pretty normal android user on firefox mobile, so that is surprising.
I look forward to trying this out though, great project!
Really awesome project, it runs well on my old android phone, the fact that I can use a tool like this on my phone is pretty wild, you have done well with the UI in that regard. The oscilloscope is a really nice feature too.
Oh, thanks for reporting this.that definitely shouldn’t happen.
It’s likely an overly aggressive CrowdSec rule blocking some legitimate traffic. I’ll look into it and adjust the configuration
Thanks! That’s a great suggestion, supporting WS2812B strips with arbitrary length is definitely something I’d like to add. I also have in mind adding many more LED based components. I’ll take a look at improving the canvas scrolling too
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