Still working

A little sneak peek as to what is coming – I just completed the reflector (UKW-B) wheel. I have a bit of tuning I’d like to do so I’ll at least be reprinting the outer shell. Perry, you’re soon to get a sneak preview of font choices…

Practical Observations of 3D Printing a Mechanical Component

In the post following this one, I’ll start talking about the specifics I’m taking in modeling the initial part of the Enigma machine I’m pursuing: the three rotors.

Currently, I’m done (I think) modeling all the rotor components and am a little over halfway printing the parts out. The only things I’m really at a loss for how to deal with is the copper-alloy based electrical pads/springs/contacts, but I’ve decided to forgo the electrical components for now. Yes, someone will inevitably point to the few brands of electrically conductive PLA filament for 3D printers, but these are some tiny pieces. Which is a good segue into the topic of some of the intricacies I’ve learned about 3D printing from this project so far.

For those of you new to 3D printing, I should start with how it works. There’s a few techniques, but my 3D printer (and most commercially viable home-based printers) use a method called FDM, or fused deposition modeling. Basically, the printer builds the object you want to print layer-by-layer starting from the bottom. For most of what I’m printing, I’m doing it at 0.1mm per layer. So, the software takes the 3D model, and slices it up into a bunch of 0.1mm layers, and then tells the printer to squirt out the right amount of plastic while moving in the X/Y axis to finish that layer. I should add that the printer head is running at about 210 degrees Celsius for the type of material I’m printing. The printer Z-axis then lifts by 0.1mm, and it repeats the process building on the prior layer. From a practical perspective, this means that my X/Y axis tolerances are tighter than my Z-axis tolerances. Yes, I could go to a lower layer height, but that carries some issues. I’ve done some testing with some tolerance testing designs and have found that that I have X/Y slop slightly better than 0.2mm.

I had printed a few things at 0.05mm layer height before, and while the detail is beautiful, you start running into some issues. You see, when you’re printing thicker layers (say 0.2mm or 0.3mm), you’re squirting out a large amount of molten plastic that easily binds to the layer before. When going smaller and smaller, the ability of the plastic to adhere to the prior layer is diminished slightly. Also, you start running into the limits of what the machine can actually do — the nozzle I’m printing out of has a 0.4mm wide hole, so you’re asking the printer to just push less and less plastic through to get even smaller layer heights. I’m not sure what the technical term is for this, but it seems things start not working well when you go smaller and smaller. If I wanted, I could go to a finer nozzle width, but that means the printer has to make many more passes to get the same width of plastic out, which slows down print times quite drastically. If I were to estimate, at this point, for each rotor (and there are three), it’s probably taking about 18 hours of print time to do all the parts. Did I mention the rotors are some of the smallest parts of the printer?

The drawings that I mentioned before are beautifully dimensions, so when I initially modeled them in Fusion 360, I designed them to be exactly the measurements defined in the drawings. I noted that between pieces that were supposed to fit together there was 0 tolerance defined. I figured there would be issues, but I went with it and printed off some parts. Sure enough, they didn’t fit.. at all. Even in the X/Y axis where I’m closest to spec, I’m finding parts are generally printing 0.25mm too big. So, one of the things that I have to do with something like the rotor is adjust all the interference fit sizes for every part — and there’s a ton of them. So far, I’ve been adjusting everything to the maximum tolerance spec defined on the drawings and it’s worked out well for putting most parts together.

Other practical observations include that different brands of PLA behave quite differently. I had noticed this a bit before while printing a 3D model of a turbofan jet engine, but the tolerances on that model must have allowed for quite a bit more slop. For example, the low-priced Monoprice brand PLA I’ve used is failing terribly for this model – really poor layer adhesion at my layer height, and — even after calibrating the extruder steps — really inconsistent output. I’ve given up on the cheap Monoprice stuff and have switched to Matterhackers PLA and HT PLA, at a cost premium of 50%. It’s working great though; I could actually probably go to lower layer height to get a bit more detail out of it (at a cost of printing time) with the layer adhesion I’m getting out of it.

In fact, I need to re-test my X/Y tolerance because I printed the tolerance test with budget filament. Another item for the to-do list.

Enigma Measurements

One of the first things you need if you decide you want to 3D model anything is relatively accurate measurements. If you want to 3D model something with gears, interlocking parts, that functions – you need very specific measurements.

