3D printed Polish Enigma – January 2018 update.

January 23rd, 2018

A quick update. And another film as always.

That more or less sums up progress. These are the copper rivets I am using for the flat contacts. They are M2 by 8mm long. The heads are 4mm diameter. They were from AliExpress and a seller called Warm Textile Home.

IMG_20180123_194835 IMG_20180123_194825

The cable I am using is also from AliExpress and is actually  30AWG silicone insulated wire. Very thin and flexible. There isn’t much current involved in lighting up one bulb (only one at a time lights) so that gauge will work fine.

My 3D model is still being worked on and as I have remodelled a lot of the parts the only way to know it is correct is to turn all the parts into STLs and then reprint them all. I am not sure how many individual parts there are. Around 250 I guess? Reprinting everything will not only tell me the model is correct but it will let me work out the total printing time and amount of filament needed.

Progress is slow as I started a new job and that is taking a lot of my time now. I am also working on my car projects and teaching myself to TIG weld! Too many things to do, not enough hours in the day!

Posted in 3D printed ENIGMA machine | Top Of Page | Comments Off on 3D printed Polish Enigma – January 2018 update.

3D Printed Polish Enigma December 19th update.

December 19th, 2017

A quick update this time. And a new film. There has been a slowdown in progress. I am on holiday now, between jobs (start on the 10th Jan), so you think I would make more progress but several things have slowed me down.

  1. I have been working on other projects! Cars, other electronics and printing things, solving cryptograms, etc.
  2. Finding a new job (that’s complete!).
  3. My printer needed some fixing/tweaking.
  4. I ran out of black filament!
  5. I am redrawing all my 3D files in one new project and it’s taking some time.

The film explains a few of these. Below that are some pictures of the new oiler I have made.

One thing I forgot to mention about redoing my design as one Fusion 360 model using component is you can link components together to make the actually move. I haven’t played with it too much but it might be possible to actually animate the motion of the machine as keys are pressed. It is something I can look into once my model is complete.

The oiler is a piece of brass tube I machined on the lathe to have a 6mm thread at one end, to fit the feeder, and a 1/8th BSP thread on the other end to fit a hacked up quick fitting. The hacked 1/8th BSP quick fitting was cut up to just leave the brass body which I then tapped for 6mm so a metric fitting can screw into that. The 1/8 fitting makes a kind of cover for the brass tube.

Inside the brass goes a piece of foam such as that used in lawnmower air filters as it is meant to be soaked in oil.

I used a glass fuse and desoldered the metal caps from the ends. One end is plugged with a tiny piece of brass machined down to fit. That was glued in place with UV setting glue and then I used a piece of dual wall (glue lined) heatshrink over the outside to make sure it was all sealed up. A small piece of curved copper pipe joins that to the body of the oiler.

IMG_1047 IMG_1050 IMG_1051 IMG_1052

The whole thing screws to the top of the feeder. A few drops of oil can be put into the glass fuse body and they drip down into the brass body soaking the foam. Only a few drops are needed.


It works very well and avoids making the feeder gear and bearing all slippery.

Posted in Uncategorized | Top Of Page | Comments Off on 3D Printed Polish Enigma December 19th update.

3D printed Polish Enigma machine plug board wiring.

November 30th, 2017

Someone asked me to explain how I will use the sockets I bought to implement the plugboard on my Polish Enigma double. This film should explain. Sorry it gets blurry from time to time!

To understand how my plugs work you have to understand how the wiring of Enigma works. It’s really quite simple although the number of wires involved makes it look complicated!

To start with consider the three rotors and the reflector as a single thing, I call it a scrambler. That terminology comes from the Turing Welchman Bombe. I talk about that a lot here.

The scrambler can be thought of as having 26 contacts, one for each letter of the alphabet. If you put a voltage on one letter a voltage will come out on a different letter. Which one depends on the the reflector, the rotors, their order, their position, etc but the important thing is for a voltage in you will get a voltage out on a different contact. That was one of the quirks of the Enigma, a letter can never encode to itself. The reason is the reflector. Each pin on the reflector is paired to another pin, 26 letters means 13 pairs. And a letter can’t pair to itself.

