PicoRuby as a Multi-VM Operating System
summary
A minimal OS runs on an ESP32 that hosts multiple PicoRuby VMs concurrently, claiming playable GUI apps (Tetris, Flappy Bird, Doom-style demo) and hardware I/O like I2C LEDs and NTSC video working in real demos. Implementation uses FreeRTOS tasks, a C hardware abstraction layer, and MessagePack for IPC with FreeRTOS queues and semaphores; rendering is isolated on a second core or SDL2 on Linux, with 90% shared code across Linux/ESP32 and a reported drop from ~300 to ~100 renderer commands/sec after batching.
AI-written summary · about
chapters (17)
- 0:00Introduction and demo
- 1:57Why build PicoRuby OS
- 3:35OS design concept
- 5:47Software architecture overview
- 8:49Hardware design
- 9:56Multi-VM implementation
- 14:01Ruby app framework
- 17:22Event flow and rendering
- 19:30Performance optimization
- 20:17Linux simulation
- 20:42Linux demo walkthrough
- 21:52Hello World in Ruby
- 23:22Lua and BASIC demos
- 24:46Famicom sound demo
- 26:41Game demos
- 27:48Hardware integration demo
- 28:55Summary and future
related talks
43mUsing Both Cores of Raspberry Pi Pico with C++OS
30mPicoruby and PRK Firmware
01h 26mRaspberry Pi Pico with C++OS: Coroutines and std::execution in Embedded Systems
31mA Beginner's Complete Guide to Microcontroller Programming w..
33mmruby/c: Running on Less Than 64KB RAM Microcontroller
36mWrite once, run on every boards: portable mruby
23m"Six Clock Cycle per Pixel - Graphics on the Neotron Pico"
22mImplementing An Esoteric Programming