So a few years ago, when I started Enigma research, I found the site Enigma-Replica.com. They sell and document a few reproduced parts as well as document one owner’s restoration process. However, it turns out that if you’re restoring an Enigma, you don’t need measurements: you just need parts. I kept scouring for a while, and eventually ordered the “Expanded Education Package” from Enigma-Replica.com. I received a few spiral bound notebooks with a few printouts from a CAD package, but no dimensions. And as I started trying to model something like the rotor, I realized the dimensions provided by Enigma-Replica.com were woefully incomplete. Searching the internet more and more led me to one of my new axioms of Enigma research:

Finding Enigma material on the internet is like stepping back to Geocities webpages from the early 2000s.

So I sat stuck for a while. Meanwhile, I had seen a few Enigmas in museums. I wondered if I could get my hands on one.

Through a few weird quirks, it turns out that I have worked with and do work with a great deal of people that work at a DOD agency that happens to have a museum dedicated to cryptography. I asked if anyone that’s worked there in the past knows someone in the museum and was told that the museum folks are pretty rad, and I should just call and ask if I can come measure the Enigma. From the NSA’s exhibit listing for the Enigma:

This exhibit showcases possibly the most well-known of all cipher machines – German Enigma. It became the workhorse of the German military services, used to encrypt tens of thousands of tactical messages throughout World War II. The number of mathematical permutations for every keystroke is astronomical. Allied forces were able to read most of the Enigma encrypted messages throughout most of the war as a result of the tireless effort of many Allied cryptologists. It is an electromechanical machine that used a combination of wired rotors and plugs to change each letter as it is typed. Today, many historians believe that the Allies’ ability to read the Enigma-enciphered messages and act on that information shortened the war by as many as two years, saving thousands of Allied and Axis lives.

So, I sent the NSA a message on Facebook asking if:

  • The Enigma in the museum had been dimensioned and measured before; and
  • If so, could they share the measurements; and
  • If not, would they let me … come take it apart and measure it?

Yes, you read that right. I sent the NSA a message on Facebook. I’m certainly on some sort of list now.

Yeah, this was a pretty naïve thing to ask. For one, OF COURSE THEY WON’T LET ME TAKE APART AN ENIGMA. The second reason: while I do own a bunch of calipers, I had no idea at the time how many little parts are included nor do I know how to accurately dimensions and understand tolerances of parts. I guess I should have paid more attention during the Industrial Engineering and Engineering Graphics/Design courses I took in college.

The NSA guys were pretty awesome: they responded quickly, explained it hadn’t been dimensions and ignored the second half of my question. So, of course, I responded again and asked if I could fly out there and measure it. The answer, as one might expect, is .. again to remind me they don’t have blueprints and ignore my request. 🙂 However, this time they suggested I talk to the Enigma-Replica.com guys because their website says something about AutoCAD Drawings.

So, I hadn’t noticed AutoCAD Drawings mentioned before, and sure enough, there was a AutoCAD logo buried on an image on the website. I emailed Jim, the site owner of Enigma-Replica, and asked him if AutoCAD files were available, and that I was willing to pay for them if so. This conflicted me a bit — if someone provided AutoCAD files, I wouldn’t need to learn to model, but at least I could start printing parts of an Enigma machine! Jim responded within a couple of days saying that they don’t have AutoCAD files available, but why not just download the mechanical drawings from the Enigma Nachbauprojekt website. I hadn’t heard of this site, browsed over it rapidly, and found a PDF for the rotors, reflectors, and rack! HOLY CRAP! DRAWINGS! FREE! AND THEY ARE GLORIOUS. It looks as though these drawings were done by someone that’s well versed in mechanical engineering or industrial design, and I found this reference handy for deciphering the drawings.

As best as I can tell, this site was done by a team in Germany back in 2003 when they were creating an authentic replica of an Enigma. The measurements are amazing: properly toleranced, all the radiuses and chamfers defined, and properly laid out. There is absolutely no way I could have accomplished this myself given many days and all the calipers in my collection. This was an awesome resource that I hadn’t found. Why? Because in all my research for Enigma collateral, I was searching for things in English only. Turns out, there are several sites in German that document these things well. Hindsight is 20/20, no?

Why print an Enigma machine?

Why do I want to print an Enigma machine? I think some background on me is important here.

