Picoruby and PRK Firmware
summary
PicoRuby is an mruby-derived interpreter and compiler that compiles keymap.rb on-device and hot-reloads it into PRK Firmware, a Ruby keyboard framework that runs on RP2040 (Raspberry Pi Pico). The pico ruby compiler measures ~17 KB vs mrb compiler ~133 KB for hello world, and compiles a mesh keymap in ~62 KB vs 206 KB (≈70% smaller). Demos include a Fibonacci generator, password generator, modifier inversion and an IRB-like ruby mode; the firmware works within the Pico’s 264 KB RAM.
AI-written summary · about
chapters (22)
- 0:00Intro
- 2:15When you build a keyboard You can choose Keycaps for appearance and touch
- 3:23Keyboard firmware
- 4:32e.g. prk_pipigherkin/keymap.rb
- 6:11Install into the microcontroller
- 6:35A new drive automatically mounted
- 7:21Demonstrations
- 8:03Fibonacci in keymap.rb
- 8:52Password generator in keymap.rb
- 12:15Micon of PRK Firmware
- 13:42Ruby Association
- 14:58Multitasking
- 17:34Architecture
- 19:42To make a small Ruby compiler mruby-compiler depends on mruby The main reason for big footprint
- 20:55RAM consumption
- 22:18keymap.rb of meish2 (2388 bytes)
- 22:44mrbc keymap.rb - 206.1 KB
- 22:56Summary
- 24:04Depending on only libc and less glibc for desktop/server application newlib for embedded application
- 25:09Padding in a struct
- 25:51Paddings waste memomy
- 26:09Pooled allocation
related talks
29mIntegration of PRK Firmware and R2P2
36m(m)Ruby on small devices
30mPicoRuby as a Multi-VM Operating System
34mEmbedding Ruby into your Daily Life
33mmruby/c: Running on Less Than 64KB RAM Microcontroller
28mLet's write an esoteric language in Ruby!
35mmRuby meets iOS and RTOS
36mWrite once, run on every boards: portable mruby
