Specs - Bar Code Cards

We encode machine words in bar codes quite similar to the way punched cards work. These were used back in the early days of computing as input medium for computers.

Example of a Bar Code Card


We use cut A4 paper for our cards (width reduced), so the height is always the same.

  • For a 12-bit code line, the dimensions of a card are 102 mm x 297 mm (WxH).


By default, each card can contain a maximum of 10 or fewer lines of code.

  • Total line height: 25 mm
    • Distance between lines: 10 mm

A bar and its following whitespace are called a block. Each line can contain a maximum of 12 blocks with a bar been set (= black) or left out (= white).

  • Total block dimension: 8 mm x 15 mm (WxH)
  • Bar dimension: 4 mm x 15 mm (WxH)
    • Whitespace width: 4 mm

The first position is not part of the channel code but is a SYN bit (marked red). It is always set and should be used for calibration and alignment.

Following, from the most significant bit (MSB) to the least significant bit (LSB), is an 11 bit channel codeword that encodes an operand, letter or one of the available instructions, i.e. a machine word.


We have created a tool called Card Generator which can be used to generate bar code cards for printing.
The tool expects an input file or a list of files containing encoded 11-bit machine words (length is configurable) in order of execution line-wise. You can add comments or annotations to input files by appending a leading “#” to the respective line.


When printing bar code cards, ensure to disable any scaling/zoom in your printer settings in order to achieve precise dimensions that match our specifications.