2026-03-17 00:22:23 +07:00
# Velxio: Arduino & Embedded Board Emulator
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
**Live at [velxio.dev ](https://velxio.dev )**
2026-03-03 10:20:49 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
An open-source multi-board emulator and circuit simulator. Write Arduino C++, MicroPython, ESP-IDF or Python, compile it, and run it against real CPU emulation with 150+ interactive electronic components — all in your browser.
2026-03-04 08:25:52 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
**40 boards · 5 CPU families**: AVR8 (ATmega / ATtiny), ARM Cortex-M (RP2040 / RP2350 / STM32), Xtensa LX6/LX7 (ESP32 / ESP32-S3), RISC-V (ESP32-C3 / ESP32-C6) and ARM Cortex-A Linux (Raspberry Pi Zero to 5).
2026-03-23 23:33:50 +07:00
2026-03-24 12:15:11 +07:00

2026-03-07 08:12:50 +07:00
[](https://velxio.dev)
[](https://github.com/davidmonterocrespo24/velxio/pkgs/container/velxio)
[](https://github.com/davidmonterocrespo24/velxio/stargazers)
2026-03-29 07:58:17 +07:00
[](https://discord.gg/3mARjJrh4E)
2026-03-07 08:32:05 +07:00
[](LICENSE)
[](COMMERCIAL_LICENSE.md)
2026-03-04 08:25:52 +07:00
2026-03-09 02:37:56 +07:00
---
2026-03-08 07:44:39 +07:00
2026-03-17 00:22:23 +07:00
[](https://www.producthunt.com/products/velxio)
2026-03-08 07:44:39 +07:00
---
## Support the Project
2026-03-17 00:22:23 +07:00
Velxio is free and open-source. Building and maintaining a full multi-board emulator takes a lot of time — if it saves you time or you enjoy the project, sponsoring me directly helps keep development going.
2026-03-08 07:44:39 +07:00
| Platform | Link |
2026-03-17 00:22:23 +07:00
| --- | --- |
2026-03-08 07:44:39 +07:00
| **GitHub Sponsors** (preferred) | [github.com/sponsors/davidmonterocrespo24 ](https://github.com/sponsors/davidmonterocrespo24 ) |
| **PayPal** | [paypal.me/odoonext ](https://paypal.me/odoonext ) |
2026-03-17 00:22:23 +07:00
Your support helps cover server costs, library maintenance, and frees up time to add new boards, components, and features. Thank you!
2026-03-04 08:25:52 +07:00
2026-03-07 08:12:50 +07:00
---
2026-08-14 21:45:47 +07:00
## Hardware Partners
These companies have supported Velxio and provided their hardware so their components can be emulated accurately:
< p align = "center" >
< a href = "https://www.dfrobot.com/" > < img src = "docs/partners/dfrobot.png" alt = "DFRobot" width = "150" > < / a >
< a href = "https://www.espressif.com/" > < img src = "docs/partners/espressif.png" alt = "Espressif" width = "150" > < / a >
< a href = "https://m5stack.com/" > < img src = "docs/partners/m5stack.png" alt = "M5Stack" width = "150" > < / a >
< a href = "https://www.seeedstudio.com/" > < img src = "docs/partners/seeed-studio.png" alt = "Seeed Studio" width = "150" > < / a >
< a href = "https://pimoroni.com/" > < img src = "docs/partners/pimoroni.png" alt = "Pimoroni" width = "150" > < / a >
< / p >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Their hardware is in the catalog today: the M5Stack Cardputer and Core, the Pimoroni Badger 2350 and Galactic Unicorn, the Seeed Studio XIAO family and Grove modules, the DFRobot UNIHIKER and Gravity sensors, and the whole Espressif ESP32 line up to the ESP32-C6.
2026-08-14 21:45:47 +07:00
---
2026-03-07 08:12:50 +07:00
## Try it now
**[https://velxio.dev](https://velxio.dev)** — no installation needed. Open the editor, write your sketch, and simulate directly in the browser.
To self-host with Docker (single command):
```bash
2026-05-26 22:52:53 +07:00
docker run -d \
--name velxio \
-p 3080:80 \
2026-05-10 04:04:16 +07:00
-v velxio-data:/app/data \
-v velxio-arduino-libs:/root/.arduino15 \
-v velxio-arduino-user-libs:/root/Arduino \
-v velxio-ccache:/var/cache/ccache \
-v velxio-build:/var/lib/velxio-build \
ghcr.io/davidmonterocrespo24/velxio:master
2026-03-07 08:12:50 +07:00
```
2026-05-26 22:52:53 +07:00
Then open < http: / / localhost:3080 > . Tail logs any time with
`docker logs -f velxio` .
2026-03-07 08:12:50 +07:00
2026-05-10 04:04:16 +07:00
The named volumes are what make compile times reasonable on subsequent
runs — without them, every container restart wipes the ESP-IDF build
cache and the first compile after each restart takes 5-7 minutes
instead of 5-30 seconds.
2026-03-07 08:12:50 +07:00
---
2026-03-04 08:25:52 +07:00
2026-03-04 07:14:01 +07:00
## Screenshots
2026-08-18 05:02:24 +07:00
< p align = "center" > < img src = "docs/img/screens/weather-station.gif" width = "520" alt = "ESP32 weather station driving an ILI9341 TFT" > < / p >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
ESP32 weather station — a BMP280 over I2C, a DHT22 on a GPIO and an ILI9341 TFT over SPI wired on the canvas, three buses working at once while the display updates live.

2026-03-04 07:14:01 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
The editor: Monaco on the left, the circuit canvas on the right, compiler output and Serial Monitor at the bottom. Here an ESP32 DevKit blinks an external LED and prints over UART.
2026-03-04 07:14:01 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00

2026-03-04 07:14:01 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Component picker — every board and module with a live preview, search and category filters. The catalog is over 150 parts: displays, sensors, motors, logic ICs, analog parts, breadboards and branded modules.
2026-03-06 07:33:02 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00

2026-03-06 07:33:02 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Examples gallery — more than 400 ready-to-run projects filtered by board, difficulty and topic, including the [100 Days 100 IoT Projects ](https://github.com/velxio/100_Days_100_IoT_Projects ) collection.
2026-03-06 07:33:02 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00

2026-03-06 07:33:02 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
MicroPython — the same ESP32, now running `main.py` , with the REPL in the terminal panel. ESP32 boards also accept pure ESP-IDF projects.
2026-03-07 08:12:50 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00

2026-03-24 09:24:14 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Emulated WiFi — the ESP32 joins the virtual access point, gets an IP and round-trips messages through a public MQTT broker.
2026-03-24 09:24:14 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00

2026-03-24 09:24:14 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Instruments — oscilloscope channels on any pin, plus a SPICE-based electrical layer that shows currents, voltages and shorts on the wires you draw.

Custom chips — write your own IC in C, compile it to WebAssembly and drop it on the canvas next to the boards.
2026-03-24 09:24:14 +07:00
2026-03-07 08:12:50 +07:00
---
2026-03-04 07:14:01 +07:00
2026-03-17 00:22:23 +07:00
## Supported Boards
< table >
< tr >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
< td align = "center" > < img src = "docs/img/boards/arduino-uno.png" width = "120" alt = "Arduino Uno" / > < br / > < b > Arduino Uno< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/arduino-nano.png" width = "120" alt = "Arduino Nano" / > < br / > < b > Arduino Nano< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/arduino-mega.png" width = "120" alt = "Arduino Mega 2560" / > < br / > < b > Arduino Mega 2560< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/attiny85.png" width = "120" alt = "ATtiny85" / > < br / > < b > ATtiny85< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/raspberry-pi-3.png" width = "120" alt = "Raspberry Pi 3" / > < br / > < b > Raspberry Pi 3< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/raspberry-pi-5.png" width = "120" alt = "Raspberry Pi 5" / > < br / > < b > Raspberry Pi 5< / b > < / td >
< / tr >
< tr >
< td align = "center" > < img src = "docs/img/boards/raspberry-pi-pico.png" width = "70" alt = "Raspberry Pi Pico" / > < br / > < b > Raspberry Pi Pico< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/pi-pico-w.png" width = "70" alt = "Raspberry Pi Pico W" / > < br / > < b > Raspberry Pi Pico W< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/esp32.png" width = "80" alt = "ESP32 DevKit V1" / > < br / > < b > ESP32 DevKit V1< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/esp32-s3.png" width = "70" alt = "ESP32-S3" / > < br / > < b > ESP32-S3< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/esp32-c3.png" width = "80" alt = "ESP32-C3" / > < br / > < b > ESP32-C3< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/esp32-cam.png" width = "80" alt = "ESP32-CAM" / > < br / > < b > ESP32-CAM< / b > < / td >
2026-03-17 00:22:23 +07:00
< / tr >
< tr >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
< td align = "center" > < img src = "docs/img/boards/xiao-esp32-s3.png" width = "90" alt = "XIAO ESP32-S3" / > < br / > < b > XIAO ESP32-S3< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/xiao-esp32-c3.png" width = "90" alt = "XIAO ESP32-C3" / > < br / > < b > XIAO ESP32-C3< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/arduino-nano-esp32.png" width = "120" alt = "Arduino Nano ESP32" / > < br / > < b > Arduino Nano ESP32< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/stm32-bluepill.png" width = "70" alt = "STM32 Blue Pill" / > < br / > < b > STM32 Blue Pill< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/stm32-blackpill.png" width = "70" alt = "STM32 Black Pill" / > < br / > < b > STM32 Black Pill< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/stm32-f4-discovery.png" width = "90" alt = "STM32F4 Discovery" / > < br / > < b > STM32F4 Discovery< / b > < / td >
2026-03-17 00:22:23 +07:00
< / tr >
< tr >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
< td align = "center" > < img src = "docs/img/boards/cardputer-adv.png" width = "120" alt = "M5 Cardputer ADV" / > < br / > < b > M5 Cardputer ADV< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/m5stack-core.png" width = "110" alt = "M5Stack Core" / > < br / > < b > M5Stack Core< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/badger-2350.png" width = "120" alt = "Pimoroni Badger 2350" / > < br / > < b > Pimoroni Badger 2350< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/xiao-esp32s3-sense.png" width = "90" alt = "XIAO ESP32S3 Sense" / > < br / > < b > XIAO ESP32S3 Sense< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/esp32-c6.png" width = "70" alt = "ESP32-C6 DevKit" / > < br / > < b > ESP32-C6 DevKit< / b > < / td >
< td align = "center" > < img src = "docs/img/boards/unihiker-m10.png" width = "90" alt = "DFRobot UNIHIKER M10" / > < br / > < b > DFRobot UNIHIKER M10< / b > < / td >
2026-03-17 00:22:23 +07:00
< / tr >
< / table >
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
Boards run in one of two places. **Browser boards** (AVR, RP2040) are emulated entirely in the page with avr8js and rp2040js — nothing leaves your machine. **Server boards** (ESP32 family, STM32, Raspberry Pi Linux) boot a real QEMU machine on the backend and stream GPIO and serial to the canvas. Both feel the same: press Play.
| Family | Boards | Languages | Where it runs |
| --- | --- | --- | --- |
| **Arduino / AVR** | Uno, Nano, Mega 2560, ATtiny85 | Arduino C++ | Browser — self-hosted and velxio.dev |
| **Raspberry Pi Pico** | Pico, Pico W | Arduino C++, MicroPython | Browser — self-hosted and velxio.dev |
| **ESP32** | ESP32 DevKit V1, DevKit-C V4, ESP32-CAM, Wemos Lolin32 Lite | Arduino C++, MicroPython, ESP-IDF | Self-hosted (QEMU) and velxio.dev |
| **ESP32-S3** | ESP32-S3 DevKit, XIAO ESP32-S3, Arduino Nano ESP32 | Arduino C++, MicroPython, ESP-IDF | Self-hosted (QEMU) and velxio.dev |
| **ESP32-C3** | ESP32-C3 DevKit, XIAO ESP32-C3, ESP32-C3 SuperMini | Arduino C++, MicroPython, ESP-IDF | Self-hosted (QEMU) and velxio.dev |
| **STM32** | Blue Pill (F103C8 / F103CB), Black Pill (F411CE / F401CE), STM32F4 Discovery, Olimex STM32-H405, Netduino 2 / Plus 2 | Arduino C++ | velxio.dev (paid plan) or Velxio Desktop |
| **Raspberry Pi (Linux)** | Zero, 1B+, 2B, 3B, 4B, 5 — boot a real Linux and run Python in a full terminal | Python | velxio.dev (paid plan) or Velxio Desktop |
| **Branded boards** | M5Stack Cardputer ADV and Core, Pimoroni Badger 2350, Galactic Unicorn and Pico Plus 2 W, Seeed XIAO ESP32S3 Sense, XIAO ESP32C6 and XIAO RP2040, Espressif ESP32-C6 DevKit, DFRobot UNIHIKER M10 | Arduino C++, MicroPython, ESP-IDF | velxio.dev only (free plan; UNIHIKER needs a paid plan) |
The self-hosted image runs the first five families out of the box. STM32 and Raspberry Pi Linux are hosted features (their emulators need licensed binaries and multi-GB boot images). The branded boards boot their factory firmware (the M5 launcher, BadgeOS) and live in the hosted catalog only; the OSS picker shows them as links to the online editor. The full list with pinouts, languages and quirks is in the [boards reference ](https://velxio.dev/docs/boards/overview/ ).
2026-03-17 00:22:23 +07:00
---
2026-03-05 04:27:14 +07:00
## Features
### Code Editing
2026-03-17 00:22:23 +07:00
- **Monaco Editor** — Full C++ / Python editor with syntax highlighting, autocomplete, minimap, and dark theme
- **Multi-file workspace** — create, rename, delete, and switch between multiple `.ino` / `.h` / `.cpp` / `.py` files
- **Arduino compilation** via `arduino-cli` backend — compile sketches to `.hex` / `.bin` files
2026-03-05 05:16:00 +07:00
- **Compile / Run / Stop / Reset** toolbar buttons with status messages
2026-03-07 08:12:50 +07:00
- **Compilation console** — resizable output panel showing full compiler output, warnings, and errors
2026-03-06 07:33:02 +07:00
2026-03-17 00:22:23 +07:00
### Multi-Board Simulation
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
#### AVR8 (Arduino Uno / Nano / Mega / ATtiny85)
2026-03-17 00:22:23 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
- **Real ATmega328p / ATmega2560 / ATtiny85 emulation** at native clock speed via avr8js
2026-03-23 23:33:50 +07:00
- **Full GPIO** — PORTB, PORTC, PORTD (Uno/Nano/Mega); all ATtiny85 ports (PB0– PB5)
2026-03-17 00:22:23 +07:00
- **Timer0/Timer1/Timer2** — `millis()` , `delay()` , PWM via `analogWrite()`
- **USART** — full transmit and receive, auto baud-rate detection
2026-03-23 23:33:50 +07:00
- **ADC** — `analogRead()` , voltage injection from potentiometers on canvas
2026-03-17 00:22:23 +07:00
- **SPI** — hardware SPI peripheral (ILI9341, SD card, etc.)
2026-03-07 08:12:50 +07:00
- **I2C (TWI)** — hardware I2C with virtual device bus
2026-03-23 23:33:50 +07:00
- **ATtiny85** — all 6 I/O pins, USI (Wire), Timer0/Timer1, 10-bit ADC; uses `AttinyCore`
2026-03-17 00:22:23 +07:00
- ~60 FPS simulation loop via `requestAnimationFrame`
#### RP2040 (Raspberry Pi Pico / Pico W)
2026-03-23 23:33:50 +07:00
- **Real RP2040 emulation** at 133 MHz via rp2040js — ARM Cortex-M0+
2026-03-17 00:22:23 +07:00
- **All 30 GPIO pins** — input/output, event listeners, pin state injection
- **UART0 + UART1** — serial output in Serial Monitor; Serial input from UI
- **ADC** — 12-bit on GPIO 26– 29 (A0– A3) + internal temperature sensor (ch4)
- **I2C0 + I2C1** — master mode with virtual device bus (DS1307, TMP102, EEPROM)
- **SPI0 + SPI1** — loopback default; custom handler supported
- **PWM** — available on any GPIO pin
- **WFI optimization** — `delay()` skips ahead in simulation time instead of busy-waiting
- **Oscilloscope** — GPIO transition timestamps at ~8 ns resolution
- Compiled with the [earlephilhower arduino-pico ](https://github.com/earlephilhower/arduino-pico ) core
See [docs/RP2040_EMULATION.md ](docs/RP2040_EMULATION.md ) for full technical details.
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
#### ESP32, STM32 and Raspberry Pi Linux
2026-03-17 00:22:23 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
The ESP32 family (Xtensa and RISC-V), the STM32 family and the Raspberry Pi Linux boards run on QEMU-based backends with the same canvas, Serial Monitor and instruments as the browser boards. Their setup, peripherals and quirks are covered board by board in the [documentation ](https://velxio.dev/docs/boards/overview/ ); the technical notes for the QEMU bridges live in [docs/ESP32_EMULATION.md ](docs/ESP32_EMULATION.md ), [docs/RISCV_EMULATION.md ](docs/RISCV_EMULATION.md ) and [docs/RASPBERRYPI3_EMULATION.md ](docs/RASPBERRYPI3_EMULATION.md ).
2026-03-06 07:33:02 +07:00
2026-03-05 04:27:14 +07:00
### Example Projects
2026-03-17 00:22:23 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
- Hundreds of ready-to-run examples in the gallery (400+ on velxio.dev), filtered by board, difficulty and topic — from Blink and Traffic Light to TFT dashboards, e-paper displays, MQTT over emulated WiFi and Pi + Arduino serial links
- The [100 Days 100 IoT Projects ](https://github.com/velxio/100_Days_100_IoT_Projects ) collection, imported as runnable projects
2026-03-07 08:12:50 +07:00
- One-click loading into the editor
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
---
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
## Self-Hosting
2026-03-03 10:20:49 +07:00
2026-05-04 10:08:30 +07:00
Pick the install path that matches your appetite for setup. **All three
work out-of-the-box without an `.env` file** — defaults are picked
automatically.
| Path | Boards available | Build time | Best for |
| --- | --- | --- | --- |
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
| **A. Docker (prebuilt image)** | AVR, RP2040 and the whole **ESP32** family (Xtensa + RISC-V) | ~30 s download | Just want it running |
| **B. Docker Compose (build from source)** | Same as A | ~10– 15 min first build | Want to modify the code |
| **C. Manual install** | Browser-only boards (AVR, RP2040) | ~5 min | Frontend / backend dev |
2026-05-04 10:08:30 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
> ESP32 emulation relies on QEMU `.so` libraries that ship inside the
> Docker image. Manual installs get the browser-side boards out of the
> box — **for ESP32 you'll want Docker** (or follow
2026-05-04 10:08:30 +07:00
> [docs/ESP32_EMULATION.md](docs/ESP32_EMULATION.md) to wire up the QEMU
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
> binaries by hand). STM32 and Raspberry Pi Linux emulation are hosted
> features — use them on velxio.dev or in Velxio Desktop.
2026-05-04 10:08:30 +07:00
---
### Option A: Docker (prebuilt image)
2026-03-03 10:20:49 +07:00
2026-03-06 07:33:02 +07:00
```bash
2026-03-07 08:12:50 +07:00
docker run -d \
--name velxio \
-p 3080:80 \
2026-05-04 10:08:30 +07:00
-v velxio-data:/app/data \
-v velxio-arduino-libs:/root/.arduino15 \
2026-05-10 04:04:16 +07:00
-v velxio-arduino-user-libs:/root/Arduino \
-v velxio-ccache:/var/cache/ccache \
-v velxio-build:/var/lib/velxio-build \
2026-03-07 08:12:50 +07:00
ghcr.io/davidmonterocrespo24/velxio:master
2026-03-06 07:33:02 +07:00
```
2026-03-17 00:22:23 +07:00
Open < http: / / localhost:3080 > .
2026-03-03 10:20:49 +07:00
2026-05-10 04:04:16 +07:00
The five named volumes persist:
2026-03-17 00:22:23 +07:00
2026-05-04 10:08:30 +07:00
- `velxio-data` → `/app/data` : SQLite DB, project sketch files, auto-generated `SECRET_KEY`
- `velxio-arduino-libs` → `/root/.arduino15` : arduino-cli config + installed
cores (saves a 5– 10 min reinstall on every container restart)
2026-05-10 04:04:16 +07:00
- `velxio-arduino-user-libs` → `/root/Arduino` : Library Manager-installed
Arduino libraries (e.g. Adafruit_BMP280, DHT, GFX). Without this,
every container restart re-downloads them on next compile.
- `velxio-ccache` → `/var/cache/ccache` : ccache C/C++ object cache for
ESP-IDF compiles. Empty on first compile, populated as you go;
subsequent compiles hit the cache and finish in seconds instead of
minutes.
- `velxio-build` → `/var/lib/velxio-build` : persistent ESP-IDF build dir
(one subdir per target — esp32, esp32c3, esp32s3). Lets ninja's
incremental build skip everything that hasn't changed; a re-compile
of an unchanged sketch finishes in 2-5 seconds.
If you skip the volume flags, the Dockerfile declares all five paths as
`VOLUME` , so docker creates anonymous volumes and the caches still
survive container restarts (just harder to inspect/back up than named
ones). Only `docker rm -v` or `docker volume prune` would wipe them.
2026-03-05 05:28:33 +07:00
2026-05-04 10:08:30 +07:00
---
### Option B: Docker Compose (build from source)
2026-03-05 05:28:33 +07:00
```bash
2026-03-07 00:29:15 +07:00
git clone https://github.com/davidmonterocrespo24/velxio.git
cd velxio
fix(install): unblock self-hosting + drop forced wokwi clones
Resolves several install pain points reported by users (#108, #120) and
removes the obligatory upstream-clone step that confused contributors and
slowed down every Docker build.
Install fixes:
- nginx: server_name → catch-all default_server, drop Debian's stock site
so reverse-proxied users no longer get the "Welcome to nginx" page.
- entrypoint: auto-generate SECRET_KEY at first boot, persisted under
data/.secret_key. backend/.env is now optional in docker-compose.yml.
- backend: add greenlet>=3.0.0 (SQLAlchemy async dep that was missing on
some Python builds — caused uvicorn startup failures on WSL).
Wokwi libs come from npm:
- @wokwi/elements 1.9.2, avr8js 0.21.0, rp2040js 1.3.2 are pinned in
frontend/package.json. Vite aliases removed.
- Dockerfile.standalone no longer clones avr8js / rp2040js / wokwi-elements
/ wokwi-boards. Frontend stage is just COPY + npm install + build:docker.
- Board SVGs vendored under frontend/public/boards/ (10 deduped against
existing files, 2 truly new). third-party/wokwi-* clones become reference-
only credits — generate-component-metadata.ts skips gracefully when absent.
Production config split out:
- docker-compose.prod.yml, deploy/nginx.prod.conf, nginx-host-velxio*.conf,
update-third-party.bat removed. Production deployment lives in its own
repo: https://github.com/velxio/velxio-prod (host nginx + HTTPS + backups
+ pinned upstream commit).
Verified locally: 1161 frontend tests pass, build:docker completes clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:04:11 +07:00
docker compose up -d --build
2026-03-05 05:28:33 +07:00
```
2026-05-04 10:08:30 +07:00
First build takes ~10– 15 minutes (downloads ESP-IDF, builds the frontend).
Subsequent builds are cached and take ~1 min.
Then open < http: / / localhost:3080 > . The container generates a random
`SECRET_KEY` on first boot and persists it in `./data/` , so **no `.env` is
required** to get going.
fix(install): unblock self-hosting + drop forced wokwi clones
Resolves several install pain points reported by users (#108, #120) and
removes the obligatory upstream-clone step that confused contributors and
slowed down every Docker build.
Install fixes:
- nginx: server_name → catch-all default_server, drop Debian's stock site
so reverse-proxied users no longer get the "Welcome to nginx" page.
- entrypoint: auto-generate SECRET_KEY at first boot, persisted under
data/.secret_key. backend/.env is now optional in docker-compose.yml.
- backend: add greenlet>=3.0.0 (SQLAlchemy async dep that was missing on
some Python builds — caused uvicorn startup failures on WSL).
Wokwi libs come from npm:
- @wokwi/elements 1.9.2, avr8js 0.21.0, rp2040js 1.3.2 are pinned in
frontend/package.json. Vite aliases removed.
- Dockerfile.standalone no longer clones avr8js / rp2040js / wokwi-elements
/ wokwi-boards. Frontend stage is just COPY + npm install + build:docker.
- Board SVGs vendored under frontend/public/boards/ (10 deduped against
existing files, 2 truly new). third-party/wokwi-* clones become reference-
only credits — generate-component-metadata.ts skips gracefully when absent.
Production config split out:
- docker-compose.prod.yml, deploy/nginx.prod.conf, nginx-host-velxio*.conf,
update-third-party.bat removed. Production deployment lives in its own
repo: https://github.com/velxio/velxio-prod (host nginx + HTTPS + backups
+ pinned upstream commit).
Verified locally: 1161 frontend tests pass, build:docker completes clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:04:11 +07:00
#### Optional: customize environment
chore(oss): drop dead auth/DB dependencies from OSS image
After Phase 4 of the OSS / pro split, the OSS code base imports zero
auth/DB modules (verified with grep across backend/app/). But the
requirements.txt + config.py + .env.example + docs still listed
SQLAlchemy, aiosqlite, JWT/bcrypt, OAuth, SECRET_KEY etc. as if they
were live. Self-hosters running `pip install -r requirements.txt`
were pulling ~30 MB of packages the code never imports.
Changes:
* backend/requirements.txt — drop sqlalchemy, greenlet, aiosqlite,
python-jose, passlib[bcrypt], bcrypt, authlib, email-validator,
python-multipart. Keep fastapi, uvicorn, websockets, pydantic,
pydantic-settings, httpx, mcp, esptool, wasmtime — everything OSS
actually uses.
* backend/app/core/config.py — Settings reduced to FRONTEND_URL only.
Comment explains the overlay path that adds the rest at Docker
build time.
* backend/.env.example — same trim: only FRONTEND_URL, with a comment
explaining why this file is almost empty.
* README.md — "Auth & Project Persistence" section rewritten to
describe .vlx export/import. Env-var table reduced to a single row.
Stack table updated: no SQLAlchemy, no JWT, persistence = .vlx
files.
* CLAUDE.md — intro line updated (Auth: None, persistence: .vlx).
Key-file-locations rewritten to list the OSS-stateless backend +
the new lib/proRoutes / proSession / proSaveAction seams, with an
explicit "removed in the split" note pointing to velxio-prod.
Stores section drops useAuthStore (overlay-only now). Backend
gotchas drop the bcrypt + email-validator + model-import notes.
Implemented-features list replaces "Auth + URL persistence + user
profile" with portable .vlx export/import.
* docs/ESP32_EMULATION.md — two `docker run` examples dropped the
`-e SECRET_KEY=...` arg (no longer needed).
OSS build verified end-to-end (285 SEO pages prerender, 20 stateless
routes, zero sqlalchemy imports).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 03:06:27 +07:00
The OSS image has almost no configuration — there's no database, no auth,
no third-party integrations. Create `backend/.env` only if you want to
change the CORS origin used during local development.
2026-03-05 05:28:33 +07:00
2026-03-07 08:12:50 +07:00
| Variable | Default | Description |
2026-03-17 00:22:23 +07:00
| --- | --- | --- |
chore(oss): drop dead auth/DB dependencies from OSS image
After Phase 4 of the OSS / pro split, the OSS code base imports zero
auth/DB modules (verified with grep across backend/app/). But the
requirements.txt + config.py + .env.example + docs still listed
SQLAlchemy, aiosqlite, JWT/bcrypt, OAuth, SECRET_KEY etc. as if they
were live. Self-hosters running `pip install -r requirements.txt`
were pulling ~30 MB of packages the code never imports.
Changes:
* backend/requirements.txt — drop sqlalchemy, greenlet, aiosqlite,
python-jose, passlib[bcrypt], bcrypt, authlib, email-validator,
python-multipart. Keep fastapi, uvicorn, websockets, pydantic,
pydantic-settings, httpx, mcp, esptool, wasmtime — everything OSS
actually uses.
* backend/app/core/config.py — Settings reduced to FRONTEND_URL only.
Comment explains the overlay path that adds the rest at Docker
build time.
* backend/.env.example — same trim: only FRONTEND_URL, with a comment
explaining why this file is almost empty.
* README.md — "Auth & Project Persistence" section rewritten to
describe .vlx export/import. Env-var table reduced to a single row.
Stack table updated: no SQLAlchemy, no JWT, persistence = .vlx
files.
* CLAUDE.md — intro line updated (Auth: None, persistence: .vlx).
Key-file-locations rewritten to list the OSS-stateless backend +
the new lib/proRoutes / proSession / proSaveAction seams, with an
explicit "removed in the split" note pointing to velxio-prod.
Stores section drops useAuthStore (overlay-only now). Backend
gotchas drop the bcrypt + email-validator + model-import notes.
Implemented-features list replaces "Auth + URL persistence + user
profile" with portable .vlx export/import.
* docs/ESP32_EMULATION.md — two `docker run` examples dropped the
`-e SECRET_KEY=...` arg (no longer needed).
OSS build verified end-to-end (285 SEO pages prerender, 20 stateless
routes, zero sqlalchemy imports).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 03:06:27 +07:00
| `FRONTEND_URL` | `http://localhost:5173` | Origin allowed by CORS for local Vite dev |
2026-08-05 21:25:08 +07:00
| `VELXIO_NEWS` | `on` | Product news: the backend fetches release notes and product news from velxio.dev's public feed (cached ~6h, anonymous, no identifiers sent) and the editor shows each item once as a "What's New" modal. Posts may embed remote media (screenshots, GIFs, YouTube previews) which the viewer's browser loads directly from the hosting site; video players only load after an explicit click. Set to `off` to disable entirely; an offline host degrades to no news automatically. |
2026-03-05 05:28:33 +07:00
fix(install): unblock self-hosting + drop forced wokwi clones
Resolves several install pain points reported by users (#108, #120) and
removes the obligatory upstream-clone step that confused contributors and
slowed down every Docker build.
Install fixes:
- nginx: server_name → catch-all default_server, drop Debian's stock site
so reverse-proxied users no longer get the "Welcome to nginx" page.
- entrypoint: auto-generate SECRET_KEY at first boot, persisted under
data/.secret_key. backend/.env is now optional in docker-compose.yml.
- backend: add greenlet>=3.0.0 (SQLAlchemy async dep that was missing on
some Python builds — caused uvicorn startup failures on WSL).
Wokwi libs come from npm:
- @wokwi/elements 1.9.2, avr8js 0.21.0, rp2040js 1.3.2 are pinned in
frontend/package.json. Vite aliases removed.
- Dockerfile.standalone no longer clones avr8js / rp2040js / wokwi-elements
/ wokwi-boards. Frontend stage is just COPY + npm install + build:docker.
- Board SVGs vendored under frontend/public/boards/ (10 deduped against
existing files, 2 truly new). third-party/wokwi-* clones become reference-
only credits — generate-component-metadata.ts skips gracefully when absent.
Production config split out:
- docker-compose.prod.yml, deploy/nginx.prod.conf, nginx-host-velxio*.conf,
update-third-party.bat removed. Production deployment lives in its own
repo: https://github.com/velxio/velxio-prod (host nginx + HTTPS + backups
+ pinned upstream commit).
Verified locally: 1161 frontend tests pass, build:docker completes clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:04:11 +07:00
> **Deploying behind a reverse proxy?** The container listens on plain HTTP
2026-05-04 10:08:30 +07:00
> on port 80 and accepts any `Host` header — no `server_name` whitelist.
fix(install): unblock self-hosting + drop forced wokwi clones
Resolves several install pain points reported by users (#108, #120) and
removes the obligatory upstream-clone step that confused contributors and
slowed down every Docker build.
Install fixes:
- nginx: server_name → catch-all default_server, drop Debian's stock site
so reverse-proxied users no longer get the "Welcome to nginx" page.
- entrypoint: auto-generate SECRET_KEY at first boot, persisted under
data/.secret_key. backend/.env is now optional in docker-compose.yml.
- backend: add greenlet>=3.0.0 (SQLAlchemy async dep that was missing on
some Python builds — caused uvicorn startup failures on WSL).
Wokwi libs come from npm:
- @wokwi/elements 1.9.2, avr8js 0.21.0, rp2040js 1.3.2 are pinned in
frontend/package.json. Vite aliases removed.
- Dockerfile.standalone no longer clones avr8js / rp2040js / wokwi-elements
/ wokwi-boards. Frontend stage is just COPY + npm install + build:docker.
- Board SVGs vendored under frontend/public/boards/ (10 deduped against
existing files, 2 truly new). third-party/wokwi-* clones become reference-
only credits — generate-component-metadata.ts skips gracefully when absent.
Production config split out:
- docker-compose.prod.yml, deploy/nginx.prod.conf, nginx-host-velxio*.conf,
update-third-party.bat removed. Production deployment lives in its own
repo: https://github.com/velxio/velxio-prod (host nginx + HTTPS + backups
+ pinned upstream commit).
Verified locally: 1161 frontend tests pass, build:docker completes clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 10:04:11 +07:00
> **Running velxio.dev itself?** Production-only configuration (host nginx
> + HTTPS, backups, pinned upstream commit) lives in its own repo:
> [github.com/velxio/velxio-prod](https://github.com/velxio/velxio-prod).
2026-05-04 10:08:30 +07:00
---
### Option C: Manual Setup (frontend + backend separately)
2026-03-05 05:28:33 +07:00
2026-03-07 08:12:50 +07:00
**Prerequisites:** Node.js 18+, Python 3.12+, arduino-cli
2026-03-05 05:28:33 +07:00
2026-03-03 10:20:49 +07:00
```bash
2026-05-04 10:08:30 +07:00
git clone https://github.com/davidmonterocrespo24/velxio.git
2026-03-07 00:29:15 +07:00
cd velxio
2026-04-08 10:02:54 +07:00
```
2026-03-03 10:20:49 +07:00
2026-05-04 10:08:30 +07:00
> No `--recurse-submodules` needed. `@wokwi/elements`, `avr8js` and
> `rp2040js` come from the npm registry. Board SVGs live in
> `frontend/public/boards/`. The folders under `third-party/` are
> reference-only — you only need to clone wokwi-elements if you're adding
> a new component to the catalog (the metadata generator scans its `src/`).
2026-04-08 10:02:54 +07:00
```bash
2026-05-04 10:08:30 +07:00
# Terminal 1 — backend
2026-03-03 10:20:49 +07:00
cd backend
2026-05-04 10:08:30 +07:00
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
2026-03-03 10:20:49 +07:00
pip install -r requirements.txt
2026-03-07 08:12:50 +07:00
uvicorn app.main:app --reload --port 8001
2026-05-04 10:08:30 +07:00
```
2026-03-03 10:20:49 +07:00
2026-05-04 10:08:30 +07:00
```bash
# Terminal 2 — frontend
2026-03-03 10:20:49 +07:00
cd frontend
npm install
2026-03-07 08:12:50 +07:00
npm run dev
2026-03-03 10:20:49 +07:00
```
2026-03-17 00:22:23 +07:00
Open < http: / / localhost:5173 > .
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
**arduino-cli setup (first time):**
2026-03-17 00:22:23 +07:00
2026-03-03 10:20:49 +07:00
```bash
2026-03-07 08:12:50 +07:00
arduino-cli core update-index
arduino-cli core install arduino:avr
2026-03-17 00:22:23 +07:00
# For Raspberry Pi Pico / Pico W:
2026-03-07 08:12:50 +07:00
arduino-cli config add board_manager.additional_urls \
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
arduino-cli core install rp2040:rp2040
2026-03-17 00:22:23 +07:00
2026-05-04 10:08:30 +07:00
# For ATtiny85:
2026-03-17 00:22:23 +07:00
arduino-cli config add board_manager.additional_urls \
2026-05-04 10:08:30 +07:00
http://drazzy.com/package_drazzy.com_index.json
arduino-cli core install ATTinyCore:avr
2026-03-03 10:20:49 +07:00
```
2026-05-04 10:08:30 +07:00
> ESP32 (Xtensa) compilation in manual install requires the ESP-IDF 4.4.7
> toolchain installed locally. The Docker image bundles this — for manual
> installs see [docs/ESP32_EMULATION.md](docs/ESP32_EMULATION.md). If you
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
> only need AVR / RP2040 boards you can skip ESP-IDF entirely.
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
---
2026-03-03 10:20:49 +07:00
2026-03-17 00:22:23 +07:00
## Documentation
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
The user documentation lives at ** [velxio.dev/docs ](https://velxio.dev/docs/ )** — getting started, every board and part, the circuit editor, programming in Arduino / MicroPython / ESP-IDF, WiFi and IoT, instruments, custom chips and the AI assistant, in 9 languages. Its source is the public [velxio/velxio_docs ](https://github.com/velxio/velxio_docs ) repository; corrections and new pages are welcome there.
2026-03-17 00:22:23 +07:00
docs(readme): refresh for the 2026 catalog — new screenshots, 40-board table, partners footnote
- Screenshots and board art come from the velxio_docs portal (fresh
captures of the current UI); the six 2025-era img1..6.png are gone.
- Supported Boards now covers all seven families (Arduino, Pico, ESP32,
ESP32-S3/C3, STM32, Raspberry Pi Linux, branded boards) and says
where each one runs: self-hosted, velxio.dev, or paid plan.
- Trim the deep-dive sections that the docs portal now owns: the ESP32
/ RISC-V / Pi 3 emulation bullets, Serial Monitor, Component System,
Wire System, Library Manager, Portable Persistence, Project Structure,
Technologies, the doc table and Troubleshooting. Documentation is a
single pointer to velxio.dev/docs and github.com/velxio/velxio_docs.
- Hardware Partners gains a line naming the hardware each partner
contributed to the catalog.
2026-08-18 04:57:12 +07:00
The `docs/` folder of this repository keeps the technical notes for contributors (emulator internals, QEMU bridges, MCP server, roadmap).
2026-03-05 04:27:14 +07:00
2026-03-07 08:12:50 +07:00
---
2026-03-06 07:33:02 +07:00
2026-03-12 12:12:36 +07:00
## Community
Join the Discord server to ask questions, share projects, and follow updates:
2026-03-29 07:58:17 +07:00
**[discord.gg/3mARjJrh4E](https://discord.gg/3mARjJrh4E)**
2026-03-12 12:12:36 +07:00
2026-03-04 06:18:37 +07:00
## Contributing
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
Suggestions, bug reports, and pull requests are welcome at [github.com/davidmonterocrespo24/velxio ](https://github.com/davidmonterocrespo24/velxio ).
2026-03-03 10:20:49 +07:00
2026-03-17 00:22:23 +07:00
If you'd like to support the project financially, see the [Support the Project ](#support-the-project ) section above or sponsor directly at [github.com/sponsors/davidmonterocrespo24 ](https://github.com/sponsors/davidmonterocrespo24 ).
2026-03-08 07:44:39 +07:00
2026-03-07 08:32:05 +07:00
> **Note:** All contributors must sign a Contributor License Agreement (CLA) so that the dual-licensing model remains valid. A CLA check runs automatically on pull requests.
2026-03-04 06:18:37 +07:00
## License
2026-03-03 10:20:49 +07:00
2026-03-07 08:32:05 +07:00
Velxio uses a **dual-licensing** model:
| Use case | License | Cost |
2026-03-17 00:22:23 +07:00
| --- | --- | --- |
2026-03-07 08:32:05 +07:00
| Personal, educational, open-source (AGPLv3 compliant) | [AGPLv3 ](LICENSE ) | Free |
| Proprietary / closed-source product or SaaS | [Commercial License ](COMMERCIAL_LICENSE.md ) | Paid |
The AGPLv3 is a certified Open Source license. It is free for all uses — including commercial — as long as any modifications or network-accessible deployments make their source code available under the same license. Companies that cannot comply with that requirement can purchase a Commercial License.
For commercial licensing inquiries: [davidmonterocrespo24@gmail.com ](mailto:davidmonterocrespo24@gmail.com )
See [LICENSE ](LICENSE ) and [COMMERCIAL_LICENSE.md ](COMMERCIAL_LICENSE.md ) for full terms.
2026-03-03 10:20:49 +07:00
2026-03-29 02:26:29 +07:00
## Star History
2026-07-13 10:26:28 +07:00
< a href = "https://www.star-history.com/?type=date&repos=davidmonterocrespo24%2Fvelxio" >
< picture >
< source media = "(prefers-color-scheme: dark)" srcset = "https://api.star-history.com/chart?repos=davidmonterocrespo24/velxio&type=date&theme=dark&legend=top-left&sealed_token=kw0zv7Q1xq7XgYk9MJ3Tzg2RixZ8GK74heH5o8WfUzvGZyY1UbCJox3XLfg2vDtHGdDd-5NE5XQWgC57joU_MyrfKxZkvcehtOQNjmT-PuG2p6d3dUkNM2r41KRyPjthNj3bZ_geKv4v7cnQLV7sll4lQDqxwO7ViC3G" / >
< source media = "(prefers-color-scheme: light)" srcset = "https://api.star-history.com/chart?repos=davidmonterocrespo24/velxio&type=date&legend=top-left&sealed_token=kw0zv7Q1xq7XgYk9MJ3Tzg2RixZ8GK74heH5o8WfUzvGZyY1UbCJox3XLfg2vDtHGdDd-5NE5XQWgC57joU_MyrfKxZkvcehtOQNjmT-PuG2p6d3dUkNM2r41KRyPjthNj3bZ_geKv4v7cnQLV7sll4lQDqxwO7ViC3G" / >
< img alt = "Star History Chart" src = "https://api.star-history.com/chart?repos=davidmonterocrespo24/velxio&type=date&legend=top-left&sealed_token=kw0zv7Q1xq7XgYk9MJ3Tzg2RixZ8GK74heH5o8WfUzvGZyY1UbCJox3XLfg2vDtHGdDd-5NE5XQWgC57joU_MyrfKxZkvcehtOQNjmT-PuG2p6d3dUkNM2r41KRyPjthNj3bZ_geKv4v7cnQLV7sll4lQDqxwO7ViC3G" / >
< / picture >
< / a >
2026-03-29 02:26:29 +07:00
2026-03-04 06:18:37 +07:00
## References
2026-03-03 10:20:49 +07:00
2026-03-07 08:12:50 +07:00
- [Wokwi ](https://wokwi.com ) — Inspiration
2026-03-05 04:27:14 +07:00
- [avr8js ](https://github.com/wokwi/avr8js ) — AVR8 emulator
- [wokwi-elements ](https://github.com/wokwi/wokwi-elements ) — Electronic web components
2026-05-11 23:05:21 +07:00
- [wokwi-boards ](https://github.com/wokwi/wokwi-boards ) — Board SVG assets
- [wokwi-features ](https://github.com/wokwi/wokwi-features ) — Wokwi feature definitions
2026-03-06 07:33:02 +07:00
- [rp2040js ](https://github.com/wokwi/rp2040js ) — RP2040 emulator
2026-05-11 23:05:21 +07:00
- [ngspice-wasm ](https://github.com/wokwi/ngspice-wasm ) — ngspice compiled to WebAssembly (electrical simulation)
2026-03-17 00:22:23 +07:00
- [lcgamboa/qemu ](https://github.com/lcgamboa/qemu ) — QEMU fork for ESP32 Xtensa emulation
2026-05-11 23:05:21 +07:00
- [espressif/qemu ](https://github.com/espressif/qemu ) — Espressif QEMU ESP32 emulator
- [esp32-camera ](https://github.com/espressif/esp32-camera ) — ESP32 camera driver reference
- [fritzing-parts ](https://github.com/fritzing/fritzing-parts ) — Electronic component SVG assets
- [picowi ](https://github.com/jbentham/picowi ) — Raspberry Pi Pico W WiFi reference
- [100 Days 100 IoT Projects ](https://github.com/velxio/100_Days_100_IoT_Projects ) — IoT example projects collection
2026-03-05 04:27:14 +07:00
- [arduino-cli ](https://github.com/arduino/arduino-cli ) — Arduino compiler
- [Monaco Editor ](https://microsoft.github.io/monaco-editor/ ) — Code editor
2026-03-17 00:22:23 +07:00
- [QEMU ](https://www.qemu.org ) — Machine emulator (Raspberry Pi 3)