Thursday, April 14, 2022

DevTerm A06

Introduction

The DevTerm is a portable device made and distributed by Clockwork. It is aimed at amateurs, developers and tinkerers. With a bit of customization it would not look out of place on a cyberpunk set.

It is chunky enough to be convenient to held, a reasonably sized screen, a keyboard that's almost large enough to be usable, and a decent range of ports and peripherals. It seems like something that's handy to have at the ready around the house.

Cost and delivery

The DevTerm is very modular and comes in various configurations. The one I picked is A06. It includes a core module with a 6-core CPU and 4 GB of RAM. The total amount paid, shipping and tax included, was just over $400. On top of that 2 18650 batteries are needed, and not included.

The delivery took forever. Clockwork indicated they would ship within 60 business days. In practice it took almost exactly 4 months to receive the shipment.

The package arrived from Hong Kong and in good condition.

Assembly

The DevTerm requires adult assembly. No soldering is required and the only tool I needed was a small screwdriver.

The kit is composed by the shell (back and front half), the keyboard, the screen, the mainboard (in 2 parts), the CPU module (SODIMM form factor), the battery holder plus various paraphernalia. It is pretty well designed and held together only by plastic tabs, detents, retainers, etc.

The instructions are generally clear but there are a couple of issues that could benefit from being explained more clearly.

Installing the screen is tricky. It is the first step to be performed without any prior warming up. The screen itself is a rectangular slab. The module is wrapped by a very thin metal sheet which is just bent in a rectangular shape, not welded. Once installed, it is supposed to be held in position by a set of spaces. These will catch into the metal sheet and bend it out of shape. Getting all 4 corners to align without any damage is complicated. The metal sheet ended up a bit chewed in my case but the screen still works. Another problem is that the manual instructs to snap the screen into place. Terrible idea. Carefully bending the retainer tab then sliding the screen into place is a better plan.

Ribbon connectors are delicate and don't provide any positive indication of being correctly aligned. There are a few of them used to connect the motherboard to peripherals, including the screen. Even when they are correctly aligned it feels like they could be pushed further in their terminals. It's hard to tell when they in the right position.

Kapton hole covers must be removed from the motherboard before the core module can be screwed into place. Or so I believe, at least. It might be possible to force a screw through the thin plastic, I suppose. The manual doesn't say what to do.

The wifi antenna should be connected before being glued into place, otherwise the short pigtail it comes with might not reach. Once glued, it's hard to remove without damaging it. The instructions say to glue it first, then connect it.

The speakers seem to fit in either orientation, thanks to additional contacts on the motherboard. The manual does not provide any indications about this, though.

The roller of the thermal printer module must be installed in the paper holder at one of the final steps. It is removed from the printer midway through the build and the manual doesn't indicate what to do with it. Don't lose it. Don't put it back in the printer head, it's really hard to remove once the shell is on.

Install the additional heat sink if you get the A06 kit. The processor will run hot if you push it hard. The additional heat sink kit was obviously an afterthought. It consists of 2 thermal pads (with hard to remove plastic protections) and an incredibly thin copper plate. The instructions are unclear. I ended up sticking both pads on top of the existing heat spreader and then put the copper plate into place in the backshell before closing it. It's not hold in place by anything other than pressure from the thermal pads. There's probably a better way to do it.

All in all, the build isn't too hard. It took me about 60-90 minutes to go through it, including fixing mistakes. The case is designed to come apart easily and, other than a few glued-on components, everything is designed to come apart.

Hardware gotchas

This is not mean to be a review, I'll cover a couple of points that are not obvious.

Battery and power management are weird. I'm using an original MacBook Pro USB-C charger and 2 3500 mAh batteries. The DevTerm booted without issues with the batteries almost flat (2-4%) while connected to power. Then with the batteries at around 15% it would not boot with the charger connected. When I have the batteries almost fully charged it boots on batteries, power and both, but the batteries won't charge unless the unit is powered on. It's all very weird. There's probably some weird interaction between the charger and the protection circuit the batteries have on board. The power supply might trip when the unit is turning on with the batteries sinking lots of current; I don't know.

The orange power LED seems to turn off when the batteries are charged. It's hard to tell if the unit is being powered by the batteries or not. The USB-C connector is not very strong and the charger cable got pulled out a few times without me realizing it.

The CPU runs quite hot, when all the cores in use. I hit about 85 C during a compilation test, with signs of thermal throttling (reduced CPU frequency). The unit itself gets warm to the touch but not uncomfortably so.

Software

The DevKit ships with a SD card with a custom version of Armbian 21.08.0-trunk Hirsute. It's new enough but not cutting edge.

Some packages are held back, I imagine for compatibility reasons, which prevents some others from getting installed with apt. That is annoying.

Default credentials are cpi/cpi. 

Out of the box, the DevKit boots into a X11 graphcal desktop. It's not very customized and hasn't been adapted for the very wide screen. I disabled it almost immediately. 

There is no splash screen during boot, contrary to e.g. the raspberry pi. I hate the splash screen of the pi and I disable it every time, but it would be good to have something pop up as soon as the unit is powered on. This is especially true considering my shoddy workmanship during assembly.

On the A06 only 4 out of 6 cores are available out of the box. The processor is big.LITTLE, meaning it has 4 efficient cores and 2 additional performance ones. These are offline when Linux boots. They can and should be enabled; running with all 6 cores speed up my compilation benchmark (building SDL2) to 200%.

The big cores can be easily enabled through the CLI:

# echo 1 > /sys/devices/system/cpu/cpu4/online

# echo 1 > /sys/devices/system/cpu/cpu5/online

The screen is rotated by 90 degrees. Reported resolution is 480 x 1280, not vice versa. The prepackaged X server is aware of this and rotates the image. The Linux console too. Anything else (e.g. SDL2) needs special care.

Conclusions 

After messing with it for a while, the DevTerm looks like a promising device. The hardware is not of the greatest quality but it holds together decently well and it does what it is supposed to do. The software isn't that good out of the box but it is a relatively stock Linux distro and can be customized as needed.

The next steps for me are to disable X and build SDL2 so it can directly switch the screen to graphical mode from the Linux console. More on that later.

 

DevTerm A06

Introduction The DevTerm is a portable device made and distributed by Clockwork. It is aimed at amateurs, developers and tinkerers. With a b...