Chonky Pocket

By David Crookes. Posted

On-screen keyboards work well, but a physical set of keys remains preferable, certainly if you’re going to be entering a lot of text. With this in mind, Dan Norris began to work on his Chonky Pocket computer. He believed that, in order to create a device comfortable to use, jamming in a full-size Qwerty keyboard wasn’t going to work.

Instead, he has limited his pocket-sized computer to just ten keys and, as well as being able to type straightforward documents with it, it’s geared up specifically to allow users to code in Python. What’s more, it’s wrapped in a beautiful enclosure that makes the Chonky resemble a Nintendo Game Boy handheld. It really is an object to desire.

“I wanted a pocket-sized Linux computer with a physical keyboard and I sort of hacked something together last year that wasn’t very nice,” Dan explains. “I decided to have another go at it this spring when I got a pre-release Amp Ripper 4000 PSU to try out.” His goal was to incorporate a keyboard, scroll wheel, and touchscreen, and include a laptop-style battery that would report its state of charge to the OS.

Key points

At the Chonky Pocket’s heart is a Raspberry Pi 4 computer. “I usually use Ubuntu and it’s great that Raspberry Pi is officially supported,” Dan says. It’s hooked up to a 5-inch HDMI touchscreen with a speaker and, of course, a handful of keys. They’re ‘chorded’ which means: several keys need to be pressed together to enter characters, words, phrases, or commands.

“The keyboard layout is mostly just the eight-key ARTSEYIO chording layout with two extra keys mapped to ‘)’ and ‘(‘ and chorded ‘:’ – keys that normally require a layer shift with the ARTSEYIO layout.” This enables Python coding. “It was a bonus that the extra keys made the keyboard physically symmetrical, so I could change the layout for either hand,” Dan adds.

Of course, it’s going to take some getting used to. “I can type about 20 words per minute (wpm) with it when I practise a bit, but there are folks on the ARTSEYIO Discord who can do more than 40 wpm,” Dan continues. “If I wanted to type faster with one hand, I’d be inclined to use half of a Corne split keyboard (CRKBD) which has more thumb buttons for layer shifting and more direct access to symbols, numbers, and CTRL/SHIFT/ALT.”

Powering on

The build posed some challenges. “Modifying the battery kernel module for this was interesting,” Dan says. “I haven’t touched any C code since college and the window manager would crash when I loaded the module in Raspberry Pi OS. I’m just lucky that it worked in Ubuntu without having to do much troubleshooting.”

Power was hard to get right too. “Even using the wrong connector between a battery and the boost/charge board can cause voltage warnings and rebooting with Raspberry Pi 4,” he explains. And he has rewritten the GPIO keyboard firmware a couple of times. “It was an opportunity to learn about the current state of GPIO programming on Raspberry Pi with ‘lgpio’ and figure out how to use ‘uinput’.”

Dan hopes many people will enjoy building their own version and already plans for a build that includes a second HDMI port, external pins, a display that turns off when idle, and more. “I’ve gotten lots of supportive comments on Reddit for this build and some nice media coverage. It’s been a lot of fun,” he says.

From The MagPi store

Subscribe

Subscribe to the newsletter

Get every issue delivered directly to your inbox and keep up to date with the latest news, offers, events, and more.