Punched Tape

Part of Data Storage

Continuous rolls of paper with rows of holes — the telegraph era storage medium that became the first computer I/O format and remains among the simplest machine-readable media possible.

Why This Matters

Punched tape is arguably the most buildable machine-readable storage medium. No precision optics, no magnetic coating, no semiconductor fabrication. A punch capable of making 1 mm holes in paper, a paper transport, and a row of photosensors: that is a complete tape reading system. The engineering complexity is mechanical, not electronic, and falls within the capabilities of any reasonably equipped workshop.

The medium’s simplicity comes with real tradeoffs — sequential access only, modest data density, tape stretching and tearing — but for storing programs, lookup tables, and small datasets in a low-technology environment, punched tape is unmatched in buildability and archival longevity.

Punched tape was used continuously from the 1870s telegraph era through the 1980s minicomputer era. The NC (numerical control) machining industry used punched tape to program machine tools through the 1990s. Procedures and formats are thoroughly documented.

Physical Standards

Multiple tape standards exist, differing in width and number of data tracks:

5-hole tape (ITA-2/Baudot): 17.53 mm wide, 5 data holes + 1 sprocket hole per row. 32 possible characters — sufficient for telegraph and teletype (letters, digits, basic punctuation). The sprocket hole is offset from center. Used in teleprinters and early computers.

7-hole tape: 25.4 mm wide, 6 data holes + 1 parity hole + 1 sprocket hole per row. 64 characters. Used in older computer peripherals.

8-hole tape (ASCII): 25.4 mm wide, 8 data holes + 1 sprocket hole per row. 256 possible codes — full ASCII character set. This is the most common format for computing use and the one to standardize on for any new installation. Character pitch: 2.54 mm (10 characters per inch).

Sprocket hole: A smaller hole (1.17 mm diameter, compared to 1.83 mm for data holes) runs down the center of the tape. Sprocket holes are used by a sprocket wheel on the tape transport to maintain exact, synchronous positioning. The sprocket wheel teeth engage each sprocket hole in sequence, ensuring the tape advances exactly 2.54 mm per character.

Encoding in 8-Hole Format

In 8-hole tape, each row represents one byte:

  • Holes in positions 1–8 (numbered from the sprocket toward each edge) represent bits 0–7 of the byte
  • Hole = 1 bit; no hole = 0 bit
  • This is direct binary encoding of ASCII codes

Character examples:

  • ‘A’ (ASCII 65 = 0x41 = 01000001): holes in positions 1 and 7 (counting from right, bit 0 and bit 6)
  • ‘0’ (ASCII 48 = 0x30 = 00110000): holes in positions 5 and 6
  • Carriage return (ASCII 13 = 0x0D = 00001101): holes in positions 1, 3, and 4

Leader tape: Program tape files typically begin with several inches of blank tape (all holes = no holes, or all holes filled) as leader, giving the mechanical transport time to reach speed before the first data character. Similarly, trailer tape follows the last data character.

EOF (End of File) markers: A common convention is to use the control character SUB (0x1A) or multiple NUL (0x00) characters to indicate end of file. Different systems use different conventions; document the convention used in your tape header.

Tape Transport Mechanics

Capstan drive: A rubber-coated capstan and matching pinch roller grip the tape and pull it through the reading station at constant speed. Capstan diameter is chosen to match the required tape speed for the data rate. For 10 characters per second, capstan circumference should advance the tape 25.4 mm per second.

Sprocket drive: For precision positioning, a sprocket wheel engages the sprocket holes and provides positive, slip-free advancement. This allows counting exact character positions. Sprocket drive is slower than capstan drive but provides exact synchronization.

Tension: The tape spool (supply reel) must provide gentle back-tension to keep the tape taut through the reading station. A felt brake pad on the spool axle provides simple tension.

Direction: Most tape readers are unidirectional (forward only). High-end computer tape readers could reverse at speed; for a scratch-built system, unidirectional is far simpler and adequate for most uses.

Building a Functional Tape Reader

A simple optical tape reader is a weekend project for a competent builder:

Frame: A rectangular aluminium channel or sheet metal frame, approximately 150 mm wide × 100 mm tall, provides the structural base.

Tape guides: Two guide tracks (grooves or channels slightly wider than the tape) keep the tape aligned through the reading station. The tape surface should be approximately 1 mm above the sensor surface.

LED illumination: A single row of 9 LEDs (one per hole position including sprocket) placed in a precision-drilled strip below the tape path provides backlighting. Alternatively, a single bright LED with a slit aperture illuminates all positions simultaneously.

Photosensor row: Nine phototransistors (or photodiodes) mounted directly above each LED position. The tape passes between LEDs and photosensors. When a hole is present, light reaches the photosensor; when no hole, the tape blocks light.

Amplifier/comparator: Each photosensor drives a comparator (e.g., LM393) that converts the analog current to a digital logic level. Set threshold between the signal levels for hole (full light) and no-hole (light partially blocked). Adjust threshold potentiometers during calibration.

Microcontroller interface: Sample all 8 data channels on each sprocket pulse (rising or falling edge of the sprocket channel). Output each byte to the computer interface (parallel port, UART, or direct to a microcontroller).

Total components: 9 LEDs, 9 phototransistors, 9 comparators (one LM393 dual package per two channels), 1 small microcontroller or shift register/latch, capstan motor + drive circuit. All standard components.

Tape Punch Construction

Writing new punched tape requires a punch mechanism — more demanding than a reader but still achievable:

Punch die assembly: 8 punch pins (1.83 mm diameter hardened steel rod) plus 1 sprocket pin (1.17 mm) arranged in a row with 2.54 mm spacing. Each pin is guided through a precision guide plate into a matching die plate. Tape is sandwiched between guide and die.

Individual pin actuation: Each pin must be independently actuatable — either by individual solenoids or by individual hand levers. Solenoid punches require 9 solenoids plus driver electronics. For very low-volume use, a hand punch with 9 individually pressable keys is functional but slow.

Simultaneous actuation: All required pins for a character must be actuated simultaneously (or within a very short window) while the tape is stationary. After punching, advance the tape exactly 2.54 mm for the next character.

Chad collection: A tray below the die plate catches punched-out paper discs (chad). Full chad tray causes punch misfeeds.

Production rate: A solenoid punch operated by a microcontroller can punch at 50–300 characters per second. A hand-operated punch: 1–5 characters per second, suitable for small programs only.

Using Tape for Program Storage

Bootstrap loader: The very first program that runs on a computer after power-on is often stored in ROM. Its only job: read a program from punched tape into memory and execute it. This bootstrap tape approach eliminates the need for disk or any other storage for initial program loading.

Tape library organization:

  • Label each tape reel or spool clearly at the start with program name, version, date, and creator
  • Maintain a written catalog of all tapes: title, tape number, content summary, date created
  • Group related programs on the same tape to minimize reel swapping
  • Store master (archival) copies separately from working copies

Error handling: If a punched tape develops tears or damaged holes, a small section can be surgically removed and replaced. Cut the tape cleanly on either side of the damaged region, punch a new section (paper of matching width) with the correct data, and splice using clear adhesive tape (not masking tape — it yellows and loses adhesion). Leave the splice slightly loose so it does not stiffen the tape path.

Tape verification: After punching a program tape, read it back through the punch-equipped system and compare to the expected character stream. Character-by-character comparison before filing the tape catches punch errors that would cause cryptic program failures when the tape is loaded weeks later.