Review: DevTerm Linux Handheld Has Retro
It’s not every day that an open-source, portable Linux handheld computer gets announced, so I couldn’t resist placing an order for the DevTerm by ClockworkPi back when we first learned about the stylish little terminal, which includes a 1280 x 480 screen (double-wide VGA) and a modular little thermal printer.
Of course, the global semiconductor shortage combined with shipping slowdowns led to delays, but things did ultimately come together for the project. I’ve always been a sucker for small-format machines, especially ones that come as a well-designed kit, and that means I can tell you all about what it was like to put it together and turn it on. There’s a lot to look at, so let’s get started.
Assembly of the DevTerm makes for a good weekend or afternoon project. Clever design of interlocking pieces and connectors means there is no soldering required, and assembly mainly consists of clicking together hardware modules and plastic pieces according to the manual. Anyone with experience assembling plastic model kits will get a hit of nostalgia from cutting plastic parts off their sprues, and snapping them together.
Illustrations in the manual are good, and genuinely clever mechanical design makes for a very friendly assembly process. The use of self-centering parts, and pegs that themselves become self-aligning bosses, is pretty slick. No tools are required, and with the exception of two small screws for securing the processor module, there are in fact no hardware fasteners at all.
Of course, some parts are delicate and not entirely foolproof, but anyone with experience in electronics assembly should have no problem whatsoever putting it together.
The only elements that aren’t included are two 18650 cells for power, and 58 mm wide thermal paper rolls for the printer. A small phillips head screwdriver will be needed for the two small screws that secure the computing module into its socket.
Besides the screen and printer, inside the DevTerm there are four major assemblies; each connects to others with no need to solder anything. The keyboard with mini trackball is completely self-contained and connects via pogo pins. The main board holds the CPU. The EXT board has a fan and also provides I/O ports: USB, USB-C, Micro HDMI, and audio. The remaining board handles power management and hosts two 18650 cells — the USB-C port, by the way, is used exclusively for charging. There’s even some space left inside for customization or other add-ons.
This modularity pays off. For example, it helps make it possible for the DevTerm to offer a few different options for processors and memory sizes, including one based around the Raspberry Pi CM3+ Lite, which is the guts of a Raspberry Pi 3 Model B+ in a form factor intended for integration into other hardware.
The GitHub repository for the DevTerm has schematics, code, and reference info like board outlines; there are no design files in the sense of CAD formats, but those might be coming in the future. The product page mentions that CAD files for customizing or 3D printing one’s own parts are available from the GitHub repository, but at this writing they aren’t there yet.
When powered up, the DevTerm boots directly into a desktop environment, and one of the first things I wanted to do was configure a WiFi connection and enable an SSH server. The welcome screen told me exactly how to do that — but the early version of the OS my DevTerm shipped with had a small typo which meant that following the directions exactly resulted in an error, which helped deliver a genuine Linux DIY experience. A few other things also didn’t seem quite right, but a software update did a lot to fix that up.
The default behavior of the mini trackball was especially frustrating, as it moved the pointer only a tiny bit with each swipe of a finger. In addition, the trackball doesn’t seem to respond well to diagonal movement. Thankfully, user [guu] has rewritten the firmware for the keyboard and I highly recommend the updated version, which improves the trackball response considerably. The keyboard module can be programmed with new firmware from a shell on the DevTerm itself, but it is a much better idea to do it from an ssh session, because the physical keyboard can become unresponsive in the process.
Updating my DevTerm A04 to the latest OS release fixed most of the issues I noticed out of the box — such as no sound coming from the speakers, leading me to wonder if I had installed them correctly — so I recommend ensuring that the OS is updated before diving too far into troubleshooting any particular issue.
The keyboard module includes a mini trackball and three separate mouse buttons, and clicking the trackball performs a left-click by default. The layout has a nice look to it, with the trackball centered at the top of the keyboard, and three mouse buttons centered under the space bar.
ClockworkPi’s “65% keyboard” has a classic key layout, and I found the DevTerm to be easiest to type on when I held it with both hands and typed with my thumbs, as though it were an oversized Blackberry. Laying the DevTerm down on a tabletop is also an option; this puts the keyboard at an angle that invites more traditional finger typing, but I found the keys a bit small to do this comfortably.
There is no touchscreen, so navigating a GUI means using the trackball, or using keyboard shortcuts. Fiddling a mini trackball located in the center of the device — with mouse buttons at the bottom edge — is something I found a bit awkward at best. Functionally, the DevTerm’s keyboard and trackball combo provides all the right tools one may need in a space efficient and balanced layout; it’s just not the most ergonomic in terms of usability.
One isn’t always using the DevTerm as a portable machine. When configuring or otherwise doing setup, logging in with an ssh session is a better way to go than dealing with the built-in keyboard.
Another alternative is setting up remote desktop access, so that the DevTerm can be used in all its widescreen 1280 x 480 double-VGA glory, from the comfort of one’s desktop.
To do that as quickly as possible, I installed the vino package on the DevTerm, and used TightVNC viewer from my desktop to establish a remote session.
Vino is a VNC server for the GNOME desktop environment, and TightVNC viewer is available for a wide variety of systems. sudo apt install vino will get the VNC server installed (listening on default TCP port 5900), and while I don’t actually recommend this for everyone, following it up with gsettings set org.gnome.Vino require-encryption false will enforce precisely zero authentication or security whatsoever on the connection, allowing one to access the DevTerm desktop with nothing more than the machine’s IP address.
Not the best security-minded decision, but it did allow me to avoid the trackball and keyboard in no time flat, which has a value all its own in a pinch.
The thermal printer is an unexpected feature, and the paper spool is held in a separate, removeable assembly. In fact, the printer functionality is entirely modular. The printing hardware inside the DevTerm is situated directly behind an expansion port feature into which the paper reservoir is inserted when printing. This assembly could be removed entirely and the space repurposed, if so desired.
Functionally, the small printer works perfectly well and I was able to do test prints with no trouble — as long as my batteries had a healthy charge. Printing with low battery power resulted in an ungraceful brownout, so avoid that situation. That’s probably worth keeping in mind with regards to any modifications, too.
Print quality and resolution is much like any receipt printer, so moderate your expectations if you have any. Is the little printer a gimmick? Maybe, but it’s sure a nifty option and can be used as a sort of reference design, should one wish to refit the DevTerm with some other custom hardware in its place.
Clockworkpi have clearly put effort into giving the DevTerm a hackable nature; the connectors between modules are easy to access, and there is spare room on the boards as well as some extra room inside the case. In particular, the thermal printer module has a generous amount of extra room behind it. There’s definitely space for some wiring and custom hardware, should one wish to break out a soldering iron. The modular nature of the main assemblies also seems designed to invite easy modification, which helps make it an attractive starting point for a cyberdeck build.
While 3D models of the physical bits are not currently available on the project’s GitHub, an enterprising soul has nevertheless created a 3D printable DevTerm stand that cradles the device and puts it at a useful and space-saving angle. When 3D models of parts make it to the GitHub repository, that’ll make things a lot easier.
What do you think about the design choices this Linux handheld took? Got any ideas for hot hardware mods? As mentioned, the print module (and the expansion slot that goes with it) could be easily repurposed; I’m a bit partial to Tom Nardi’s idea of USB devices in cartridge format, personally. Got any other ideas? Let us know in the comments!