Punch cards were a standard form of program and data storage for decades, but you’d never know it by looking around today. Card punches and even readers are becoming rare and expensive. Sometimes it takes a bit of hacking [YouTube link] to get that old iron running again!
[Antiquekid3] managed to score an old punch card reader on Ebay, but didn’t have a way to interface with it. The reader turned out to be a Documation M-1000-L. After a bit of searching, [Antiquekid3] managed to find the manual [PDF link] on BitSavers. It turns out that the Documation reader used a discrete output for each row of data. One would think the Documation reader would be a perfect fit for the PDP-8 lurking in the background of [Antiquekid3’s] video, but unfortunately the ‘8 lacks the necessary OMNIBUS card to interface with a reader.
Undaunted, [Antiquekid3] threw some modern hardware into the mix, and used an Arduino Uno as a Documation to Serial interface. The Arduino had plenty of I/O to wire up with the card reader’s interface. It also had a serial interface which made outputting data a snap. The ATmega328 even had enough power to translate each card from one of IBM’s many keypunch formats to serial.
[Antiquekid3’s] test deck of cards turned out to be a floating point data set. Plotting the data with a spreadsheet results in a nice linear set of data points. Of course, no one knows what the data is supposed to mean! Want more punch card goodness? Check out this tweeting punch card reader, or this Arduino based reader which uses LEGO and a digital camera to coax the data from the paper.
Continue reading “Arduino Reads Punch Cards”
It all started with a conversation about the early days of computing. The next thing he knew, [Tim Jagenberg’s] colleague gave him a stack of punch cards and a challenge. [Tim] attempted to read them with a mechanical contact and failed. Undeterred, he decided to make a punch card-to-keyboard interface using optical parts from disassembled HP print stations. Specifically, he took apart the slotted optical interrupter switches to use their IR-LEDs and photo-transistors. Next, [Tim] drilled holes into two pieces of plastic, gluing the LEDs on one piece of plastic and the photo-transistors on the other. The photo-transistors tell the Teensy 3.1 whenever a hole is detected.
[Tim] developed an interpreter on the Teensy that reads the punch card according to IBM model 029 keypunch codes. The Teensy enumerates as a USB keyboard when connected to a computer. As a punch card is read, the Teensy outputs the decoded characters as key presses. When a punch card has been completely read, an ‘Enter’ key press is transmitted. Tweeting the punch cards is no more complicated than typing the text yourself. Naturally, the first message posted on Twitter from the stack of punch cards was “Hello World!” [Tim’s] binary and source code is available for download on Github.
We’ve enjoyed covering the backstory of the punch card and a previous project reading these cards using a digital camera setup. It’s always interesting to see the clever ways people use current technology and can-do attitude to read data from obsolete systems that would otherwise be lost. We wonder what is on the rest of those punch cards? Let’s hope [Tim] has more punch card tweets soon!
What a beautiful thing it is to see this digital computer in action. [Chris Fenton] did an amazing job of designing and printing this mechanical digital computer. If you’re interested in one to call your own check out the source files he published this week.
[Chris’] design inspiration came from some research into Victorian Era mechanical looms. He adjusted the concept to build a punch card reader, starting with a capacity of three holes and moving to this design which can read ten holes. It provides just enough bits to address all three of the counters pictured above. Program the computer by inserting a punch card that is the size of a business card and crank away. The video below shows the process from afar… hopefully he’ll post a follow-up video with closer views of each piece in action.
This isn’t his first basic computing machine. Check out the electromechanical version from last year.
Continue reading “3D printed hand-cranked digital computer”
[digitaltrails] wanted the data on a few old IBM 80-column punch cards he had lying around, but didn’t have decades old computer hardware in his garage. He decided to build his own out of LEGO, an Arduino, a digital camera, and a bit of Python.
The hardware portion of [digitaltrails] build includes a crank-operated feed mechanism made entirely out of LEGO. For each turn of the crank, the feed mechanism sends one card down a chute where a photodetector wired into an Arduino tells a camera to take a picture. After that, a servo is activated, sending the card into the ‘already scanned’ bin.
On the software side of the build, [digitatrails] used the Python Imaging Library to scan one row of pixels where each column is expected to be. The software outputs the code and data contained on the 80-column card as well as a very cool ASCII art version of each card.
Considering you just can’t go down to Fry’s and buy an IBM 80-column punch card reader, we’re loving [digitatrails]’ clever way of getting data off an otherwise unreadable storage medium. Check out the video of the card reader in action after the break.
Continue reading “Reading punch cards with an Arduino and digital camera”
If you had a machine that could print complex mechanical parts in an hour or so, what would you do? [Chris] is doing the coolest thing we can imagine and is building an electromechanical computer from 3D printed parts.
You may remember [Chris] from his efforts to getting his tiny, 1/10th scale Cray-1 supercomputer up and running. Even though he has the OS on a disk, actually booting the machine is a bit of a problem; much the same as his electromechanical computer project. Late last year we saw [Chris] building a few gears for his computer, but now he’s got a punch card reader that looks very much like a Jacquard loom.
Even though the computer doesn’t actually do anything yet, it’s amazing to think that [Chris] is building out of plastic that will run computer programs. You can check out the video of [Chris]’ video of his punch card reader after the break.
Continue reading “A 3D printed, electromechanical computer”
About thirty years ago [H. P. Friedrichs] pulled off a hack that greatly improved the process of programming with punch cards. At the time, his school had just two IBM 029 keypunch machines. One of them is shown in the upper right and it uses a keyboard to choose which parts of each card should be punched out. This was time-consuming, and one misplaced keystroke could ruin the card that you were working on. Since you had to sit at the machine and type in your source code these machines were almost always in use.
But wait, the school acquired a dozen of the TRS-80 computers seen in the lower left. They were meant to be used when teaching BASIC, but [HPF] hatched a plan to put them to task for punch card generation. He built his own interface hardware that connected to the expansion port of the new hardware. Using his custom interface a student could create a virtual card deck that could be rearranged and revised to correct mistakes in the source code. The hardware then allows the virtual deck to be dumped in to the punching machine. This broke the bottleneck caused by students sitting at the punch card terminal.
We think that [HPF] sent in this project after seeing the antiquated hardware from that 1970’s calculator. These hacks of yore are a blast to revisit so don’t be afraid to tip us off if you know of a juicy one.