We’ve all seen printers use ink, and if you’ve been to a Maker Faire you may have been lucky enough to see a machine printing with chocolate or pancake batter. RIT Assistant Professor Ted Kinsman decided that he wanted to print with coffee. “For many years I have thought about building a machine that could paint for me,” he says. “Since I always have leftover coffee, I thought it would be a fun medium to play with.” Using an Arduino and an x-y plotter, he’s been able to do just that.



He explains, “The machine allows experimentation with drip height, drip size, drip chemistry, spacing of drips, and especially the paper that the drips fall on – all of these affect the image results.” An Arduino can store an image of about 80×100 pixels. This resolution isn’t high enough to print discernible images of most objects but, “surprisingly,” says Kinsman, “this is enough data for a human to recognize a face.”


Kinsman takes a portrait, heightens the contrast, and converts to a PGM file. You can check out this example code (developed by Kinsman’s brother Andy) to see how Kinsman converts the PGM into something the Arduino can read. The sketch prints a test grid, which can be modified by dropping in a PGM image and adjusting the space between drops. Essentially, the grayscale is converted to an array of dots whose darkness corresponds to the length of time that the valve of the pipette opens to release a coffee drop.


He uses a Mariotte’s siphon so that the depth of the coffee in the reservoir won’t affect the pressure, which in turn could influence the size of the drops. “A Mariotte siphon,” he explains, “is a bottle that allows air to flow in at a certain level of the reservoir — it allows fluid to be pulled from the reservoir and keeps the pressure very constant. I use a modified sports drinking bottle.”



The valve is controlled by the Arduino via a reed switch, which chirps as it operates. “The sound turns out to be a great indicator to determine if the coffee flow valve is clogged,” says Kinsman. Since the micropipette is only a few millimeters wide, even a very small particle of a coffee bean could cause a clog in the valve. The stepper motors he uses are fairly low power, and can only run one at a time, but the coffee doesn’t seem to mind.


The moisture of the drops causes the paper to warp, so the nozzle’s height must be adjusted beforehand to allow for proper clearance. While this certainly makes the configurations more complicated, the beads of caffeinated liquid clinging to a rolling sheet of paper is organic, calculated, and beautiful.



Kinsman also had to account for the stepper motor’s movement and the diameter of the pulley in order to calibrate the spacing between drops, which get smaller as they dry. The prints themselves take about an hour, but the paper takes a full day to dry completely.

In the future, Kinsman wants to experiment with adding another stepper motor so that he can create coffee drip spirographs, or using a syringe that could “print very viscous materials like acrylic paint, or even food.”