EDIT: This Instructable has won Second prize in the 2013 Radio Shack Microcontroller Contest. Thank You to all who voted!

EDIT2: An Open Enigma with fake Standup Nixie Tubes like the ones pictured in this Instructable is currently available as a Special Kickstarter Edition:

This is our very first Instructable and this step by step guide will show you how to build a fully functional electronic replica of the world famous German Enigma machine. This Arduino based Open Source project is able to encrypt & decrypt any Enigma M4 encoded message.

This first ever fully functional Open Source Enigma "exact " Replica was inspired by the Kid's Game to Arduino Enigma Machine by sketchsk3tch.

Using Charlie-plexing Multiplexing for the LEDs, this circuit with 115 light emitting diodes uses only 38 pins and the 36 push buttons use only 4 pins total thanks to properly placed resistors (and the P-Channel MOSFETs) in the keyboard loop. These 4 16-Segment displays & an LED for each keyboard button would add up quickly the total number of pins required and even the Arduino Mega would have ran out of pins without the 2 methods mentioned above....

In response to the overwhelming demand, we designed the PCB and made it available through www.stgeotronics.com. Skip to Step 10 & beyond for more info. We also offer it as a complete electronics kit & an assembled & tested complete product.

Step 1: Proof of concept on Breadboard

Before going all out on the development of this electronic Enigma replica, we wanted to make sure we could properly drive the 16 Segment LEDs. If we can do that, than we will be able to do everything as the rest is only Math...
Boards are tested, working great and available now for shipping. Kits &amp; assembled/tested/boxed Enigma Replicas are also available. www.stgeotronics.com to order. <br>
This is amazing! <br> <br>You deserve a reward!
If you don't mind me asking, how much did all of this cost you?
Thank You DIY9393 for the kind words.<br>I guess we should have mentioned the hardware costs in the instructable. All in all, we spent less than $200 in materials. But QUITE a few hours...
No problem! <br> <br>Thanks for the info!
The PCB drawing phase is completed. We have ordered them from the Fab &amp; are anxiously awaiting their arrival so we can populate &amp; test 1 set ensuring that everything works fine. As soon as this crucial step is completed, they will be available for ordering/shipping. <br> <br>NOTE: There was NOT enough space on the Enigma PCB to have all necessary components AND connect to the Arduino Mega2560, so we had to create a daughter card for the Mosfets &amp; to receive the Duino. This daughter card will be sandwiched between the motherboard &amp; the Mega2560. <br>
We just posted the second and last Circuit Schematic (for the lampfield and keyboard) at the end of the instructable. <br> <br>We will start soon working on the PCB design, so stay tuned. Don't forget to vote, every vote counts. Thank You!
Thank you!!
reflector wheel=b <br>wheel order 1,2,3ring setting A,A,A <br>ground setting RAF <br>HLCI LVSV GXOH YCIE GIYW UQLO JWHT LETL S
In response to the popular demand, we just added the first of 2 Circuit Schematic at the end of the Instructable. You can now find how each of the 4 16-Segment Displays are wired. Stay tuned: We are currently working on the 2nd Circuit Schematic, which will show the rest of the Perfboard wiring: how the 26 keyboard buttons, the 10 function keys, the 26 keyboard lamps &amp; the 5 LEDs are all hooked up. After that, we will design &amp; post the PCB file. <br> <br>Thank You for the overwhelming positive feedback &amp; don't forget to vote for this Instructable in both contests if you enjoyed it. <br> <br>
I just can't wait for the PCB!! Astounding. You deserve a Bletchley Park Medal.
I am really deeply impressed!! <br>Take a bow <br> <br>Yours Aeon Junophor
Most intriguing instructable I've seen. Must be a record for lines of code in an instructable. Your patience in the wiring is commendable. I would be interested in the PCB you mentioned. Thanks for posting.
<p>Here cheapest replica:</p><p><a href="https://sites.google.com/site/enigmuino/home" rel="nofollow">https://sites.google.com/site/enigmuino/home</a></p>
<p>I was wondering about the plugboard. If i haven't got that wrong, it isn't really connected, it's only for imitation proupose, isn't it? All the plugboard thing is handed by the programm?</p>
<p>Originally, and as described in this Instructable, you are correct, the plugboard was only for show as it was implemented in software only. However, we have since modified the daughter PCB to receive a fully functional plugboard. This 3 PCB combo is now available as circuits boards only, kit, and fully assembled unit at <a href="http://www.stgeotronics.com" rel="nofollow"> www.stgeotronics.com</a></p>
<p>Schematics for the plugboard would be excellent. Any plans to release?</p>
<p>I was wondering, though, will you ever give us the schematics for the project with the fully functional plugboard?? I'm relatively new to electronics so figure out a solution to implement the plugboard is quite a difficult task :(</p>
<p>That's really amazing, but just for the sake of the challenge, i wanna build it on perfboard, but i still love the fact that you make available the pcb as well as the project schematics! Keep up the awsome work</p>
<p>Wow, this is amazing and an epic code... good work. </p><p>I was wondering if you able to provide a schematics for the project with a fully functional plugboard. i would like to know how the plug board is wired and how it fits into the Arduino or daughter board?</p><p>Regards</p>
I am currently building this, but can you tell me which switch on the board is switch 0, switch 1 etc. Is it like the attached image with mode button as sw0? I dont want to wire it up wrong. Excuse the crude editing, it was done using android!<br><br>Thanks, David
<p>What exactly are the &quot;Alpha buttons&quot; and where can I find them?</p><p>Are LEDs attached to them to light up the correct letter, or how does it work?</p>
DavidO2, for the first unit we ever made described in this instructable, (and the next couple), we used normally open buttons containing a blue led with a cap with a character of the alphabet. We found these on ebay but seem to no longer be available. These were a pain to install and solder, not to mention very expensive.<br><br>Since then (and for every machine sold in our kickstarter), we simply used surface mount white LEDs and added a printed sheet on top that contains every key in sequence of the keyboard. This provides more light and looks a lot more like a real Enigma...<br><br>Visit www.stgeotronics.com for components, kits and assembled/tested units...
<p>What kind of buttons did you use? I'm trying to make one... :) This is a really great looking replica by the way</p>
Razapple12, Like most everything else, we found them on eBay:<br><br>Search for something like: &quot;Momentary Tactile Push Button Switch 12x12x11mm DIP + Black Round Cap&quot;<br><br>This is an example:<br><br>http://www.ebay.com/itm/20pcs-Momentary-Tact-Tactile-Push-Button-Switch-12x12x11mm-DIP-Black-Round-Cap-/310569400583?pt=LH_DefaultDomain_0&amp;hash=item484f60f907<br><br>
Where did you buy your buttons?
<p>Razapple12, Like most everything else, we found them on eBay:</p><p>Search for something like: &quot;Momentary Tact Tactile Push Button Switch 12x12x11mm DIP + Black Round Cap&quot;</p><p>This is an example:</p><p><a href="http://www.ebay.com/itm/20pcs-Momentary-Tact-Tactile-Push-Button-Switch-12x12x11mm-DIP-Black-Round-Cap/310569400583?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222003%26algo%3DSIC.FIT%26ao%3D1%26asc%3D20131003132420%26meid%3D6735924921448777204%26pid%3D100005%26prg%3D20131003132420%26rk%3D1%26rkt%3D6%26sd%3D271418608767&rt=nc" rel="nofollow">http://www.ebay.com/itm/20pcs-Momentary-Tact-Tacti...</a></p>
<p>This is great, but it always astonishes me greatly when folks embed a prototyping board in a custom printed circuit board design. If you're going to all the trouble to design a custom printed circuit board, then why not just embed the ATMega chip directly into your design? It just can't help but be cheaper, lighter and smaller that way.</p>
<p>How does the arduino measure the resistance if there is no current traveling through the resistor and pushbutton setup? Shouldn't there be a ground somewhere?</p>
I guess i can peak at the code but how did you translate the 7 segment digit dispays to nixie ?
QBrown2, we didn't:<br><br>The 7 Segment displays are actually 16-Segment displays (17 if you count the decimal point) and we are using these as opposed to 7 Segment so we can have a nice Alphabet.<br><br>We decided to wire them standing up &amp; encapsulate them inside a test tube to give it somewhat the look of period accurate Nixie Tubes.<br><br>So, no Nixies were used in this project...<br>P.S. the printed circuit board we made allows for 16-Segments LEDs to be horizontal or vertical, but still has not been designed with Nixies in mind...<br>
<strong>PLEASE DONATE OR INVEST TO FINANCE MY SECURITY START-UP</strong> <p> <strong>Printing service , hamradios, emitters, <a href="http://en.wikipedia.org/wiki/Personal_computer" rel="nofollow" title="Personal computer">PC</a> , firearms, Office, Vehicule&nbsp; and <a href="http://www.hulu.com/the-office" rel="nofollow" title="The Office">MONEY</a>&nbsp;&nbsp; welcome </strong></p> <div> <strong>Benjamin SIMON</strong> <strong>ruelle burton 27</strong> <strong>5340 Gesves Belgique, </strong><strong>Corbion 46B 5590 Ciney Belgium</strong></div> <p> <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RXEZYHMESE6QL" rel="nofollow"></a></p> <strong>BANK IBAN=BE32631112487302 <strong>BBRUBEBB=BIC-SWIFT</strong><br> OR IBAN BE42363010991554 (</strong><strong>BBRUBEBB = BIC-SWIFT ING BANK)</strong> <div> <a href="https://www.facebook.com/notes/benjamin-simon/my-state-of-war/10201468152173563" rel="nofollow"></a> <p> benjamin Simon</p> </div> <p> <strong>Their&nbsp;<a href="http://en.wikipedia.org/wiki/Signals_intelligence" rel="nofollow" title="Signals intelligence">SIGINT</a>&nbsp;in the low frequencies is infused throughout the network and also outside. Everything going on the same <a href="http://en.wikipedia.org/wiki/Frequency" rel="nofollow" title="Frequency">frequency</a>&nbsp; and is Like this, they pierce networks, draw a map and geo-referencing relative at the place where the <a href="http://en.wikipedia.org/wiki/Crime" rel="nofollow" title="Crime">criminals</a> and controls. (I think bastards are emitting the entire subvocal band)</strong></p> <p> <strong>The effects are devastating and overall distruptifs</strong></p> <p> So far local cops put me in a miserable situation protecting criminals, hidding proofs, participating in crimes (<a href="http://en.wikipedia.org/wiki/False_flag" rel="nofollow" title="False flag">false flag operations</a>).</p> <p> All my things were destroyed and perpetrators are destroying my family, I have no more money</p> <p> I gave the assassins almost two years to the cops of&nbsp;<a href="http://maps.google.com/maps?ll=50.3,5.1&spn=0.1,0.1&q=50.3,5.1%20%28Ciney%29&t=h" rel="nofollow" title="Ciney">Ciney</a>&nbsp;who blocked me. My means of communication are always taken. The evidence was not take in account and others are hidden. Damages are irreversibles with worldwide impacts because criminals are using WebOps and track profiles and websites of self-defensers exposing this hightly virulent, free, and deadly crime.</p> <p> <a href="http://gangstalkingbelgium.files.wordpress.com/2013/09/ces-jeunes-devenus-criminels-belgique2.jpg" rel="nofollow"></a></p> <p> Stalkers target me 24/7 with&nbsp;<a href="http://en.wikipedia.org/wiki/Directed-energy_weapon" rel="nofollow" title="Directed-energy weapon">directed energy weapons</a>&nbsp;and make an ordurious game of harassment in the subvocal band under the form o a triangle relay. (maybe the hidden devil scripts &ndash; cfr M.Rich)</p> <p> They speak permanently (with data minored patterns on a subvocal soundwave locked on my body or near me). They target also with&nbsp; other weapons (low frequencies pulsed/scalar waves) who make serious body pains (genitals, head, foots, theets,&hellip;).</p> <p> My&nbsp; electronics devices, electric tools, electric installations, car are systematicly targeted and saboted. My web is saboted, communications filtered and hacked since four years.</p> <p> We are lots of victims aware, and certainly more unaware targeted by&nbsp; murderers. Local cops cover the crime and&nbsp; therefore hinders an encounter between victims and between victims and potential helpers</p> <p> <strong>Could you encourage <a href="http://maps.google.com/maps?ll=50.85,4.35&spn=10.0,10.0&q=50.85,4.35%20%28Belgium%29&t=h" rel="nofollow" title="Belgium">Belgium</a> to give me the means for the emergencie. A few help/money/recommendations will be use to destruct this &ldquo;stay behind an intelligence-device and computers network&rdquo;&nbsp;</strong></p> <p> Please help me to find contacts with poeple aware/ accepting to be. With journalists or reporters interested by the publication of an ordurious&nbsp;<a href="http://en.wikipedia.org/wiki/ECHELON" rel="nofollow" title="ECHELON">ECHELON</a>. (I have the intellectual means to take frequencies of criminals and also a team if a ground operation is needed)</p> <p> <strong>I Need a good RADIO</strong>&nbsp;<strong>- SCANNER</strong></p> <p> Sincerely,</p> <p> <strong>Benjamin Simon</strong> <strong>Corbion 46B 5590 CINEY BELGIUM</strong> <strong> bensimcorbion@gmail.com</strong></p> <p> <a href="http://www.linkedin.com/pub/simon-benjamin/50/337/5a1" rel="nofollow">http://www.linkedin.com/pub/simon-benjamin/50/337/5a1</a></p> <p> <strong><a href="http://fr.gravatar.com/bensim23" rel="nofollow" title="CHAUFFAGE- INDUSTRIEL BENJAMIN SIMON">http://fr.gravatar.com/bensim23</a> </strong></p> <p> <strong>Benjamin Simon</strong></p> <p> <strong>Dilplome</strong> Gradu&eacute; :<a href="http://www.provincedeliege.be/art692#environnement" rel="nofollow">&nbsp;Eaux et For&ecirc;ts et Environnement</a>&nbsp;La Reid (2000) Avec Distinction M&eacute;moire avec Grande Distinction (Ecologie)</p> <p> <strong>Employeurs</strong> <a href="http://www.aves.be/" rel="nofollow" title="AVES ORNITHOLOGIE BELGIQUE">AVES</a>,<a href="http://www.maisondelenvironnement.be/spip/" rel="nofollow" title="MLE MAISON LIEGEOISE DE L ENVIRONNEMENT">&nbsp;Maison Li&eacute;geoise de l&rsquo;Environnement</a>&nbsp;(J-P. Jacob, T. Kinet) <a href="http://www.uclouvain.be/agro.html" rel="nofollow" title=" Facult&eacute; d'ing&eacute;nierie biologique, agronomique et environnementale">UCL, Unit&eacute; des Eaux et For&ecirc;ts</a>&nbsp;(F. Devillers, C. Vinck, L. Misson) <a href="http://www.uclouvain.be/agro.html" rel="nofollow" title=" BIENVENUE A LA FACULTE DES BIOINGENIEURS ">UCL, Gestion des Ressources en Eaux</a>&nbsp;(E. Persoons, M. Vanclooster, C. Bielders, M. Javaux, B Delvaux) INDEPENDANT,<a href="http://www.chauffage-industriel.be/" rel="nofollow" title="CHAUFFAGE- INDUSTRIEL BENJAMIN SIMON">&nbsp;chauffage industriel</a>, &eacute;nergies renouvelables (100 % statisfaction clientelle) AUTO-DIDACTISME permanent. (langues, techniques, th&eacute;orie)</p> <div> <p> <strong>ACTIVITEES AUXQUELLES JE SUIS FORME OFFICIELLEMENT</strong><br> <strong>OFFICIAL PROFESSIONAL COMPETENCIES</strong></p> <p> Nederlands</p> <p> <a href="http://kbopub.economie.fgov.be/kbopub/toonvestigingps.html?lang=nl&ondernemingsnummer=880362991" rel="nofollow">http://kbopub.economie.fgov.be/kbopub/toonvestigingps.html?lang=nl&amp;ondernemingsnummer=880362991</a></p> <p> Francais</p> <p> <a href="http://www.scribd.com/doc/171796305/Kbopub-Economie-Fgov-Be-Benjamin-Simon-Nacebel-Code-Autorisations-Selfworker" rel="nofollow" title="[Benjamin-Simon-Nacebel-Code-Autorisations]">NACEBEL AUTORISATION BENJAMIN SIMON FRENCH</a></p> </div>
HURRAY! HURRAY! <br>Thanksgiving Holiday brought us our Prototype boards. We are now busy populating &amp; testing one to make sure it works as great as the proof of concept does. We are now accepting orders at www.stgeotronics.com &amp; expect very soon to start shipping. We added Step 10 to this Instructable to show pictures &amp; more details. <br> <br>
We are finished drawing the motherboard PCB (top), and have started drawing the daughter car (interface between top PCB &amp; Arduino). Daughter card is required cause we can't fit all components on motherboard. As soon as daughter board is complete and we verify they fit together in Enigma machine, we will send them for production. We expect both boards in our hands sometime in December. <br>
Thank you. Will you upload the PCB design file?
Yes englishfire, we will upload both PCB design files (Motherboard &amp; Daughter Card) once they are both complete &amp; tested. We are aiming for sometime in December. <br>
Any news about the PCB?
stringstretcher: Reflector wheel= C Wheel order = 3,2,1 ring setting A,A,A Ground setting = USA IYRF TTQP DUPA AIMC DBTG YTNF<br><br><br>
It would be interesting to use Wamco KW-105AL numitrons. They operate at 5 Volt and are alphanumeric.
Love Enigma. Love Arduino. Love LEDs. Love Nixie-tubes. Gotta love LEDs pretending to be Nixie-tubes. Love this project! :-) <br> <br>Would love to see the rest of the circuit - can you explain the charlieplexing and the analog keyboard?
NoseyNick, the full circuit schematic is now posted in the instructable. <br> <br>We need to make a correction, as &quot;JuMP&quot; pointed out about the Hackaday article on our Enigma (http://hackaday.com/2013/10/07/arduino-based-enigma-replica-is-fully-functional/), for this project, we are not Charlie-Plexing, we are simply Multiplexing. <br> <br>Multiplex is just a little simpler to code as we only deal with two states of logic: high or low. It also lets us drive the common anodes easily with a p channel mosfet. This allows more current so a brighter display while observing the rated maximum current limitations of the atmega 2560. <br>To truly &ldquo;charlieplex&rdquo; requires three state logic: high, low, and open. To achieve the open, the pin mode needs to be changed from output to input thus releasing the 2560&prime;s internal pull up and pull down circuits. True charlieplexing would have saved us 7 pins however we did not feel that it was appropriate to sink the anodes of up to 17 LEDs to only one IO pin. <br> <br>The Analog keyboard refers to all 26 keyboard buttons plus 10 function keys only using 4 analog pins: All 10 functions keys are daisy-chained to Analog 0 with a 1Kohm resistor between each button. Same thing with the first row of 9 keyboard buttons being separated by 1KOhn resistor and daisy-chained to Analog 1. And so on for middle &amp; bottom rows of keyboard... <br> <br>Then, all we do to know which key has been pressed is read the resistor value at the Analog Pin. Since each button needs to go through a different qty of resistors before it hits the Analog pin, you end up with a different value that is consistent for each key. Very reliable, simple design... We possibly could put even more keys one 1 analog pin, but figured that 1 row per pin was good enough... <br> <br>
Neat idea, thanks for sharing. So, I enter a letter at a time and it is encrypted and shown on the display. Correct? <br>Does your version have the capability to enter a string of characters, encrypt each character, then cat the encrypted characters into a string and either save it in a file or send it out the serial line?
Three_Jeeps, thank you for the feedback. <br>Not correct on the process: Just like the real Enigma, for each key you press on the keyboard, a encrypted letter gets lit on the lamp field right after the 16-segment display shows you the new &quot;rotor&quot; position. <br> <br>The existing code in this Replica was written to emulate as close as possible the operation of a real Enigma. Your suggestion is currently accomplished by many simulators and would be relatively easy to implement on this Arduino, but we have not written that, ...yet. <br> <br>
Cant wait to See the wiring schematic! Great Job!!!
Wow! ... just WOW!
I don't see the clear domes listed, where/what did they come from?
You're right, my bad... I forgot to list them.<br>They are 2 Liter soda bottle injection molded preform tubes cut to the desired length.<br><br><br>

About This Instructable


542 favorites


Bio: We love to tinker. There is nothing that we can't do if it involves Arduino. Challenge us: Do you have an idea for something ... More »
More by ST-Geotronics: The Twins Electronic Game GPS Data Logger Make it Blow!
Add instructable to: