A badge modelled after the handle of a light sabre? Yes Please! This Star Wars themed hardware is the work of hardware designer Thomas Flummer for the 2019 BornHack conference held in Denmark last month. (Check out my roundup of the event if this is the first you’ve heard of it.)
It fits the hand nicely, and with clever side-on placement of the two AA battery holders (a trick we first saw with the 2016 Hackday Superconference badge) it also keeps any protruding solder joints away from clothing. In the centre of the badge is the 240×240 pixel colour display that also hides the Silicon Labs Happy Gecko processor and its surrounding components. Three buttons at the edge of the board to the left of the screen are a nice fit for your thumb when holding it in your left hand — a good choice if you happen to leave your right hand behind on a visit to the Cloud City of Bespin.
Between the battery holders lies a four-way joystick, two buttons, and a 6-pin add-on connector. Above it is a micro SD card socket and a micro USB socket, and above them are an IR emitter and receiver. All of the hardware is on the front of the PCB, with no components on the reverse (other than the solder joints for the batteries). But it is there you will find a set of exposed pads for serial and I2C interfaces.
A Lightweight Toolchain Makes Coding Easy
Inserting a pair of AA cells and pressing the power button brings up a BornHack logo to the screen, and pressing a button reveals a menu. As shipped there is an event schedule, a button test, a bitmap display, and an IR data dump app.
As you’d expect, this is a hackable badge for which owners can write their own software. It’s a development of previous BornHack badges, and the firmware developer Emil Renner Berthing has managed to pull off the impossible and make it accessible without resorting to an interpreted language such as MicroPython. A single apt-get quickly installs the arm-none-eabi-gcc toolchain, and building your own C apps and adding them to the menu is very straightforward. I did it in my tent at the event using a Chromebook, something that experience has taught me is usually very difficult indeed.
The Usual Teething Troubles
The badge itself then is a simple and well designed one without too much complexity but with simplicity enough for easy development. There’s a further story to its development, which the pair were able to tell me over a drink at the Chaos Communication Camp a few days later in Germany. They are both veterans of badge production, but they still had tales of component supply issues and time constraints. In particular there were some components which could not be sourced in time for PCBA, leading to none of the boards being complete at the start of the camp. It’s not surprising that the community came out to help pull the project toward completion. The badge assembly crew included Danes, a substantial group from the Netherlands village, and I joined in the fun as well. On the first day we soldered a few surface mount parts, the display, battery, and SAO connector on nearly 500 badges, with fewer failures than fingers of one hand.
I asked about the badge hardware, for instance why it has no expansion capability beyond the SAO. The answer was simple enough, the Silicon Labs processor is a capable device but is limited in its number of pins leading to no spares being available. As it was some pins were shared, for example between SD card and infra-red. The IR is a little unusual, instead of using a subcarrier as your TV remote control does it is simply an LED and phototransistor hooked up to GPIOs. This lends it a very short range, but in practice this does not matter as transactions are intended to be made at close proximity.
In conclusion then, the BornHack badge is a simple design that does its job well and is easier to program than you might expect. It benefits from its heritage in previous BornHack events, and makes a handsome aesthetic addition to a badge collection.