Turing Machine A Masterpiece Of Craftsmanship

Everything about this Turing machine is absolutely brilliant. A Turing machine uses a strip of material to record, calculate, and change data. [Mike Davey] built this one using servo motors, a Parallax Propeller, felt-tipped pen, and 1000 feet of film leader. The machine writes characters to the leader, reads them using a grayscale camera, and erases them with a rotating felt cylinder.

Watch the video after the break, it covers every one of the intricate details that add up to [Mike’s] perfect build. We loved his Nickel-O-Matic but he really outdid himself with this one. With our mouths still agape we’re going back for our fifth viewing.


[Thanks SheeEttin via Slashdot]

33 thoughts on “Turing Machine A Masterpiece Of Craftsmanship

  1. Brilliant, after the slightly disappointing ‘hacks’ a bit previously, the last ones completely make up for them!

    I love the nickel-o-matic too that I seem to have missed before :(

    Something for me to aspire to!


  2. Absolutely incredible craftsmanship on this. Perhaps the most impressive part is just how professional and complete the build is, to say nothing of the actual concepts it operates on.

    This is seriously something I could see sitting on display in a museum somewhere, running through operations all day.

  3. Unfortunately this is not actually a Turing machine, based on my understanding. It’s just a binary display. A Turing machine’s tape contains characters that are instructions to perform various operations like incrementing and moving the tape.

  4. Nah, it’s a Turing machine but that’s not why. I was remembering Brainf*ck which is supposed to be Turing-complete, but the program you write is actually the action table and the tape is where data is stored. It doesn’t have to be ones and zeroes on the tape but it’s just where the data is stored and retrieved, it doesn’t contain the program.

  5. It’s a Turing Machine (TM) viz it has a Finite State Machine (FSM) that can make transitions based on the bit it reads off the tape, and based on the state it can move the tape a unit left or right and mark the tape with a new bit.

    The FSM in this case is implemented as a microcontroller in this case, but it could have been done with brass gears. The important point about TMs is that you can set up the FSM in such a way that it can read a description of any TM from the tape and implement that other FSM’s transitions, reading, writing, and tape moving. (i.e. you give Turing Machine A a tape where the first 1000 cells are marked with a description of Turing Machine B, and let it run, you will end up with a tape where cells 1001…infinity are the same as you would have gotten in cells 1..infinity if you had implemented TM B directly. If you are a purist you can make it slide the contents of the tape down to overwrite the TMB description to get exactly the same tape as TMB would have produced.)

    The fact that a TM can be set up to take as input a tape with a description of ANY possible TM, and then act as if it were that TM, makes it a Universal Turing Machine (UTM). Designing the transition table for the FSM to implement a UTM on this machine is an exercise for the reader, but it is not ridiculously hard. (It’s the equivalent of writing a language interpreter instead of a compiler.)

    Once you have a UTM you can hoopsnake it by giving it a tape with its own description on it. The interpreted UTM can then emulate a third TM, which can also be a description of itself and so on. It’s not very computationally efficient, but it works if you are patient.

  6. This is an absolutely awesome piece of work. I also like his answer to the question “Why didn’t you use an Arduino?”: “I just didn’t want to upset the people that read Hack A Day.”

  7. Although almost all digital computers are technically Turing Complete, this one is nothing short of a piece of artwork. The fact that he actually took the Turing example and made a computer out of it is nice. The quality of the build makes it the artwork. I am sure that Turing is smiling with teary eyes at this example in digital heaven.

    There is no need to explain why here. Why is there a Mona Lisa? Why is there a Venus Demilo? Why is there Peperoni? Because. Thank you HaD, this one was very nice.

  8. A masterpiece of art and engineering… a really fine piece of work.

    I agree that this really needs to be in a museum someplace, or possibly in a remote monastery calculating the 9 billion names of God. ;)

    BTW, looking into this I saw a link to Lego-based Turing that’s not as classy, by a neat machine none the less:


  9. Hi Gang, this is Mike the builder. Sorry I hadn’t commented before this, I am a Hack a day regular, but this has been a hectic weekend. First of all a big think you for all the kind comments, it was fun to build but hear comments from people like you , that understand what it takes to build something like this is very rewarding.

    I’m guessing I have between 150 and 200 hours into the project, but I was never counting. I have had interested from The Computer History Museum and Bletchley Park. Because I build for the joy of building and not that of ownership, I have always planned that I wouldn’t keep it forever. To have museums interested in it is very cool.

    beacon had said with would be nice if it showed the states and transitions as it runs, it actually does on on the LCD display, it’s just not visible on the video.


  10. @bob he might as well have used an arduino, he’s using a propeller. An 8-core processor running each core at 20 MIPs (80 MHz), and I think the things need like 8 connections to function… though what he had looked like a prebuilt dev-kit edition.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.