The scrambler connects to the entry wheel inside the machine. The entry wheel has 26 contacts, A-Z. This was one thing the Polish worked out that the British did not. The entry wheel letters could have been wired up in any order which would have made it much more difficult for someone trying to reverse engineer a machine without actually having one to examine (and the Polish didn’t). The commercial machines used a different wiring (based on the German QWERTZ keyboard layout) and when the Wehrmacht took over the machine for some reason the order they used was alphabetical. Marian Rejewski figured this out and this was one of the important pieces of information the Polish mathematicians shared with the British from Bletchley Park.

The entry wheel connects to the plug board and the plug board has 26 in contacts and 26 out contacts. I call them in and out but really they go both directions. When no plugs are inserted the plugboard does nothing, the A in goes directly to the A out and then to the A on the entry wheel.

Each key in the keyboard has three contacts, a common, a NC (normally closed) and an NO (normally open). The common connects to the entry wheel (through the plug board). The NC contact connects to it’s corresponding lamp. The other side of the lamp goes to one side of the battery. The other side of the battery goes to the NO contact. Also note I don’t mention positive or negative with the power supply. Because it is all just simple switches and lamps the polarity doesn’t actually matter. The battery/power supply can go either way around. This is one advantage over using LEDs for the lights as LEDs, being light emitting diodes, only work one way around!

When a key is pressed it’s lamp is disconnected and the switch connects to the battery instead. This is another reason (or result rather) of one letter never encoding to itself. With one end of the lamp now disconnected it can’t light up. The voltage (current really but voltage is easier for non electrical people to understand) then goes to the entry wheel, via the plug board, through the scramblers and back out on another letter on the entry wheel. Then through the plugboard again to another switch which isn’t pressed. Since that switch isn’t pressed it goes to it’s matching lamp lighting it up.

The plug board simply swaps pairs of letters around, both on going into the entry wheel and coming out. I am a tester by profession so I think in terms of test cases and minimal ways to test things. This table shows the different types of cases possible.  Remember the scrambler can never turn a letter into itself.


Below are some pictures of the actual plugs and sockets I am using. They are stereo sockets but I am using mono plugs. It just means one set of contacts won’t be used.

IMG_1012 IMG_1013 IMG_1014

The sockets are switching contacts. With no plug inserted the little metal bridges short the two pins for each contact together. When the plug is inserted one set of pins is disconnected and the plug connected instead.

The two contacts on the plug are called the tip and the sleeve. Each cable for the plug board (there are 10 of them) has the tip on one end connected to the sleeve on the other and vice versa. That is how the letters get swapped. On the socket the switched tip and sleeve contacts will simply be wired together.

My diagram possibly makes it clearer.


Another good description of the Enigma wiring is shown here at www.cryptomuseum.com.

Posted in 3D printed ENIGMA machine | Top Of Page | Comments Off on 3D printed Polish Enigma machine plug board wiring.

3D printed Polish Enigma November 18th update.

November 18th, 2017

A new film I have made about the plug board is available here now:

The plug board was a simple thing to model and print although I did do a small trick with printing in two different filaments to make the letters on the plug board stand out a little more. I explain that in the film. I would have liked it to be a little more contrasty on the finished piece but white on silver will only give so much.

IMG_0989 IMG_0983 IMG_0982

I also printed a holder for the two spare rotors. On the Polish machine this fits where the battery would normally go on the German Enigmas.

IMG_0987 IMG_0988

I need to modify my temporary wooden base board so I can then test mount the plug board. I need to make 10 little aluminium standoffs to support it. I used a lot as the board itself needs to take the force of patch cables being plugged in and out. I will align all the socket nuts on the final one, mainly because I am a bit OCD like that!

