Remix.run Logo
dmcrespo 2 days 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

ehnto 2 days ago | parent | next [-]

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!

dmcrespo 2 days ago | parent | next [-]

Quick update: this should be fixed now. It was an overly aggressive CrowdSec rule blocking some legitimate traffic.

If anyone still has issues accessing velxio.dev, let me know

ehnto 2 days ago | parent [-]

Nice one! I can access it now.

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.

dmcrespo 2 days ago | parent [-]

Mobile support is something I’ve been paying a lot of attention to, so it's really good to know it runs well even on older devices.

And glad you liked the oscilloscope, that was a fun one to build.You can select the motherboard and ping you want to monitor.

dmcrespo 2 days ago | parent | prev [-]

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

philkrylov 2 days ago | parent | prev [-]

Hi, adding WS2812B LED strips of arbitrary length would be awesome! Scrolling the canvas is sometimes problematic. Otherwise very interesting.

dmcrespo 2 days ago | parent [-]

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