How to turn inkjet printer to print on Coffee using Arduino

The aim of this project is to make latte printer, I used 1 printers and 1 scanner , it prints one line a time, all what I have done is hacking the sensors of the printer and I used Arduino Uno to send different values to printer’s micro-controller created custom shield to control stepper motor and do other taskes … ,simply I fooled the printer, make it print with no papers πŸ™‚

How to turn inkjet printer to print on Coffee using Arduino

Tools :

– Soldering equipment

– Oscilloscope , Multimeter

– Hardware tools : screw drivers , Scissor , pliers, small drill …

Materials :

– Canon ip3600 inkjet printer,

– Edible ink for Canon ip3600

– Any old scanner

– Arduino Uno r3

– Stepper Motor Driver , EasyDriver

– 2* Relay 5 volt coils

– Voltage regulators : 9v , 5v

– Strip board & wires

– Meccano parts or any thing to make the printer body move on wheels and ability to adjust the height from the surface , Makeblock is good option too

– Drawer slides

– Double face, tapes and wires

Step 1: Disassembling the printer

Remove all body plastic parts, but be careful it is a bit tricky you need to press some spots with a screw driver ,the parts will be removed easily without extra force , for sure you need to look for the screws first and remove them from the printer,

I did not take photos for that but this link give good tips, but you need to go further with removing parts util it becomes like the the photos above

Step 2: Adding a printer base with wheels & connect to drawer slides with scanner

– I’ve used Meccano parts and 2 small toy car’s wheels

– Connect printer base to drawer slides

– Connect drawer slides to scanner body

– Modifications needed on the beam to tie the beam to the timing built which is connected to the stepper motor

Step 3: Removing the zone beneath the print head

Using the tools cut the plastic and remove the zone beneath the print head

Step 4: Making the Arduino Shield

The shield board functions :

– Receiving values from printer motor encoder (direct wires to the arduino uno pins (2,3))

– Over riding IR printer sensors , the IR sensor which is responsible to detect the paper (in,out)

– Controlling the stepper motor (for multiline printing but it is not applicable, so you can ignore this part)

Step 5: Reading values from printer motor encoder

How to turn inkjet printer to print on Coffee uHow to turn inkjet printer to print on Coffee using Arduino circuitsing Arduino

– The goal of this step is to find the motor encoder values pattern that match the paper movement,

I did a lot of experiments to find out the encoder speed values with taking into account time delays.

– Solder two long wires (50 CM min) to the motor encoder (signal pin and GND), you may need to use the oscilloscope in this step to know where is the signal pin in case you are using another printer, the two wires are liked to ardiuno pins (2,3) as before step


For more detail: How to turn inkjet printer to print on Coffee using Arduino

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top