How to Turn Inkjet Printer to Print on Coffee
by baffouri in Circuits > Arduino
57931 Views, 263 Favorites, 0 Comments
How to Turn Inkjet Printer to Print on Coffee
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 :)
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
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
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
Removing the Zone Beneath the Print Head
Using the tools cut the plastic and remove the zone beneath the print head
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)
Reading Values From Printer Motor Encoder
- 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
Overriding IR Encoders
1 - Simply add a small piece of cotton to block the signal pertinently for the "paper detection sensor"
2- Cut PCB link using a screw driver
3- Solder two long wires (min 50 CM) to be linked to the relay on the shield
Make Cover for Print Head Sensor
The goal is to protect the sensor from light confusion, the printer will act wired if you don't do this
- I bend a piece of plastic from the removed parts using lighter heat
- Then fixed it with double face and tape
Cartridge Door Closed and Paper Front Door Sensor Removed
- Small rubber to control the Ink Cartridge door
- Paper front door sensor removed with removing its cable
Replace the Normal Ink With Edible Ink
Easily found on Amazon or Alibaba,
Programming
The fun part !
Ardiono Code :