Background

David Hagelbarger and Saul Fingerman created the CARDboard Illustrative Aid to Computation (CARDIAC) in 1968 at Bell Laboratories to teach the basics of computer function. Millions of copies were distributed to high schools, community colleges, and universities.

Construction

My CARDIAC is largely made based on the files and plans provided by Johan von Konow. I modified his PDF file to match the dimensions of US Letter size (8.5 x 11") paper and extracted the cutting lines from the new PDF into SVG files for CNC cutting. While the original CARDIAC was made from cardstock, I decided to make mine from laminated paper for durability, water resistance, and ease of use with dry or wet erase markers. I printed the PDF file provided at the bottom of the page on 20 pound US letter-size (8.5 x 11") printer paper and laminated it with 3 mil Scotch laminating sheets. I then used the provided SVG files to cut each page with a Silhouette Cameo CNC die cutter controlled by InkCut 2.1.5 running on a HP t510 thin client with Lubuntu 24.04 installed.

Instruction Set

Opcode Mnemonic Instruction Description
0 INP Input Read number from input card and put it into specified memory cell.
1 CLA Clear and add Clear accumulator and then add contents of a memory cell to it.
2 ADD Add Add memory cell contents to accumulator.
3 TAC Test accumulator contents Perform a sign test on accumulator contents and jump to a specified memory cell if negative.
4 SFT Shift Shift accumulator contents x places left and y places right, where x is the upper and y is the lower address digit.
5 OUT Output Write number from memory cell onto output card.
6 STO Store Copy accumulator contents into specified memory cell.
7 SUB Subtract Subtract contents of specified memory cell from accumulator.
8 JMP Jump Jump to a specified memory cell, where the current cell number is written in memory cell 99 and one level of subroutines is possible by using the instruction at cell 99 (8xx) as a return.
9 HRS Halt and reset Move bug to specified cell and stop program execution.

Programming

The CARDIAC is programmed by entering in values in the memory cells and input card and then using the sliders of the de factor arithmetic logic unit to interpret each instruction. The user executes the instructions in their head, making the CARDIAC an 20 watt computer (just kidding - the brain is what uses 20 watts). As noted above, each instruction is a three digit number, where the first digit is the opcode and the second two digits are a memory address.

Emulation

I am planning to develop a CARDIAC emulator for Palm OS (called PalmCARDIAC). This will be a good exercise to learn Palm OS development.

Get your own CARDIAC

I'm planning to sell assembled CARDIACs for $15 plus shipping ($5 domestic, $15 international). These will be laminated, fully assembled units bagged with a quick start guide. Unlike the original, mine is beverage resistant. I will have a PayPal button set up below to take orders.

cards

Powered by paypal

Downloads

PDF file for printing the CARDIAC

SVG file for cutting page 1 of the CARDIAC

SVG file for cutting page 2 of the CARDIAC

SVG file for cutting page 3 of the CARDIAC

Construction and tutorial videos





Back to the computing page!

Back to the Home Page!