The Connection Machine was a groundbreaking massively parallel supercomputer of the mid-1980s and 90s. Just as incredible as the machine’s performance was its industrial design: an ominous black cube-of-cubes, with system activity conveyed through thousands of red LEDs. It looks straight out of sci-fi…but it’s real!
There are a handful of truly iconic computer designs, like the distinctive “C” shape and built-in bench of early Cray supercomputers, but the Connection Machines are simply the best, period. I’m sorry, this isn’t mere subjective opinion, it’s irrefutable science. Look at it!
Not only are Connection Machines exceedingly scarce, with just a few dozen existing in museums and private collections, but their size and power requirements would make them impractical to own.
But now, thanks to 3-D printing and some Adafruit components, you can build a Little Connection Machine for your desk. This can house a Raspberry Pi 4 computer…or, if you don’t want or need the whole Linux-based computer and just want the blinkenlights…a Pico microcontroller board.
The case features an open design with lots of room to mount fans, sensors or even a speaker. Vents on the top, back and bottom help keep components cool.
The case is assembled with screws and press-fit parts that make it easy to customize. One could fit a USB battery bank to make a portable CM-1. Or, keeping on-theme with parallel processing, ambitious folks could probably fit a whole mini Linux cluster inside there using several Raspberry Pis!
Black LED Acrylic
Sheets of black LED acrylic slide over the matrices and diffuses the LEDs.
Powered by LED Charlieplexed Matrix
There are eight 9x16 “Charlieplexed” LED matrices inside this cube. Each is actually a pair of boards: an IS31FL3731 driver “backpack,” and then a 9x16 matrix that gets sandwiched atop this.
The matrices come in different colors if you really want…but classic red is authentic to the Connection Machine design.
Eight of these comprise a whopping 1,152 LEDs!
If building with a Raspberry Pi, there is example code for three different animations. For the Pico microcontroller board, only the first of these is provided, but it’s the one most folks want anyway…
Raspberry Pi: the number of lit elements (0–100%) depends on current CPU load. Since the program itself comprises part of that load, this will never be 0. Try opening a second window and doing a “sudo apt-get update” or “sudo apt-get upgrade” and watch the lights get angry!
Pico: you can configure a percentage or lit elements (0–100%) in the code. The lights simply blink randomly, it doesn’t reflect anything real-world…unless you decide to customize the code to read sensors or other nifty ideas.
This animation is inspired by the CM-5 in the Jurassic Park control room. This was a later Connection Machine model that took a different shape, but still had the LEDs…we’ve adapted that pattern to run on the original cube form-factor.
This doesn’t depend on CPU load or anything, it’s simply passive animation.
A trippy sound-reactive display. This requires adding a USB microphone and some additional software setup on the Raspberry Pi, explained later.
Required and/or recommended parts for this build:
The full design requires eight each of the LED drivers and matrices.
The “brains” can be one of:
- Any model of Raspberry Pi 4. The basic 1 GB model is adequate if you just want to run the demo code…or opt for bigger models if you expect to be doing real work. Older Pi models could also work, using USB micro-B instead of USB-C for power.
- A Raspberry Pi Pico microcontroller board.
One or other, you do not need both!
At the time this is being written, Pi 4 supplies are constrained…one could build with the Pico for now, and swap out for a “real” Pi later.
These wires and heat-shrink bits make for a luxurious build…though if you’ve been doing electronics for a while you might already have suitable bits around:
You do not need this Pico RP2040 board if building around a Raspberry Pi 4:
You only need the following right-angle connector if building with Raspberry Pi 4. Pico does not require it.
Using this particular right-angle connector does unfortunately block the HDMI ports; it’s implied that such a Pi would be used “headless,” as in an OctoPrint server. If you require HDMI out, you might find an upward-facing USB-C adapter elsewhere, a super-flexy cable, or more advanced folks might change up the wiring to allow using a 5V power adapter into the Pi’s breakout header (shared with the matrices).
A well-stocked local hardware store might carry metric fasteners…but if not, these can be ordered online…
You will need a soldering iron and related paraphernalia. None of the soldering is especially challenging…but with eight of those matrices, it does require patience.
Wire cutters/strippers, small screwdriver, typical electronics workbench stuff.
Most of the case is 3-D printed, so you’ll need a printer, or access to one. This can be made with basic black filament, or read on for alternatives…