Luminum - a platform for focus mode

7 min read Original article ↗

Computers are amazing — they are the ultimate universal tools. But sometimes modern interfaces, ads and social algorithms are exactly what gets in the way of getting things done. Luminum turns a Raspberry Pi into a space for focused work and learning.

luminum  SCREEN 1 (tty1)  ╶╮ ╶─┐   ╶─╮╭─╴   ╶─╮╭─╴  │   │ :  ─┤╰─╮ : ┌─┘├─╮ ╶┴╴  ╵   ╶─╯╶─╯   ╰─╴╰─╯ What do you want to do today? ┌─────────────────────────────────┐ │Scratch Coding Environment->│ │Google->│ │Website->│ │Play a game!->│ │Code the Classics->│ │Library->│ │Add App+│ ││ ││ ││ ││ └─────────────────────────────────┘  ctrl+a admin mode  ↑/↓ navigate  ctrl+alt+F1/F2 switch screen 

What it is

The device starts up into a menu and nothing else. There is no desktop underneath it, no browser to wander off into. What is on the menu is what you set up there.

There are two accounts: an admin account (luminer), holding the password and the right to install things, and an everyday account (luminee) with neither. Apps run as the everyday account. Every way out of the menu — adding an app, changing the WiFi, reaching a desktop — asks for the admin password first.

Apps come from the app library, and each one is described by a short YAML file called a recipe. You can write a custom recipe to whitelist something that is not yet in the library.

What you need

  • A Raspberry Pi (4 or 5 recommended; a 3 works for the lighter apps)
  • A microSD card, 16 GB or larger — everything on it will be erased
  • A card reader on the computer you are writing from
  • A screen with HDMI, a keyboard and a mouse
  • Your WiFi name and password — needed to install apps, though many apps then work offline

A wired USB keyboard makes the first boot easier. A Bluetooth keyboard works too, but you will need something plugged in to pair it with.

1. Write the SD card

  1. Download the Luminum image. It is a single .img.xz file of about 2 GB. Get Luminum

  2. Install Raspberry Pi Imager from raspberrypi.com/software. It runs on Windows, macOS and Linux. Balena Etcher works just as well if you already have it.

  3. Write the image. In Imager, choose Use custom under the operating system list and pick the file you downloaded. Choose your SD card under storage. Write.

    Imager will offer to apply its own settings — hostname, username, WiFi, SSH. Skip that (choose No when asked to apply OS customisation). Luminum sets up its own accounts on first boot, and Imager's settings will conflict with them.

  4. Put the card in the Pi, connect the screen, keyboard and mouse, then plug in the power.

2. First boot

The first boot takes a few minutes: the Pi expands the card, creates the two accounts and reboots itself once before setup appears. A blank or busy screen for a minute or two at this stage is normal.

Setup is a plain text screen driven by the keyboard: arrow keys to move, Enter to choose, Tab to move between fields. There is no mouse yet.

Set the admin password

luminum ┌──────────────────────────────────────────────────────────┐ ││ ││ │Set Admin Password│ ││ ││ │Enter Password│ ││ │┌────────────────────────────────────────────────────┐│ ││Enter password││ │└────────────────────────────────────────────────────┘│ ││ │Repeat Password│ ││ │┌────────────────────────────────────────────────────┐│ ││Repeat password││ │└────────────────────────────────────────────────────┘│ ││ │Press Enter to submit│ ││ ││ ││ ││ ││ ││ └──────────────────────────────────────────────────────────┘  ctrl+r toggle password visibility  tab next field 

This is the admin password. It is what you type to open admin mode later, and it is the only thing standing between the menu and the rest of the machine. If you are setting the device up for someone else, this is your password, not theirs — pick something they will not guess and do not type it in front of them. Minimum six characters; Ctrl+R reveals what you typed.

Join WiFi

luminum ┌──────────────────────────────────────────────────────────┐ ││ ││ │Configure Internet Access│ ││ ││ │Found 4 networks:│ ││ │+----------------------------------------------------+│ │||│ │|* Home-WiFi                      88% -----====|│ │||│ │||│ │|* Home-WiFi-5G                   72% -----===|│ │||│ │||│ │|* Neighbour                      45% -----|│ │||│ │||│ │|   Guest                          31% ----|│ │||│ │||│ │|I use a wired (Ethernet) connection|│ │||│ │||│ │||│ │||│ │+----------------------------------------------------+│ ││ │Press Enter to select│ ││ ││ ││ ││ ││ ││ └──────────────────────────────────────────────────────────┘  ctrl+r rescan  ↑/↓ navigate  esc back 