I’m not one of those people that can read a book and learn something useful. I have to be able to apply it. As most of you know, I work at Microsoft – and while I took some programming classes in college, I never really was able to pick up programming. I’ve tried a few times: grabbed a book one the programming language flavor of the month, try some code, and fail miserably. I’ve taken some interactive courses through places like Codecademy, which make you apply a project.. and it doesn’t stick. The example projects are abstract, irrelevant, and uninteresting to me. I don’t care to program a game of Battleship.

What I need is to build something that I’m interested in. It pulls me in, and I can then learn. Unfortunately, there’s no “How to Program an Enigma Machine in C#” book (if anyone reading wants to write that, it’d be great).

So, about two years ago, 3D Printers were becoming more reasonable for home use. I backed one that came up on Kickstarter for $200 thinking that it was a price I was willing to pay to experiment with 3D printing, and — like many Kickstarter efforts that greatly blow past their funding goals — it failed spectacularly. While I was one of the few backers to actually get a printer, the quality on it was pretty abysmal — but it did show me that 3D printing had some cool possibilities as soon as I printed a Brio track adapter for Oliver. I sold it on eBay for $50, and then ordered a Prusa i3 MK2S. Quite a bit more than I originally planned to spend, but I saw a future in it.

To justify my expense after-the-fact (yep), I needed a project. I’ve always been fascinated by the Enigma. A few years ago, I actually researched what it would take to buy one from a private owner — tens of thousands of dollars. They’re cool, but I just wouldn’t be able to justify that for obvious reasons. I searched online on Thingiverse and other sites, and found a few Enigma examples — but nothing that was accurate. Sure, I could have a 50% accurate model, but I wanted more.

I then made the decision that if I was going to learn how to 3D print, I might as well learn to do 3D modelling as well. This began my journey.

What’s On Your Wifi

One of my last posts was a 6 year ago review of what’s on my wifi. Back then there were apparently just 11 IP addressable things in our house. Today, there’s about 48. And that doesn’t include the home automation gear that doesn’t talk IP. How times change.

Hello blog, it’s been a while…

Well, hello there fine people of the internet.

It’s been a bit over 6 years since my last post; nearly 9 years since my last post that wasn’t really a situation update on the blog.

A few things have happened since then, mostly well discussed on Facebook or other media. Some highlights:

  • Generated offspring
  • Acquired a few vintage Volkswagens
  • Acquired many new hobbies: ham radio (w7pwn), 3D printing, skiing
  • Ditched some hobbies: photography, astronomy
  • Sold a house; bought a house
  • Travelled a bit (some fun, some work, some work that was fun)
  • Changed jobs a few times

But now I have a new project that will take a while to complete, and something that might be of remote interest to readers.

I’m making an Enigma machine.

For as long as I can remember, I’ve held a fascination with the Enigma machine. With the rise of 3D printing, I’ve realized I can have a full-size one in plastic.

Goals:

  • 3D model each component in Fusion 360 (this is probably the part where I disclose I don’t know anything about 3D modeling, so I’ll be learning as I go)
  • Print each part
  • Adjust the 3D model to deal with the tolerances my 3D Printer can do (Prusa i3 Mk2S)
  • Assemble It

Stretch goals (how corporate):

  • Get the electrical side of it working, which would require some customer copper pieces and finding some (likely) obscure electrical connectors
  • Build a wooden box matching with the original
  • Build the upper frame skins out of sheet metal
  • Get someone else to do the same thing so I theoretically could actually communicate with someone
  • USB HID Keyboard interface to it?

This is gonna be a long and slow ride. Just like everything else with this blog…

Tap tap tap… is this thing on?

Have to post now so I don’t have a one-year lapse on posts here.  Just have had nothing significant to post here since I got the old Twitter feed setup there on the right.

Is anyone actually reading this?

Observing Weekend

This weekend I was pleased to have been invited with a few other people to go spend a night at the Manastash Ridge Observatory in eastern Washington.  It’s about a 120 mile drive away from my house, and we headed out from the Seattle area around 11am on Saturday. 

After arriving, we were treated to a great view of the surrounding hills, excellent brats on the grill, cookies at 1am for stargazing, and a great game of cards.  Unfortunately, the weather didn’t completely cooperate: high winds (I guess there’s a reason the Wild Horse Wind Farm (pics) is just about 15 miles away) and about 30-40% upper level cloud coverage made viewing conditions less than optimal.

I did finally get a chance to play with some wide angle sky photography.  I’m so-so about the results, definitely need to do some more practicing with this stuff:

Cygnus and Lyra

More pictures available on my Flickr stream here.