I am unsure of the exact height that the panel needs to be. On all the pictures of the Polish machine I have it’s hard to actually tell so I am guessing somewhat here! Once that is done I can design and print the top panel which is the final 3D printed part to finish the machine I think. I imagine it is low enough down so that when in the box with the lid closed all the patch panels can fit in.

Below is the section of G-Code I edited to pause the printer. The pause command is a Repetier function as described here: https://www.repetier.com/documentation/repetier-host/gcode-editor/


The lines I added are highlighted. The G28 returns the printer to the home position. The @pause simply does what it says, paused the printing. The heaters and extruder stay on so you can manually extrude (and retract) filament. You have to be very careful where you put the command in. Note that it is directly before the next move commands. This is important because after you continue the print the printer needs to return to the correct position again.

This is the link to the lubricator I use on my printer: https://www.thingiverse.com/thing:492067

One thing people keep asking me (sorry if you asked and I haven’t replied directly) is will I make the files available when I am done. It is a good question and I haven’t decided yet. For one thing someone can’t just take the files and make their own machine easily. There are metal parts that need to be machined, various parts I have used that someone else might not be able to find (bulb holders, switches, pins, sockets, etc) so I would need to write up instructions on how to make the metal parts and also what other components I used so people have some chance of finding the right things. Writing detailed instructions be a lot of work. Given that not many people are likely to actually try making one I could just release the files I have as is/where is too.

The other thing is I have invested hours of work and a fair bit of cash into parts and filament so maybe those who are serious enough to really want to try to make one would be happy to send me a few bucks to help cover the costs (how, I don’t actually know). If I wanted to go even further than that it might even be worth my while to have all the parts professionally printed and sell them? Or maybe I could write up the instructions and make it into some kind of book (with files available as a download).  I am not looking to make huge amounts of money from this, it’s a hobby after all. But making enough to pay for parts and filament and provide funds for new projects such as upgrading or making a new printer might be nice. If I had thought about it early maybe I should have set up a Patreon type thing?

Like I say I really don’t know yet. I do know I won’t do anything until the machine is finished and hopefully working!

If anyone has ideas let me know.

Posted in 3D printed ENIGMA machine | Top Of Page | Comments Off on 3D printed Polish Enigma November 18th update.

3D printed Polish Enigma November 12th update.

November 12th, 2017

I made another small film.

Am slowly getting towards the end. The lamp board is done. I printed a sloping piece that bolts to the front of the lapboard. This is necessary to lift the lamp board up above the top of the keyboard.  On the back of the lamp board are two small tabs which the top cover will sit down on when it is designed and made. I also finally have proper return springs on the compensator bar as well by making small footings that the lamp board sits on. These footings lift up the lamp board a little to provide the step mentioned above as well as also providing the upper spring mounting point.

IMG_0968_1 IMG_0966_1

I made all the key top and now have the aluminium rod I need to make the key shafts.

IMG_0974 IMG_0971_1

I also tweaked the diameter of the little circlip like parts. The diameter of these was quite close to the diameter of the hole they fit into under the top of the keyboard. This mean that sometimes they would rub on the edge of the hole and make the motion of the key press a little sticky just as the key started to move. Reducing the diameter fixed this.

IMG_0975_1 IMG_0976_1

I also ordered connectors and wire. The connectors are DA-26s from RS. I got cheap ones since they won’t be continually connected and disconnected. They are ASSMANN brand!


My plan is to wire the different parts of the machine separately to make wiring, testing and assembly easier. There will be four main parts, the keyboard, the lamp board, the plug board and the entry wheel. These connectors will join each part. I also plan to make a small test box with LEDs on it. I will use that as a continuity tester to check the wiring of each part. I am going to use 30 AWG silicone covered wire for all the looms. Very thin but as only one lamp at a time is lit the current is very low.

I am currently printing a bracket that supports the two spare rotors as used in the Polish double. And I still need to design and print the plugboard as well as the top cover.

Next Page »