Alan Turing and the codebreakers of Bletchley Park invented modern crypto and computers in the course of breaking Enigma ciphers, the codes that Axis powers created with repurposed Enigma Machines — sophisticated (for the day) encryption tools invented for the banking industry — to keep the Allies from listening in on their communications.
Though the Enigma Machines were elegant devices that combined mathematics with engineering, they're pretty simple to simulate with modern computers. Simon Jansen traveled to Bletchley from New Zealand and was so taken with the Enigma (and so cheesed off about their inaccurate depiction in The Imitation Game) that he decided to make his own, in wrist-mounted Arduino form.
Like all good makers, Jansen's documented his (astounding) build with detailed notes so you can make your own (his isn't for sale unless you want to give him $10K, half of which he'd donate to Bletchley and the other half he'd spend on a trip back!).
A key press on any key takes you to the Walzenlage, or rotor setting, screen. Here you can view the current setting or change the settings. It was hard to find suitable German words for the menus. I used Beibehalten, meaning ‘Maintain’ and Ändern meaning ‘Change’. I had to think of words that would have made sense in WW2 so things like ‘Save’ and ‘Edit’ might not have made sense as these seem more modern UI terms.
The first screen you see is the rotor selection screen. You can edit the selection and choose each wheel from left to right. The selection list gets smaller as each wheel is selected of course.Next is the Ringstellung, or ring settings screen. Again we can edit and choose each wheels ring setting.
Next we go onto the Steckerverbindungen, or plug board settings, screen. This was the trickiest part of the UI to get working with only three keys. The way it works is this. The left and right buttons increment the left and right columns. You select the pairs of letters you with to plug together (called steckering). The UI will tell you how many current pairs you have. If you reconnect a letter that is already in a pair it will break the previous connections and make a new one so the total number of pairings won’t increase. If you stecker a letter to itself it will break any previous connections to either of those letters. If you are reading from the daily key sheets you simply enter the ten pairings indicated. If you want to enter less there is is blank letter setting. If you select this the plugboard editing will end and show you the list of current connections. Clearing connections is as simple as connecting a letter to itself (called self-steckered in Enigma talk).
A three rotor Enigma machine wrist watch.
[Simon Jansen/Asciimation]