make a raspberry pi controlled punchcard reader!


current functional version, mounted through wood with a bunch of masking tape and really ugly breadboarding attached to a sparkfun pi wedge.


drill eight holes through a block of wood. sand off splinters. take 8 photoresistors (i used: sparkfun mini photocell at $1.50 a pop). gently bend the legs so they sit nicely inside the holes. use a string of female headers to set the spacing and bend of the legs once they're secured. check alignment on a breadboard.


it's really hard for the rpi to just measure resistance. the rpi also does not have analog input. so, all of the photocells have to be hooked up as digital input (meaning either on or off), and also needs a voltage divider. i don't really know what most of this means because i don't know much about electrons.

basically, the way these are hooked up is that each pin is hooked up to a photocell and a 10k resistor that are in series with each other; the resistor goes to ground, and the photocell goes to 3.3v. this means that through the power of some magic i learned in high school physics and have since forgotten about, the rpi can read each pin.


black cardstock works pretty well. measure out a grid for yourself.

i used this unicode chart as a guide, marking them out first with a pencil and then cutting. it's tedious, i know. i'm so glad we invented keyboards.

pictured here: 1/2" columns, with rows aligned to the center of each resistor from PROTOTYPE 1. the circular holes were done with a handheld hole puncher, which did not have enough reach for any mark not along the edge; the square ones were cut by hand with an exacto knife. for bits that are adjacent, it's quicker to cut out that whole section of the column. the pieces of tape are there to correct 'typos'.


currently, i'm taking readings from this and running them to my twitterbot. see punchtwit.py in my github repo for specifics.

future ideas:

with love, hvincent