Pick your network from the list and enter its password, or choose I use a wired (Ethernet) connection at the end of the list. Ctrl+R rescans if your network is missing. A connection is needed to install apps; once installed, many apps work without one.

Pair Bluetooth devices

If you use a Bluetooth keyboard, mouse or speaker, put it in pairing mode and pick it from the list. Otherwise skip this step — you can pair devices later from admin mode.

Done

Setup reports that it is finished and restarts the Pi. From this point the Pi starts up straight into the menu, automatically, with no login prompt. The menu is empty apart from Add App until you add something.

3. Add the first app

  1. Choose Add App at the bottom of the menu and enter your admin password.
  2. The app library opens. The list of available apps is on the left; the description of the highlighted one is on the right, with the age it suits and what it needs.
  3. Press Enter on an app to open its setup.
luminum ┌────────────────────────────────────────────────────────────────────┐ ││ ││ ││ │Name shown in the menu│ │▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│ │▊Website▎│ │▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│ ││ │Website address *│ │▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│ │▊Enter website that should be launched by browser app▎│ │▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│ ││ ││ ││ │▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔│ │ Try  Install │ ││ └────────────────────────────────────────────────────────────────────┘  esc back 
Setting up the Website app. The name you give it here is what appears on the menu, so name it after the task — "Maths practice" rather than "Website".
  1. Fill in whatever the app asks for. Most need nothing; the Website app needs an address.
  2. Try installs the app for your own account and runs it, without putting it on the menu. Use it to check an app behaves before whitelisting it.
  3. Install installs it properly and adds it to the menu. Installing downloads packages, so it can take several minutes; the output is shown as it runs.

When the install finishes, the app library closes and the menu reappears with the new entry on it.

Everyday use

From here on, the device is the menu. It starts into it with no login prompt, shows the clock and the apps you whitelisted, and returns to it whenever an app is quit. Arrow keys move, Enter opens. There is nothing else to reach and nothing to close.

luminum  SCREEN 1 (tty1)  ╶╮ ╶─┐   ╶─╮╭─╴   ╶─╮╭─╴  │   │ :  ─┤╰─╮ : ┌─┘├─╮ ╶┴╴  ╵   ╶─╯╶─╯   ╰─╴╰─╯ What do you want to do today? ┌─────────────────────────────────┐ │Scratch Coding Environment->│ │Google->│ │Website->│ │Play a game!->│ │Code the Classics->│ │Library->│ │Add App+│ ││ ││ ││ ││ └─────────────────────────────────┘  ctrl+a admin mode  ↑/↓ navigate  ctrl+alt+F1/F2 switch screen 
The whole of everyday use: pick an app, use it, quit it, and you are back here.

Two doors lead out of it, both behind the admin password: Add App at the bottom of the menu opens the app library, and Ctrl+A opens admin mode for the machine's own settings.

luminum Please select action ┌─────────────────────────────────┐ │Check for Luminum Updates│ │Launch GUI│ │Update OS│ │Pair Bluetooth Device│ │Configure Internet Access│ │Change Admin Password│ ││ ││ ││ ││ ││ └─────────────────────────────────┘  esc exit admin mode  ↑/↓ navigate 
Admin mode, reached with Ctrl+A and your password.
Task How
Add an app Menu → Add App, then your password
Open admin mode Ctrl+A from the menu, then your password
Change WiFi or go wired Admin mode → Configure Internet Access
Pair a device Admin mode → Pair Bluetooth Device
Full desktop Admin mode → Launch GUI, for admin tasks that need one
Update Luminum Admin mode → Check for Luminum Updates
Update the operating system Admin mode → Update OS
Second screen Ctrl+Alt+F2 for a second menu, Ctrl+Alt+F1 to go back
Shut down Pull the power once the app has been quit and the menu is showing

Adding your own books and files

The device has a shared folder, /home/luminum, that both accounts can read. Books dropped into its library folder appear in the Library app. The easiest way in is admin mode → Launch GUI, which gives you a normal desktop with a shortcut to that folder.