Haupz Blog

... still a totally disordered mix

DevTerm

2023-09-02 — Michael Haupt

DevTerm is a small portable Linux device, which alone makes it interesting. What makes it more interesting is that one of the processor units it can come with is a RISC-V one. I’ve long found this open-source processor spec highly fascinating, and have been waiting to be able to lay my hands on a machine running on it. Also, DevTerm can be obtained as a kit, and because I love assembling computer stuff, that was decided right there.

Here’s the box with my trusty iFixIt kit, and the box contents. It’s all very neatly packaged, and the assembly manual is awesome. It has way more level of detail than I had needed, but that means someone with less experience would be capable of assembling the DevTerm with ease.

Here are some close-ups of the box contents. The first image has the more technical parts; from left to right and top to bottom: battery case, display, extension board, SD card (hard disk) and display cable, main board, RISC-V compute module, loudspeakers, thermal printer (oh yes), and keyboard. In the second image, you can see the case parts. Note the orange things at the bottom left? These are used to hold the components in place, no screws involved. That makes for easy maintenance.

Assembly begins with mounting the display to the frame, then the main board, and by then connecting the display using the flat cable. These things are finicky. It took two or three attempts to properly place both ends right.

Next, the compute module is placed in the main board slot. Note that this is the only time during the entire assembly process where I had to use a screwdriver to fix the module in place. You’ll notice the four orange plastic pegs in the corners of the main board: this is how most of the components are held in place.

The WiFi antenna, loudspeakers, and extension board are next. The antenna was, once more, rather finicky to place - it’s essentially a sticky note with some metal and a very sturdy wire soldered to it that connects to the antenna port on the main board. The glue is extremely sticky. The antenna doesn’t sit on the panel in a very neatly aligned fashion, but I was worried to break it by taking it off and placing it right. I’m also not sure whether I placed it on the right side of the panel (this is the one point where the manual wasn’t clear). The loudspeakers are tiny, but there are two of them, which means stereo. I doubt the stereo effects will be noticeable given how close the two are to one another. The extension board fits neatly next to the main board, and has connectors for the loudspeakers on its back side: no cables! (I really like that about the DevTerm: many things connect without cables.)

The two final components are the thermal printer and battery case. I find it funny that the DevTerm comes with a builtin printer - but it definitely gives it a distinct impression of autonomy. With these two components installed, we’re almost done. Turning the whole thing around, the connectors for the keyboard are visible right below the display (those four dots). The keyboard is another one of the components that connect without a cable.

And here it is: the keyboard just sits on top of the case frame. The remaining assembly is to mount the frame with all the components in the case and secure that with the two knobs on the left and right. I need to repeat it: the entire thing can be opened and closed, and assembled and disassembled, without using any tool - with the sole exception of the compute module.

Of course, this isn’t where the excitement ends. Does it work? I had to insert the batteries (standard 18650 lithium batteries) and SD card, and then hold the power button for two seconds.

It’s always very satisfying to see a computer boot that I’ve just assembled. It worked flawlessly: the DevTerm booted a Ubuntu Linux variant, and started up an X11 environment right away, displaying an intro document. The first thing I tried was to set up the WiFi connection, which also worked perfectly fine, and to start a browser (elinks, in this case) to display a certain web page.

It’s time for some critical acclaim.

The RISC-V chip is an early one. Manufacturers are only beginning to implement these, and performance isn’t stellar. Also, not all Linux libraries are available yet for the RISC-V architecture, and some have bugs. This makes the overall experience of using Linux on this DevTerm a bit less pleasant than one might expect - but then it needs to be clear: this is mostly an experimental system. If you want better performance and support, use the 64-bit ARM compute module.

DevTerm’s keyboard has some Sinclair ZX Spectrum vibes. The keys aren’t all 100 % reliable (fun when entering passwords) and have that odd rubber feeling to them. For a keyboard of that size, it’s fine, but if DevTerm is meant to be used more widely, the keyboard needs an overhaul. It does get extra points for the trackball thingy (the white knob at the top) and the gaming console controls.

Oh, you may wonder: does the printer work? Why, yes - mostly by echoing text and commands to a file in /tmp, but as mentioned, it’s an experimental system.

Tags: the-nerdy-bit