Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Picoruby and PRK Firmware

Ruby Central via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore a conference talk from RubyConf 2021 that delves into PicoRuby, an alternative implementation of the mruby interpreter for one-chip microcontrollers, and PRK Firmware, the world's first keyboard firmware framework in Ruby. Learn how to write custom keymaps and configure additional behavior using Ruby's features like open class system and Proc objects. Discover the potential of Ruby as a scripting language for microcontrollers, comparable to MicroPython, CircuitPython, or Lua. Gain insights into keyboard building, including keycap selection and firmware installation. Witness demonstrations of Fibonacci sequences and password generators in keymap.rb. Understand the architecture, multitasking capabilities, and memory optimization techniques used in PicoRuby and PRK Firmware. Explore the challenges and solutions in creating a small Ruby compiler for embedded applications, including RAM consumption and memory allocation strategies.

Syllabus

Intro
When you build a keyboard You can choose Keycaps for appearance and touch
Keyboard firmware
e.g. prk_pipigherkin/keymap.rb
Install into the microcontroller
A new drive automatically mounted
Drag & drop keymap.rb
Demonstrations
Fibonacci in keymap.rb
Password generator in keymap.rb
Extend your keyboard
Micon of PRK Firmware
Ruby Association
Multitasking
Architecture
To make a small Ruby compiler mruby-compiler depends on mruby The main reason for big footprint
RAM consumption
hello_world.rb (20 bytes)
keymap.rb of meish2 (2388 bytes)
Summary
Depending on only libc and less glibc for desktop/server application newlib for embedded application
Padding in a struct
Paddings waste memomy
Pooled allocation

Taught by

Ruby Central

Reviews

Start your review of Picoruby and PRK Firmware

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.