Turing-Welchman Bombe completed.

October 4th, 2015

Well, it’s finally complete!

IMG_4495_1

Probably what most people want to see is the Bombe in action so here we go.

For those who haven’t been following the whole project basically I reverse engineered then build my own desktop version of the Bletchley Park Bombe, the machine the British used to help solve the Enigma code during WW2.

Thanks again to John Harper, who lead the BP Bombe rebuild team and who answered some questions for me, James Grime, mathematician and Enigma Expert, Magnus Ekhall who was one of people behind the online Bombe simulator, Frank Carter, who wrote the BP Report 4 booklet, and Bletchley Park themselves who managed to find and send me a copy of the aforementioned report that is out of stock! Also the late Tony Sale who made available on his web site the US 6812th Division 1944 Bombe Report.

I started by making my own Enigma machine wristwatch because to understand the Bombe works you have to fully understand how Enigma works and how it was used operationally.

IMG_3636

You can read about that here.

My Turing-Welchman Bombe machine makes use of some software I wrote in C++ running on a Raspberry Pi 2. I figured out for myself how the Bombe worked then wrote my own software version, initially in BASIC of all things to run on my homemade 6502 computer Orwell. With the general algorithm worked out I ported it to C++.

The Raspberry Pi 2 connects to an Arduino which then drives three stepper motors, via driver boards, to turn the three indicator drums on the front of the machine. These drums mimic the three indicators on the real Bombe. The Arduino reports back the position of the drums to the Pi as a series of pulses then the Pi can tell the drums when to stop. An LCD screen on the side of the machine mimics the original Bombe mechanical indicator unit as well as providing a basic user interface. Start and Stop button are provided on the front of the machine as on the real Bombe.

The machine runs in real time (although the next stop is pre-calculated) so a Bombe run should take the same amount of time as a real Bombe run at Bletchley Park.

The casing is steel tube brazed together and the panels are 0.8mm sheet steel finished in wrinkle black paint. All the wiring is cable laced together into bundles. The drums are 3/4 scale replicas I made at home from old sweet tins! All the parts for the hubs and drums are hand made with a small lathe and simple hand tools. The drum faces use dry transfer lettering (which is getting hard to find these days – mine came from a model railway shop)! The machine is totally self contained with it’s own power supply (a 12 volt SLA battery) so is portable, although it does weight 10kg.

Menus are loaded onto a USB thumb drive inserted into the back of the machine. I mainly run the same menu as used at BP but it does run other menus such as the test menus in the US Army report. I haven’t been able to get all of them to run though but then I can’t get them all to run on the online simulator either.

All the details of the build, software and so on are in previous posts but are some pictures of the finished thing.

General views:

IMG_4549  IMG_4536_1 IMG_4520_1 IMG_4511_1

Internal details:

IMG_4525_1 IMG_4526_1 IMG_4527_1

IMG_4529_1 IMG_4530_1 IMG_4524_1

Drums:

IMG_4545_1 IMG_4547_1 IMG_4541_1

IMG_4543_1 IMG_4513_1 IMG_4514

Indicator unit:

IMG_4518_1 IMG_4531_1 IMG_4539_1

More details:

IMG_4526_1 IMG_4515_1 IMG_4517_1

I will make the code available to anyone who wants it but it’s not really much use to anyone without the actual unit. If you want to see it to see how my Bombe algorithm works though it’s not too hard to pick out the core functionality. You have to have a VERY good understanding of the Bombe and what it is doing to really understand how it works although the code itself isn’t hard to follow. If you want to see it just ask me. If there is enough interest I can package up the C++ code and the Arduino code (for driving the steppers) and post them here.

Below is an example of how my menu files look:

* This menu is used to demonstrate the recreated Bombe at Bletchley Park.
* This will generate two stops:
* DKX:Q (correct stop)
* FAN:K
*
Rotors: 2, 5, 3
Reflector: B
Test register: G
Input voltage: A
Drums: ZZK, ZZE, ZZF, ZZN, ZZM, ZZG, ZZP, ZZB, ZZJ, ZZI, ZZL, ZZO, ZZA
Connections:
U: 1i
E: 1o, 2i, 7o, 8in
G: 2o, 3i, 11o, 12i
R: 3o, 4i, 10o, 11i 
A: 4o, 5i
S: 5o, 6i, 13o
V: 6o, 7i
N: 8o
H: 9i 
Z: 9o, 10i 
L: 12o
W: 13i

17 Responses to “Turing-Welchman Bombe completed.”

  1. Austin 7 Special » Blog Archives » Chummy back on the road. Says:

    […] People probably wonder why these things take me so long. It’s because I have too many other hobbies so I chop and change what I do. I also do things like this: http://www.asciimation.co.nz/bb/2015/10/04/bombe-completed […]

  2. James Grime Says:

    I love it! Fantastic work and well done!

    James

  3. Wes Zuber Says:

    Incredible work, such meticulous detail. A work of art.

  4. Gilbert Says:

    Beautiful. The craftwork in itself is amazing.

  5. spongman Says:

    oh, that’s a nice bom… wait, TARDIS IN THE BACKGROUND!!!

  6. Jag Says:

    Such a piece of art. It should be exposed in a museum !!!

  7. sendai Says:

    Well done, the finish is perfect!
    I dare you to take this on a flight haha 🙂

  8. Forrest Erickson Says:

    Can you point us to instructions on doing the wire dress?

  9. MIke Says:

    This is seriously one of the coolest things I’ve seen in a VERY long time. Well done!

  10. Chad Says:

    lol, yes take it on a flight. its not what it looks like… its a bombe.

  11. beezlebub Says:

    Where did you get the table in the video? I have been looking for something like that for my living room for my fossil collection.

  12. Simon Says:

    I had to make the table myself. It’s for a model railway eventually. http://www.asciimation.co.nz/bb/category/model-railway-dining-table

  13. Simon Says:

    Sure, I started with this film on YouTube: https://www.youtube.com/watch?v=CERS4TT4uZY

    And also this page: http://www.dairiki.org/hammond/cable-lacing-howto/

    Getting the right cord was tricky in NZ. Apparently it is available overseas but I ended up using waxed string from a place that sells supplies for people making their own jewellery.

  14. beezlebub Says:

    Thanks for the links in the table; very nice work. Maybe when I get organized (ha!) I’ll do something similar. Also, nice work on the bombe.

  15. Simon Says:

    I spent a long time looking for an old style table I could modify. I was thinking an old kitchen table with drawers in it. In the end it was easier to make the table from scratch by pulling apart and old one to get the legs to reuse. The most expensive part was the glass. It’s 8mm toughened.

  16. Arduino Enigma Says:

    Fantastic project. Now the circle is complete. You can encode messages and try to break them as well. Impressed.

  17. Asciimation » Blog Archives » Wellington. Says:

    […] just finished my Turing Welchman Bombe project and ended up sending a link of it to Richard Taylor at Weta. He’d previously seen […]