Digirule 2U

I keep meaning to post about SISEA, but like… I don’t have anything to say that others haven’t said better. Much like SESTA/FOSTA, this bill is a direct attack on sex workers under a thin anti-trafficking guise. Listen to what sex workers are saying about this. Contact the folks who are supposed to listen to us. Let’s do what we can to stop this garbage.

I’ve written about single board computers before, and have bought and briefly played with a modern board from Wichit Sirichote. I’d meant to write about my experience with this board, but I haven’t actually gotten too far into the weeds with it yet. I need to either find a wall-wart that will power it, or else hook up my bench supply to mess with it, and… my attention span hasn’t always proven up to the task. I will say that it does what it’s supposed to do, at a reasonable price; a fun little hobby board.

Recently, however, I received something very interesting. Funded on Kickstarter, and not yet present in its current version on the creator’s website, the Digirule 2U is a single-board computer in a ruler-sized form factor. It has two 8-bit binary display LED arrays, pushbutton inputs that somewhat mimic classic machines like the MITS Altair, and is powered by a single CR2032. It’s not based on any classic microprocessor, but its opcode mnemonics are instantly recognizable to anyone familiar with entering machine code into an old machine. It has 54 instructions, all of these are beautifully silkscreened onto the back of the machine, alongside the handful of relevant reserved system memory addresses.

This all means that without having to connect to a power supply, without having to read any outside reference material, the Digirule 2U is an entirely self-contained 8-bit hobby computer sized like a chunky bookmark. I was able to quickly write a program to show adding (in binary, of course) from 0-255. There are no conditionals in this little demo, so when the location overflows, it just starts at zero again.

0: 00000010
1: 10000000 #set speed to 128
2: 00000011 #initialize stack pointer
3: 00000101
4: 00000000
5: 11111111 #load value 0 into the data display register
6: 00011110
7: 11111111 #increment the data display register
8: 00101000
9: 00000110 #goto 6

An incredibly simple ‘hello world’ sort of demonstration, but again… the only reference material I used was the list of opcodes silkscreened on the rear of the computer.

This is the third iteration, after the (largely identical to one another, I believe) Digirule 2 and 2A. I haven’t used the earlier Digirules, but the 2U seems like a big step up. It adds serial communication including ASCII terminal access and file transfer. This is something I’ll check out in the future, but it’s not really the point of the device to me. The 2U also adds over 20 instructions including niceties like multiplication and division; the earlier instruction set was certainly sufficient, but the 2U’s fills out some helpful areas.

I love this little thing. It’s a small, clever throwback to hobbyist and developer’s single-board computers of the early 8-bit era. The packaging is brilliant, removing all of the friction from just powering it on and tinkering with some machine code. It’s the same sort of fun that I get from casually messing with an old HP calculator or code-golfing in dc. Hopefully I’ll come up with some little challenges for myself and post an update or two in the future.