3 ms·
I built a small emulator project called Velxio. A fully local, open-source Arduino emulator. Write Arduino code, compile it, and simulate it with real AVR8 CPU
by dmonterocrespo 7mo ago
I built a small emulator project called Velxio.
A fully local, open-source Arduino emulator. Write Arduino code, compile it, and simulate it with real AVR8 CPU emulation and 48+ interactive electronic components,All running in your browser. GitHub: https://github.com/davidmonterocrespo24/velxio https://github.com/davidmonterocrespo24/velxio
The goal of this project was to learn more about how emulators work internally: CPU instructions, memory management, and low-level architecture.
It's still experimental, but it already runs basic instructions and I'm continuing to improve it.
- dmonterocrespo 7mo agoHi HN! I built Velxio to explore how microcontroller emulators work internally. It's an Arduino environment that runs entirely in the browser. You can write sketches, compile them with arduino-cli, and simulate circuits using a real AVR8 CPU emulator. Features: - Arduino Uno / Nano support - Raspberry Pi Pico (RP2040) - GPIO, SPI, I2C, UART, ADC peripherals - interactive electronic components The goal is to create an open-source environment for experimenting with embedded systems without installing anything. I'd love feedback from embedded developers!
- tamimio 7mo agoThanks for the share, it looks great! Can I load my own OS in rpi?
- monocasa 7mo agoDid you see that it's an rpi pico, which doesn't really run OSes in the traditional sense?
- tamimio 7mo agoYou are right, when I skimmed through I thought it’s an sbc one. Still very cool, would try it later.
- dmonterocrespo 7mo agoYeah exactly ,the Pico (RP2040) is a microcontroller rather than a full SBC, so it doesn't run a traditional OS like Linux. In the future I'd like to support more low-level experimentation though (bare-metal programs, custom runtimes, etc.). Thanks for checking it out!
- dosshell 7mo agoWhat parts have you exactly built? All I see are dependencies that are glued together with claude. Can you clearify exactly what you have developed?
- dmonterocrespo 7mo agoI built specifically: The browser-based IDE (editor, project handling, UI) The circuit simulation layer that connects components to the emulator The glue between the AVR8 emulator and the virtual peripherals (GPIO, UART, SPI, etc.) The component interaction system (buttons, LEDs, displays, etc.) The architecture that lets compiled Arduino sketches run and interact with the simulated hardware Some parts like the AVR CPU emulation and the compiler toolchain obviously come from existing projects, but the goal of Velxio wasn't to re-implement an AVR core from scratch. It was to build a usable environment where all of these pieces work together in the browser. I'm still having trouble connecting the cables and components properly. I'm looking for a better algorithm. I'm also trying to create a real-world electronics simulator in JavaScript using an engine like CircuitJS1.
- dosshell 7mo agowhat do you mean with "The browser-based IDE (editor ...) You use Monaco Editor for that.
- dmonterocrespo 7mo agoYes, the editor itself uses Monaco. That dependency is listed in the README When I said "browser-based IDE", I meant the environment around it: project handling, compilation with arduino cli, the UI, the serial monitor, and the integration with the emulator and circuit simulation Monaco is just the editing component