14 comments

  • dmonterocrespo7 hours ago
    Velxio 2.0 is live.<p>A free, open-source emulator for 19 embedded boards: Arduino, ESP32, Raspberry Pi, RISC-V , running real compiled code in your browser.<p>The best part: it&#x27;s fully local.<p>No cloud dependency. No student accounts. No data leaving your network. Self-hostable with a single Docker container.<p>Universities and bootcamps can deploy it on their own servers and give every student access to a complete embedded development environment, for free.<p>I&#x27;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
    • mech4226 hours ago
      just curious - if it runs from a docker container, what is the advantage of running the browser as opposed to just ssh&#x27;ing in ?
      • dmcrespo6 hours ago
        The main advantage is accessibility and ease of use: with the browser, no setup is required on the user’s side, no toolchains need to be installed, and there’s no need to be familiar with SSH or terminal workflows<p>It also provides a more visual and interactive environment (editor, peripherals, simulation controls), which is especially useful for teaching and for beginners.<p>The Docker image is there so you can easily install it on your own machine if you want to run it locally or work on development
        • mech4221 hour ago
          The visual component editor does look pretty nice :-) I guess I always just associated sbc&#x27;s with a more &#x27;hands on&#x27; style...<p>Anyway, seems like a pretty cool project - congrats!
          • dmcrespo1 hour ago
            Thanks! The visual editor is actually a big part of the project<p>I used a little AI to create the graphical interface since I focused heavily on emulation, testing, and refining and optimizing the circuit editor. But now I have plans to improve the UI and make it faster and more intuitive<p>Still a lot to improve there, but glad it’s useful already
    • exe346 hours ago
      Is it easy to feed an elf or bin and run that (esp32c3)? I see compilation available, but I&#x27;m playing with asm and have my toolchain figured out already and would just like to emulate the firmware.
      • mysteria3 hours ago
        Another +1 for this one as this is what turns this tool from a toy environment with basic sketches into something that&#x27;s actually useful for larger projects with a full toolchain, libraries, and so forth.
        • dmcrespo1 hour ago
          That’s exactly the direction I’m aiming for<p>A lot of simulators stop at simple sketches, but the goal with Velxio is to support more realistic workflows , multiple boards interacting, real toolchains, and more complex setups<p>Still early, but definitely moving in that direction
        • dmcrespo3 hours ago
          [dead]
      • dmcrespo6 hours ago
        [dead]
    • alcor-z2 hours ago
      [dead]
  • mvkel21 minutes ago
    This is fantastic. I am doing my first-ever consumer electronics product and this would save a lot of soldering time
  • dmcrespo7 hours ago
    Hey HN, I posted Velxio here a while back and got great feedback. Since then I&#x27;ve shipped a major update<p>What&#x27;s new in v2:<p>- 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&#x2F;ADC&#x2F;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&#x2F;echo), WS2812B NeoPixel (GRB decoding) - 48+ electronic components from wokwi-elements<p>Architecture:<p>- 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<p>Source: <a href="https:&#x2F;&#x2F;github.com&#x2F;davidmonterocrespo24&#x2F;velxio" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;davidmonterocrespo24&#x2F;velxio</a> (AGPLv3)<p>Happy to discuss the emulation architecture — particularly the trade-offs between in-browser vs. backend QEMU emulation
    • ehnto2 hours ago
      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.<p>I look forward to trying this out though, great project!
      • dmcrespo1 hour ago
        Quick update: this should be fixed now. It was an overly aggressive CrowdSec rule blocking some legitimate traffic.<p>If anyone still has issues accessing velxio.dev, let me know
        • ehnto40 minutes ago
          Nice one! I can access it now.<p>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.
      • dmcrespo2 hours ago
        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
    • philkrylov4 hours ago
      Hi, adding WS2812B LED strips of arbitrary length would be awesome! Scrolling the canvas is sometimes problematic. Otherwise very interesting.
      • dmcrespo4 hours ago
        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
  • dmcrespo1 hour ago
    Quick update: traffic is still coming in waves, had to scale up compilation workers to keep up with demand<p>Things are more stable now, but still tuning performance under load<p>If anyone finds it useful, the source is here: <a href="https:&#x2F;&#x2F;github.com&#x2F;davidmonterocrespo24&#x2F;velxio" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;davidmonterocrespo24&#x2F;velxio</a><p>Always happy to get feedback or contributions.
  • triilman17 minutes ago
    I like this Idea but I don&#x27;t want to use this. I know what kind of prompt U using to create this one: &quot;Create something like Wokwi and make it local&quot;
  • GCUMstlyHarmls2 hours ago
    The container instructions has `-d` in it, but note that after booting the container it downloads another, I don&#x27;t know, 300+mb more (its still downloading as I write), so if you can&#x27;t connect that&#x27;s why.<p>Might be better to not include `-d` in the instructions?
    • dmcrespo1 hour ago
      Good catch!!! thanks for pointing that out<p>The container pulls additional assets on first run (mainly emulation dependencies), which is why there&#x27;s extra downloading even with -d.<p>You&#x27;re right that it can be confusing. I&#x27;ll update the instructions to make this clearer (and probably remove -d so users can see what&#x27;s happening)
  • kaycebasques2 hours ago
    Can someone who has used both wokwi and this do a compare&#x2F;contrast? The footer suggests that it&#x27;s built on top of wokwi-elements
    • dmcrespo2 hours ago
      Velxio is definitely inspired by Wokwi, and I really like what they’ve built. Parts of Velxio also reuse open-source components , for example, the wokwi elements are used for the visual SVG rendering of boards and peripherals, but they don’t include any emulation logic.<p>I also integrated a couple of existing open-source emulators, like the Raspberry Pi Pico and Arduino ones. And I even reached out to the creator of Wokwi to share the project.<p>In terms of differences, one of the biggest ones is that Velxio supports multiple heterogeneous boards in the same circuit: for example, two Arduinos connected over SPI or serial, ESP32 with Arduino, Raspberry Pi 3 with a Pico, etc.<p>Another major difference is the focus on full emulation, including ESP32 (via QEMU) and a Raspberry Pi 3 running Linux (still in beta).<p>There are also quite a few other differences, but those are probably the most notable ones
  • radicality6 hours ago
    I often write a bunch of Esphome ‘code’ , which I then use with various esp32 based devices (mostly from M5stack) via esphome&#x2F;HomeAssistant.<p>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&amp;run those esphome yamls via this emulator?
    • dmcrespo5 hours ago
      That’s a really interesting use case. I’m currently evaluating integrating the ESPHome compiler into the project, so it could potentially compile and run ESPHome YAMLs during the development stage<p>It’s still exploratory, but it could definitely go in that direction
      • cyberax5 hours ago
        That would be awesome! ESPHome is the easiest way to integrate custom devices into your HomeAssistant with online updates, logs, and other functionality. Nothing else comes close.
  • flymasterv1 hour ago
    Awesome. Is there any chance of getting MicroPython or CircuitPython support?
    • dmcrespo1 hour ago
      I’m currently working towards that.<p>The Raspberry Pi emulation already runs Python, and I’d like to extend that into proper MicroPython &#x2F; CircuitPython support for microcontrollers as well<p>It’s a bit tricky depending on the board&#x2F;emulator, but definitely a priority!
  • wumms5 hours 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&#x27;s you upload right away and compiles if needed)
    • dmcrespo5 hours ago
      Good point.I’ll improve that. Thanks!
  • hex4def66 hours ago
    First of all: Awesome work! Playing with it now.<p>One suggestion: The main splash screen image is nearly 8MB big. It takes a noticeable time to download on my connection. I&#x27;m not sure what bandwidth costs these days, but seems like that could be something to optimize.
    • dmcrespo6 hours ago
      Thanks a lot! Yes, that’s something I have pending, I’m planning to replace it with an SVG or an animated GIF to improve loading time
  • urbandw311er5 hours 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.
    • dmcrespo5 hours ago
      Exactly,that’s the idea. Not having to flash the chip a thousand times just to see if everything works. The goal is to let you test the setup as fast as possible, ideally without installing anything locally
  • dmcrespo1 hour ago
    [dead]
  • mertleee2 hours ago
    [dead]