Through the weekend Twitter has been a-titter with news coming out of Saintcon, the annual security conference in Provo, Utah. Now that the weekend is over we can finally get our hands on full hardware and software sources for the curvy, LED-covered badge we’ve been salivating over and a write up by its creators [compukidmike] and [bashNinja]. Let’s dive in and see what’s waiting!
Design
This year’s badge is designed to represent a single tooth on a single rotor of an Enigma machine. The full function of an Enigma machine is quite complex, but an individual device has three rotors with 26 teeth each (one for each letter) as well as a keypad for input and a character display to show each enciphered letter. For reference, the back of the badge has a handy diagram of a badge’s place in the Enigma system.
Reminiscent of the WWII device which the badge design recalls, each unit includes a full QWERTZ keyboard (with labeled keys!) and RGB “lampboard” for individual character output, but unlike the original there’s also a curved 16 x 64 RGB LED display made from those beguiling little ~1mm x 1mm LEDs. All in, the device includes 1051 LEDs! Combined with the unusually non-rectilinear shape of the badge and the Enigma-style Saintcon logo it makes for an attractive, cohesive look.
Tech Specs
Fortunately for the chiropractic needs of the Saintcon attendees the badge creators opted not to make the chassis out of wood like the original. Instead it’s formed from the increasingly common “sandwich of PCBAs” method, and it’s quite a sandwich indeed! The upper PCBA is mostly dedicated to that delightful RGB display and its supporting hardware. At the top of the image you can see the Lattice ICE40HX1K FPGA and 12 shift registers needed to address the matrix. It looks like they decided that there wasn’t a suitable LED controller which would support so many channels and rolled their own. The FPGA speaks an SPI interface which was designed to be fairly similar to the one used by those big LED matrix panels which have become popular recently, and the system is constrained to updating the display at 30 FPS to avoid LED driver-related ghosting. Of course, you choose an ICE40 FPGA because of its excellent open source toolchain support, and during development Icestudio’s GUI based visual tools were a big help.
The lower PCBA holds the rest of the badge’s magic. The main CPU is a Cortex-M4 based STM32L433 in a 100 pin package. They had been contemplating a smaller part but the features kept creeping until they used every pin! Looking at the design, some of those pin assignments came from the keyboard which was individually connected instead of scanned in a matrix, but even so they did use a controller for the RGB LEDs on the lampboard. All in all the lower board may look more complex, but the more complex schematic is definitely the upper!
But what about those big connectors along the bottom of the badge? In addition to three rotors the original Enigma machine included a plugboard which would swap pairs of letters as the operator pressed them. Of course, in the name of accuracy, the Saintcon badge has a plugboard too! Thus the headers on the sides.
And the middle connector? It wouldn’t be a Saintcon badge without minibadges, so of course that’s for the minibadge adapter! Brian Benchoff may have been off flogging the standards committee to ratify the expanded SAO 1.69bis addon standard in 2019, but back in 2017 [wifiluke] designed the dual header form factor you see here. While an “SAO” only specified a connector, the minibadge standard specifies the entire minibadge, which makes it possible to design holders which display them more like scouting patches to commemorate awards or accomplishments. Different groups and events at Saintcon give out minibadges to display membership or show off achievement, so the badge needed a way to display them.
For a fairly exotic example of what a minibadge can become check out this one we covered recently from [hamster] which drives VFD tubes!
The Badge Challenge
As with many conferences, the Saintcon badge creators included a challenge which was designed to force conference-goers to interact. Everything from the software to the physical shape of the badge encourages this behavior. What do you do with a badge that’s a single tooth of a 26 tooth rotor? Connect it to 25 friends of course!
Each attendee got a set of operating instructions similar to those of a real Enigma machine, and a snippet of enciphered code (with German flavor text of course). By properly configuring their rotor tooth and connecting to other appropriately configured badges, challenge clues could be accessed on the massive 27,326 pixel, 16 x 1664 RGB display.
If you want to make one of these beasts yourself check out the Github repo linked at the top. It includes full hardware, software, and HDL sources for both PCBAs. If you’re thinking of hand assembly we might suggest trying a solder paste stencil; those minuscule LEDs are just begging to be soldered with one.
If (like us!) you enjoy some inside baseball, check out the full write up for details about BOM cost, scope creep, manufacturing, and all your favorite PCBA-related war stories. Overall it sounds like most of the problems were overcome to produce a badge only somewhat over budget, but fully functional for attendees! That sounds like success in our book. This post covered only a fraction of the detail [compukidmike] included in the original, so be sure to take a look at that for more detail.
If the spoken word is more your style, we embedded his badge talk below.
Too bad they completely and utterly f*cked out the sound on the video and a bunch others on the channel. Someone should study audio setup before releasing videos with such an atrocious soundtrack.
unpaid volunteers
QWERTZ keyboard? A holdover from the WW2 Nazi Enigma machines?
Yes, the badge is a full Enigna emulator, and has a matching keyboard layout.
Enigma, being a German machine, of course used the German keyboard layout. Even modern German keyboard layout is still QWERTZ.
Nice badge!
(tinge of jealousy)
it’s a beautiful badge
Shame you’re off by a few thousand lies.
WOW such a hot, mysterious take. Please be sure not to let me know how this unfolds
All this badge mania is surely unleashing creative designs but no one seems to raise hand on the environmental cost of producing these objects…
All entirely possible thanks to cheap China manufacturing, of course
Considering the cost, power, and ubiquity of modern phones and their ability to be used as badges, this seems like an exercise in making ornate and baroque buggy whips. Maybe next: steampunk badges, badges with talking fish, etc.
I understand that in the distant past there was a really brilliant low-cost badge design involving adhesive paper and permanent markers but it seems to be lost in obscurity.
Curious – are you typing this via morse code or having someone teletype it or transcribe it somehow? That device that you’re using is likely made from the same technology that you are poo poo-ing.
Let’s get this straight – these badges are made for enthusiasts that attend the conference, usually that number is quite low in comparison to the billions who have all sorts of other technology.
I’m an environmentalist, but your logic (or lack thereof) makes me think that you’d rather us be in the dark ages. Let’s all go back to cutting down trees and writing everything down, yeah!
So let me get this straight:
– virtually every object in our environment with the exception of the rocks and gravel in the driveway is sharing some sort of technology with the device I am using, so what is your point?
– People who think that this badge is overdone, they want to tear up the Magna Carta. They don’t want jury trials and they don’t want elections for their government officials. Do I have this right?
I really hate all this environmentalist hysteria. For anything nice somebody makes, some eco-freak has to whine. Yes, life has an influence on the environment and any life process needs energy and increases the entropy of the universe. Just take it, accept it.