IBM 029 Keypunch

Video Series

The 10 episodes of the IBM 029 Keypunch restoration cover everything from getting the non-functional machine to having it fully restored and functional.

IBM 029 Keypunch

The keypunch was the main form of data and program entry in an era when keyboards were not directly attached to computers. One would first punch a line of 80 characters of text or data on punch cards, assemble a stack of punch cards into a program, each line being a single card, and feed it to the computer for compilation via a card reader. The IBM Model 029 was IBM's latest keypunch in 1964. It is a descendant of the IBM 024 non-printing, and the IBM 026 printing keypunch. It shares much of its mechanism with these two earlier machines. Unlike the 024 and the 026, the 029 does not have any tubes in the machine, it is entirely operated by relays.

Most importantly, the IBM 029 introduced the expanded EBCD character set, going beyond the original 42 character "BCD" scheme punched by the 024 and 026. The EBCD set had 62 characters, which included new codes and special characters that were needed for programming. Most of these added characters used new 3-holes punch codes. It was a superset of both the BCD Commercial and BCD Fortran sets that could be had on the 026. On the 026, you had had to choose one or the other, on the 029 you got both, and more.

Here is the EBCD set of character and codes punched by the 029. Note the many 3-punch special characters added at the end of the card.

You can compare this with the BCD "Commercial" set punched by the IBM 026

And here is the BCD "Fortran" set punched by the IBM 026

There are two different implementations of the 029. The originally released one used Reed relays. However, they were found to be too unreliable. The IBM 029 was then redesigned to use tried and true telecom-inspired wire relays. Mine has this later implementation with wire relays.

My unit was rescued by Carl Claunch during a haul in Kansas in 2014 (see It turned out to be a rarer C model with the interpreter feature. With the interpreter feature enabled, the keypunch can add the printing at the top of an already punched card. For example, it could take a card that has been punched by our IBM 1402 high speed punch, which does not print its content at the top, read it in, and add the missing print. This function used to required a fairly large dedicated machine called in interpreter.

My machine arrived in pretty good cosmetic condition, however nothing worked at all. I mean nothing. Every function had failed. This was mostly traced to bad cam and sense switch contacts, of which there are large amounts spread all around the machine: card sensors, cams, end of travel sensors, card hole detectors, star wheels. They were all bad. Curiously, the wire relays were all fine.

Additionally, the printer did not work correctly because the printing wires in the printer head were stuck in gooey ink, and the keyboard had developed a contact fault.

This led to a pretty intense restoration project, with no part of the machine staying unexplored. Which may be a good thing after all, since all of it can be seen in the restoration videos.

It also came with a pretty complete documentation, which I have scanned and is reproduced below.


The documents below include the scans of the documentation that came with the machine, and is pertinent to the Model C with the Interpreter feature.