![]()
GitHub上有个项目叫Velxio,325颗星,20个Fork。作者David Montero Crespo一个人维护,做的事却有点疯——把Arduino、ESP32、树莓派3全塞进浏览器里跑,不用装任何软件。
打开velxio.dev,直接写C++或Python,编译、烧录、调试,全流程在网页里完成。支持19种开发板,5种CPU架构:AVR8、ARM Cortex-M0+、RISC-V、Xtensa、甚至还有ARM Cortex-A53。
浏览器里跑真CPU,不是玩具级模拟
Velxio的核心是QEMU。不是那种简化的JavaScript模拟器,是真把CPU指令翻译成WebAssembly执行。ESP32和ESP32-S3用QEMU的Xtensa后端,树莓派3直接跑完整的Linux系统。
这意味着什么?你写的代码行为,和真实硬件几乎一致。ADC采样、SPI时序、中断响应,这些容易在软件模拟里出偏差的细节,Velxio能还原。作者放了个演示:两块电位器接Pico的ADC,串口监视器实时输出数值,波动曲线和实物测试对得上。
组件库目前48+个,从基础的LED、按键、电阻,到ILI9341显示屏、步进电机、DHT22温湿度传感器。库管理器直接拉Arduino官方库,Adafruit_GFX、Servo、Wire这些常用包一点即装。
本地优先,但云端也能跑
![]()
Velxio的设计哲学是"fully local"。整个模拟器打包成Docker镜像,一行命令就能自建:
docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master
浏览器连localhost:3080,所有编译和模拟都在本地完成。代码不上云,适合对保密有要求的场景。当然官方也托管了velxio.dev,开箱即用。
这种架构有个好处:扩展板子不需要改前端。作者最近在加CH32V003,一颗国产RISC-V芯片,成本不到1美元。只要QEMU支持新架构,Velxio就能跟。
谁在用?嵌入式教学的隐形痛点
GitHub Issues里有个高频需求:学校机房。很多中学和职校的电脑不让装驱动,Arduino IDE连板子都识别不了。Velxio绕过了这个问题——浏览器总让用吧?
另一个场景是硬件还没到手时的预开发。ESP32-S3的模组缺货周期动辄8周,先用Velxio验证代码逻辑,板子到了直接烧。作者自己提了个用法:测试边界条件,比如ADC超量程、SPI时钟配错,真板子可能直接烧芯片,模拟器随便折腾。
![]()
当然也有硬边界。QEMU模拟的时钟精度和真实晶振有偏差,做USB Host协议栈这种时序敏感的任务会翻车。PWM的相位对齐、GPIO的翻转速度,这些底层特性作者建议"最终还是要上真板子确认"。
325颗星背后的维护成本
项目开源,但作者挂了赞助链接。维护多架构QEMU分支、同步Arduino库版本、修前端编译器的边边角角,一个人干全职都吃力。COMMERCIAL_LICENSE.md里写了商业授权条款,企业想私有化部署可以谈。
对比Wokwi——另一个知名的浏览器嵌入式模拟器——Velxio的区别在于完全本地化和开源。Wokwi的模拟核心闭源,免费层有项目数量限制。Velxio没有这些门槛,但代价是自己扛服务器成本,或者自己Docker部署。
目前路线图上的待办:更多RISC-V板子、Rust支持、以及把模拟速度再往上提。QEMU在浏览器里的性能损耗大约30%-50%,复杂项目编译要等几十秒,这是WebAssembly的锅,暂时无解。
一个用户给作者发了封邮件,说用Velxio给非洲某国的学生上了第一节编程课——那些学生没有电脑,只有学校机房的老旧台式机。浏览器能跑,就够了。
你会在什么场景下需要一个浏览器里的开发板?是应急调试、教学演示,还是单纯不想装IDE?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.