You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

RAIN PSP Software

This is where the base operating system image will live. I'm still trying to figure out exactly how to put that together as there will be distinct images for cluster nodes vs. the front-end, and ideally the cluster node images will require zero configuration.

In addition to the base O/S, the front-end image will include development and management tools for the system.

Firmware for custom hardware may live here as well, but I'm not 100% sure about that yet.

Operating System

The operating system currently consists of Debian-based distros (Raspbian for the Rpi0W front-end, Armbian for the rest of the cluster). Right now it looks like the user environment will be based on IPython as this provides both a rich terminal-based user interface as well as tooling for parallel computing.



RAIN-PSP uses a custom keyboard with a PLANCK layout. The keyboard is constructed from CHERRY-MX Blue switches wired into a matrix and connected directly to the Raspberry Pi ZeroW head node (connection details are covered in the hardware README).

QMK Kernel Module

The current implmentation uses a modified version of the QMK Kernel Module project. This code lives in the qmk_kernel_module directory. This consists primarilly of a modified Makefile and a keyboard overlay specific to the RAIN-PSP keyboard.

Layer 1

keyboard layer 1

Layer 2

keyboard layer 2

Building this is currently somewhat complicated and discussed at length in the journal. It involves rebuilding the Linux kernel among other things so I'm hoping to avoid making people do this but I haven't decided on the best way to go about that.

matrix-keyboard kernel driver

Originally, the keyboard was driven by the matrix-keyboard kernel driver using a custom device tree overlay. This code can be found in the matrix-keyboard directory.

Building and installing the matrix-keyboard driver keyboard overlay

  • cd keyboard\matrix-keyboard
  • dtc -W no-unit_address_vs_reg -I dts -O dtb -o rainpspkbd.dtbo rainpspkbd.dts
  • sudo cp rainpspkbd.dtbo /boot/overlays/
  • sudo dtoverlay rainpspkbd

At this point you should see the keyboard listed by using the sudo lsinput command.