May 112013

Reading punched tape

Rapid prototyping tools are great for quick hacks, but their real power lies in their ability to allow you to quickly iterate and refine a design. Earlier this week I hacked together a primitive nine-channel punched paper tape reader, but it had a number of limitations: the LEDs that I was using to read the bits were noisy and slow, the materials used didn’t mask the light well enough, the tape wasn’t mechanically aligned well, the electronics were a mess and the entire mechanism was difficult to use. This Friday, I decided to do what my third-grade teacher would tell me to do every time I half-assed something: go back and do it right.

Tape reader parts

This time I used proper phototransistors and IR LEDs I scrounged up around the space (thanks, Miria and Raphael!). Because they’re 5mm in diameter (and the spacing between channels is only 2.54mm), I had to come up with a new sensor packing. This one reads bits from four separate columns over a space of five columns, requiring an internal buffer of five columns to reconstruct a single column of data. Even so, the spacing was tight, and I had to sand down the flanges of the phototransistors and LEDs to make everything fit. I milled simple PCBs for both sides to keep things nice and neat, and used a small surface-mount potentiometer to limit the current to the LEDs in case the paper wasn’t thick enough to block enough light. The light mask is made of black acetal this time, and the spacers include runners to help keep the tape straight. There’s still no automatic feed mechanism, but we now have a reader that’s fast and reliable enough to read tapes in earnest.

The updated code, mechanical drawings, and PCB designs are all up on Github. There are still a few tweaks we’d want if we were going to scan more tapes, but this version works very well. Now we just have to figure out what to do with all these PDP-8 binaries. Any ideas?


(Note to time-travelling computer conservators: in the past/future, please do not store your paper tapes in damp basements. These programs are stinky. The Fortran compiler, in particular, is exceptionally foul. Yours truly, phooky.)

 Posted by at 6:17 pm

  5 Responses to “Go back and do it right: a better punched tape reader”

Comments (5)
  1. 1. resurrect a PDP-8
    2. Emulate a PDP-8

    Is this an example of Bit Rot? Fortran stinky? Sure you’re not thinking of RatFor?

  2. Use a SBC6120… Last ones are being sold by sparetimegizmos…

  3. Why don’t you get together with the MARCH group They have all the old PDPs that you would want to work with and the people there know how to use this technology. I bet they would love to have you come by.

  4. If you have tapes not on I would like to get a copy of the contents to add the the PDP-8 software archive. My email is at the bottom on

  5. I recently finished reading “Colossus – the secrets of Bletchley Park’s Codebreaking Computers” by B. Jack Copeland and others. They routinely managed 5000 characters per second with punched tape in 1944 using the world’s first valve based stored program digital computer (ENIAC was not the first). On page 146 they describe the use of lenses and double-crescent masks to generate a nearly rectangular pulse of light for the photoelectric reader as a circular hole passed the light source… perhaps an idea for your third revision… 🙂

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>