/prk_firmware

A keyboard firmware platform in PicoRuby

Primary LanguageCMIT LicenseMIT

Ruby CI

PRK Firmware

PRK Firmware is a framework for DIY-keyboards written and configured in PicoRuby which is an alternative mruby implementation targeting on one-chip microcontrollers.

Features

  • A "keymap" can be configured in Ruby which is a concise, readable and happy language
  • RP2040 is the target platform microcontroller
  • You can write your own "action" which will be invoked when you tap or hold a key.

Documents

See Wiki pages: https://github.com/picoruby/prk_firmware/wiki

Presentations

The author gave a talk about PRK Firmware in RubyConf 2021.

See the video on YouTube.

Japanese talk is available at RubyKaigi Takeout 2021.

Roadmap

  • Non-split-type keyboard
  • Split-type keyboard
    • Symmetrical type. eg) Crkbd
    • Asymmetrical type. eg) ???
    • UART communication between left and right
    • I2C communication between left and right
  • Macros
  • Media keys
  • RGBLED. An example on picoruby/prk_crkbd
  • OLED display
  • Rotary encoders. An example on prk_helix_rev3/keymap.rb
  • Mouse / Trackball
  • Debugging over a serial port
  • Duplex matrix

Contributing

Fork, patch and send a pull request.

For those who are willing to contribute to PRK or write your own keymaps:

  • It's possible that your Ruby code can't be compiled as you wish
    • Remember that "Ruby" in PRK is neither CRuby nor even mruby
    • PicoRuby doesn't support some Ruby syntax and may have bugs. It would be great if you send a patch, too!
  • Unlike QMK Firmware, prk_firmware repository doesn't include individual keymaps

License

Copyright © 2021-2022 HASUMI Hitoshi. See MIT-LICENSE for further details.