Introduction: Make a Handheld InkJet Printer! Print on ANY Surface!

I found this kickstarter for something called the InkShield. It’s an Arduino shield that drives a single black inkjet cartridge for manual operation. I backed the kickstarter and got my shield. This instructable is how I made mine into a fully functioning project. If you build this, you will have a very simple inkjet printer which you can use to print simple one-line messages on any surface!

Step 1: Build the InkShield

So the kickstarter has come and gone. However, the project is open source so all the source materials to build new PCB's are available.

Original kickstarter: http://www.kickstarter.com/projects/1908026860/in...

All the InkShield source files (PCB, schematics, sample code, etc): https://github.com/NicholasCLewis/InkShield

So I backed the kickstarter and got one of these shields and made it into a complete project for myself. It’s a lot of fun, you can inkjet-print on any surface with this device.

This repo is my modified Arduino InkShield code which gives me 5 different messages I can select to print. To change the messages just modify the code and re-upload to the Arduino:
https://github.com/dosman33/inkshield

The ink cartridges used are HP C6602A (black). They are cheap and still readily available online.

Step 2: Project Enclosure, Switch Resistor Network

You need to find a suitable enclosure. I used a standard Radio Shack enclosure I had on-hand. It needs to be wide enough for the inkshield and tall enough for the ink jet cartridge to mount correctly.

Drill the holes for the message switches and mount them. These are momentary NO (normally open) switches. Then solder up the resistor network. One end of the reisitor network runs to the Arduino 5V line, and the other end goes to ground (with a resistor between the last switch and ground). Connect the data wire toffffff input 5 on the Arduino.

My code requires one analog input on the Arduino for the resistor network. You will need to modify the code for the resistor values you use in your circuit. I borrowed code from this forum post example (wiring diagram for the resistors is included): http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1...

Step 3: Install the Power Switch

The device is powered from a 9V battery. The power actually feeds to the Inkshield, and the shield then powers the Arduino. Drill and mount the power switch on the case (it's on the top just right of center in the picture), a simple SPST will work. Solder a 9V battery connector in series with one leg of the switch (does not matter which) and to the power in on the Inkshield. Be sure to observe correct polarity of course.

Step 4: Mount the Print Head

The print cartridge assembly has a couple holes in it for mounting. You can see that I drilled some matching holes in the case and then used a zip-tie to hold the print head in place. Very simple.

Step 5: Print!

You can see that different font widths can be achieved by moving the print head faster or slower. Just holding the button down repeats the messages printed. Obviously you will only get readable messages by moving the print head from left to right while printing.

It's a good idea to remove the ink cartridge from its holder before updating the sketch on the Arduino, it can sometimes spew ink out during this process. Also I keep the unit in a cheap grocery-store plastic sack when not in use. The Ink cartridge will smear and wick onto anything it touches, watch your clothes and furniture. It's also a good idea to keep a kleenex on-hand, the printhead needs occasional cleaning. Otherwise it works great.

Comments

author
CB703 made it!(author)2016-10-11

This is awesome! Would you consider selling it to me? If so, how much? Thanks!

author
dosman33 made it!(author)2016-10-11

Hi,
Unfortunately, no. I wish I could part with mine but I'm too busy to go build another one for quite some time. But thanks for the offer, it's always worth trying.

Take care,
-dosman

author
raccarva made it!(author)2016-10-02

Extremely interesting project!! I think it can be an good starting point for even more ambitious devices. Maybe combining it with a robot arm or 2D positioning table can lead to more capabilities....

Congratulations!

author
plucas1 made it!(author)2016-06-27

just a thought, if you put a rotary encoder and wheel on the bottom you could use it to track the speed you are going so that it prints better

author
dosman33 made it!(author)2016-06-27

Good idea! Thanks!

About This Instructable

6,205views

114favorites

License:

Bio: Blah.
More by dosman33:Low Budget Method to Mount Antenna Masts to a BuildingBuild a Killer Plastic Bag Sealing StationHow to change the crank sensor in your 2001 Durango
Add instructable to: