---
title: "Velxio 2.0 — 브라우저에서 Arduino, ESP32, Raspberry Pi 3까지 에뮬레이션하는 오픈소스 프로젝트"
published: 2026-03-27T20:44:33.000Z
canonical: https://jeff.news/article/1322
---
# Velxio 2.0 — 브라우저에서 Arduino, ESP32, Raspberry Pi 3까지 에뮬레이션하는 오픈소스 프로젝트

19개 보드와 5개 CPU 아키텍처를 브라우저에서 에뮬레이션하는 오픈소스 프로젝트. Arduino C++/Python 코드 작성부터 48개 전자 부품과의 시뮬레이션까지 설치 없이 가능함.

## 뭘 할 수 있나

- **19개 보드, 5개 CPU 아키텍처**를 브라우저에서 에뮬레이션함 — AVR8(ATmega/ATtiny), ARM Cortex-M0+(RP2040), RISC-V RV32IMC(ESP32-C3/CH32V003), Xtensa LX6/LX7(ESP32/ESP32-S3), ARM Cortex-A53(Raspberry Pi 3)
- Arduino C++이나 Python 코드를 작성하고, 컴파일하고, **48개 이상의 전자 부품**과 함께 시뮬레이션까지 전부 브라우저 안에서 돌아감. 설치 필요 없음
- 특히 인상적인 건 **멀티보드 시뮬레이션** — Raspberry Pi 3와 Arduino를 같은 캔버스에 올려놓고 시리얼로 연결해서 서로 다른 아키텍처를 하나의 회로에서 돌릴 수 있음

## 에뮬레이션 기술 스택

- **AVR8 계열**(Uno, Nano, Mega 등): avr8js 라이브러리로 브라우저에서 네이티브 클럭 속도로 에뮬레이션. GPIO, Timer, USART, ADC, SPI, I2C 전부 지원
- **RP2040**(Raspberry Pi Pico): rp2040js로 133MHz ARM Cortex-M0+ 에뮬레이션. 12비트 ADC, I2C/SPI 듀얼 채널, 모든 30개 GPIO 핀 지원. `delay()`가 busy-wait 대신 시뮬레이션 시간을 건너뛰는 WFI 최적화도 있음
- **ESP32**(Xtensa): lcgamboa의 QEMU 포크로 듀얼코어 에뮬레이션. WiFi까지 SLIRP NAT으로 지원됨 (단, arduino-esp32 2.0.17 IDF 4.4.x만 호환)
- **RISC-V**(ESP32-C3, CH32V003): TypeScript로 구현된 RV32IMC 에뮬레이션. 백엔드 없이 브라우저에서 바로 돌아감. 레이턴시 제로, 오프라인 동작 가능
- **Raspberry Pi 3**: `qemu-system-aarch64`로 실제 Raspberry Pi OS(Trixie) 부팅. Python 스크립트 직접 실행 가능. qcow2 오버레이로 세션 격리됨

## 개발 환경과 셀프호스팅

- Docker 한 줄이면 셀프호스팅 가능: `docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master`
- Monaco Editor 내장 (자동완성, 미니맵, 다크테마), 멀티파일 워크스페이스 지원
- Arduino 라이브러리 매니저가 풀 인덱스를 로드해서 UI에서 바로 검색/설치 가능
- 프론트엔드는 React 19 + Vite 7 + TypeScript 5.9, 백엔드는 FastAPI + SQLAlchemy 2.0 async
- 라이선스는 듀얼 — AGPLv3(무료, 오픈소스 용도) + 상업용 라이선스(유료)

> [!TIP]
> 임베디드 개발 입문이나 프로토타이핑할 때 하드웨어 없이 바로 테스트해볼 수 있어서 유용함. [velxio.dev](https://velxio.dev)에서 바로 써볼 수 있음

## 핵심 포인트

- AVR8, ARM Cortex-M0+, RISC-V, Xtensa, ARM Cortex-A53 등 5개 아키텍처 지원
- 멀티보드 시뮬레이션으로 서로 다른 아키텍처를 시리얼로 연결 가능
- Docker 한 줄로 셀프호스팅, AGPLv3 듀얼 라이선스

## 인사이트

임베디드 개발의 진입 장벽을 획기적으로 낮추는 프로젝트. 특히 RISC-V 에뮬레이션이 TypeScript로 구현되어 백엔드 없이 브라우저에서 바로 동작하는 점이 인상적.
