Possible improvements, final remarks

There are a few aspect of the circuit that could be improved. Firstly, the
nozzles that have been used are not spread evenly across the cartridge. It
is however quite a lot of work to figure out exactly how to drive all the
nozzles and the pins used here already produce a quite legible text.
Secondly, the current consumption is not really suited to a little 9-V
battery. With long texts this battery is temporarily exhausted quite quickly.
It is of course possible to replace it with a 9-V NiCd or NiMH battery. These
have no problems delivering short-duration current spikes. Thirdly, the text
that the stamp produces is fixed, defined by the code in the microcontroller.
With a little bit of work it can be changed to use the EEPROM instead and be
made adjustable via, for example, a serial cable.

All this is not necessary for vandalising someone else's whiteboard and is
left as an exercise for the reader. The author is keen to see any improvements
in the circuit or firmware, so that others can also benefit from these. The
firmware, source code and any potential updates are available for free
downloading, of course.

Now a final remark: inkjet cartridges are not really designed to be used
continuously in the open air. It can happen that the head becomes blocked
with dried ink. In that case it helps to shake the whole thing vigorously a
few times (watch out for splattered ink everywhere) and to suck up the ink
with a tissue from the head afterwards. It certainly helps if the cartridge
is stored with the print head facing downwards as much as possible.

This article featured in the magazine 'Elektor'. Their English site is
here. They also have a
Dutch,
German and
French edition of their wonderful magazine.

Awesome hack with minimal components! But wouldn't the ink be permanent on a whiteboard? :)

Bee wrote at 9 Apr 2015, 17.32:

Can anyone tell me the time duration of 20 volts being applied to the cartridge?

Bob wrote at 10 Feb 2015, 8.20:

What kind of tip would be required to develop this further? Could you get all pins mapped out and redo this with a larger micro?

Sirius wrote at 15 Apr 2014, 6.09:

I have a doubt: Since the rows from R0 to R7 are connected to micro-controller directly.. now the pins has to be at +5v or GND to activate the rows of the cartridge... i mean micro-controller should provide an 'active low' OR 'active high' signal to make the cartridge spit-out the ink ??

kyrbis wrote at 28 Feb 2014, 19.07:

Hey there!
I know this is pretty old, but I'm currently trying to build one of those myself!
However, I have horrible problems at getting the cartridge firing even a single drop, I even destroyed quite a few already with my (obviously bad) tries of reverse engineering.
In a nutshell, having connected R4 to +5V and the two GND above the cartridge should already fire a drop when given a short pulse of +20V to C1, is that right?
Thank you

Sprite_tm wrote at 22 Oct 2012, 10.09:

In theory, you should connect all grounds, but in practice, just connecting one or two works just fine. The grounds usually are interconnected on the cartridge side already.

some new guy wrote at 20 Oct 2012, 7.08:

I mean all the ground pins on the cartridge. Is simply connecting to one enough, or do I need to run a few more wires? had a hell of a time getting the firmware on there, think I finally got it. First time using a non-arduino microcontroller. The learning! Ps assembly's a trip

Sprite_tm wrote at 4 Oct 2012, 10.19:

someguy: The mosfet is a STD12NF06, which is an N-channel mosfet indeed; as far as I can see the schematic is correct wrt that. All grounds should be tied together, yeah.

some guy wrote at 3 Oct 2012, 8.16:

oh and on the topic of late to the scene, all the grounds, they must be tied together? I missed that note....

return of some guy wrote at 3 Oct 2012, 7.13:

yeah, I am actually finally building this thing as a last second gift for a friend from austraila (taking bets on it never getting thru customs) and wanted to ask, you screwed up the schematic drawing of the mosfet, right? that is not a P channel methinks.

some other guy wrote at 5 Jun 2012, 23.24:

Hi,
did you figure out the rest of the pinout of the cartridge?
I'm planning to use all nozzles.
Thanks!
PS: Shouldn't it be "14 nozzles" on page 2? ("In the end it appeared that the cartridge is divided into eight sectors with 17 nozzles each."), there are only 14 row inputs in your pinout.

mr ai wrote at 8 Mar 2012, 2.42:

cool i want to make one.how can i contact the author?

Sprite_tm wrote at 22 Dec 2011, 12.15:

some guy: The choice for a 9V block was kinda random indeed, I liked the form factor and it seemed to work allright. You need the NPN because the PNP will open as soon as the base-voltage is lower than the emittor voltage. The emitter voltage is something like 20V and the AVR can change the output voltage on its pin from 0V to 5V. Even 5V is lower than 20V, so the transistor would conduct irrespective of what the AVR tells it to do.

some guy wrote at 19 Dec 2011, 5.13:

also as for the power issues on rapid printing, why not switch over to 4 AA batteries? I understand this was a bottom-of-the-bin build so maybe you only had 9v leads around (dang are they convenient! and cheap) but AAs are much cheaper, and can kick out something like 700mA according to wikipedia, so 4 of those together and a low drop out regulator like the LM2931 and this should be a much happier circuit no? all I see online about 9v is through ladyada saying 20 mA is the point where 9v should be considred a poor battery choice.

some guy wrote at 19 Dec 2011, 4.55:

So I am looking at the schematic, forgive me for not being an EE, but why can't we just hook the NPN transisors directly to the micro controller and the cartridge? ie: PD1-R2-BT2 then CT2 to 20v, and ET2 to the cartridge?
it took me a few read throughs to understand why you can't hook T6 directly to the micro, i get that, but I don't understand why my way wouldn't work, but I am sure there is a reason.

James wrote at 1 Dec 2011, 23.02:

I wonder if the original article gave the manufacturer's some ideas???
If you go to http://www.evolutioninkjet.com.au/evolution-hand-held-inkjet you see the same idea, only with a "cordless drill" type battery pack!
Then there is even an inkjet pen version http://www.trendmarking.com.au/portable-inkjet-pen-printer and that same place also has some horse-shoe shaped inkjet "stamper" http://www.trendmarking.com.au/hand-held-ink-jet-marker.

Martin wrote at 17 May 2011, 19.34:

I think it would be nice, to combine it with the sensor of an optical mouse. Perhaps you need an additional lens for higher working distance.

Swonkie wrote at 22 Mar 2011, 0.30:

lios, chech out the link in my last comment.
HP 15 = HP 45 with less ink inside.

lios wrote at 21 Mar 2011, 1.37:

hello guys.. i wand to build this project but with other ink type 15
please do you have some sites to find the pins???
thanks

Swonkie wrote at 8 Dec 2010, 23.56:

this hp patent describes a cartridge in great detail:
http://www.freepatentsonline.com/5946012.html
(pdf link on that page)
im thinking about building this thing with better print quality.
looks like the arduino mega 2560 has enough output pins and memory to print high resolution (300 dpi) letters using all the nozzles of a modern hp cartridge (about 13 mm or 1/2 inch high).
i would also incorporate wheels to guide the printer and measure distance and use the distance information to drive the nozzles.

venk wrote at 29 Nov 2010, 10.36:

Great article. Is there any way to know pin outs for HP c9351a or c9352a. I failed to find on net.
thanks in advance for help.
-venk

korv wrote at 2 Sep 2010, 0.02:

i forgot:
here a video of their 2006 prototype:
http://www.youtube.com/user/PrintDreams#p/a/u/2/fSM5z5vL-Qo

korv wrote at 1 Sep 2010, 23.53:

there was/is a swedish company "printdreams" who developed a device called "Xyron Design Runner" (check on the usual channels) where in the end you could also upload your own files to print on ANY surface. used hp cartdridges aswell. i saw them on the cebit computer fair 6-10 years ago.
their sites are down now unfortunately, i hope they didn't go bankrupt...

Sprite_tm wrote at 1 Sep 2010, 22.13:

It still is, under 'electronic stamp'. I agree that I have to make everything a bit more readible; the current setup worked fine when I had only 5 or 6 projects but the site is kinda growing out of its jacket now :)

me wrote at 1 Sep 2010, 19.11:

Hi, it seems this project isn't listed in the menu anymore?
Here's another handheld printer, but their homepage seems to be dead.
http://www.ohgizmo.com/2009/11/04/printbrush-looks-like-magic-makes-printing-not-suck/

agus wrote at 11 Jul 2010, 2.40:

i can't find this cartridge type in my country,can anyone to show me about pinout for new cartridge, like hp21, thnks

Luke Luke wrote at 9 Jul 2010, 22.24:

Oh no, I've got even more HP26 cartridges!
Now, if only I could find some time, and some text to print on some object...

Awais Anjum wrote at 5 Apr 2010, 8.09:

have anyone interfaced epson head? My boss has reverse engineered it? I want to interface that too can any one help? If so mail me at awasoft@hotmail.com

THM wrote at 26 Mar 2010, 0.19:

Thank you very much for your information, I build a circuit based on yours, with the addition of an RS232 interface to plot with commands from a PC in order to mount the printer head to my homemade CNC router. Unfortunately I put a transistor array instead of direct connection to the CPU before I saw your comment. Despite of this, it printed some ink, so I guess the head has internal pull up resistors, although the transistors reversed the pollarity of the signals, so the printing was strange (I activated more than one nozles at a time instead of one). Anyway I have to find the exact timing of ON and OFF to achieve a fast and decent printing and not to burn the head. Thanks for everything!

Sprite_tm wrote at 19 Mar 2010, 23.57:

That's not an issue - the printer head itself seems to have transistors or mosfets in place: the lines are active-high iirc.

THM wrote at 19 Mar 2010, 16.39:

In the low driving end, when the high end is activated there is current flowing to the internal ESD diodes of the microcontroller even when high (I guess that the 15V in the nozzle driving mechanism is not enough for ink to flow, but you should consider using a transistor array or an array of diodes instead of direct drive from the microcontroller)

adrian wrote at 29 Jan 2010, 18.18:

holy crap that was cool....great idea- figuring the pin function by disabling the connection

Pat wrote at 13 Oct 2009, 21.18:

I can't get http://www.uploadarchief.net/files/download/pinouthp626_small.jpg
Is there anyone who can reupload it?

china-liu wrote at 28 Aug 2009, 10.38:

Low voltage I can use? Such as 15V. waitcool and waitnozzle time I want to lengthen the time?

Mike wrote at 15 Jul 2009, 17.58:

How efficient is your boost converter design compared to what you would get if you bought a DC/DC converter chip and designed that to give the necessary 20V? I like the customization of the boost converter (just have to change the pulse width from the microcontroller to change the voltage) but I am worried it is very inefficient compared to what they have on the market already.

Lucky Luke wrote at 9 Jul 2009, 16.18:

Maybe you can get a datasheet, if so please tell me. But there is another way: use a multimeter and measure resistance between the contacts on the back of the cartridge. You should be able to find the pinout that way, just search for a common + or -, and all that is connected to it. If you measure a resistance between to pins they are connected to the same common =/-. (ore one of them is the common =/-). I figured out the pinout of a hp626 that way (see my other post here).

KHS wrote at 9 Jul 2009, 11.01:

Is there any possibility that I can obtain a datasheet of that inkjet cartridge???

KHW wrote at 1 Jul 2009, 7.07:

It was remarkable piece of work~!
I tried to make the same one but it was not as easy as it looks like :(
Would you like to give me some more specific information about the practice of schematic??

Lucky Luke wrote at 11 Jun 2009, 15.10:

I have "some" HP626 cartridges (and no printer that uses them), and I think I just found a use for them... Thank you Sprite!
Already figured out the pinout:
http://www.uploadarchief.net/files/download/pinouthp626_small.jpg After that burned some nozles while testing... Still like 10 cartridges left :)

what is the right value of the resistors? In the circuit is 4007ohm and in the text is 4k7. Thanks

Sprite_tm wrote at 17 Feb 2009, 1.32:

Iirc it runs on the internal 8MHz oscillator.

peter wrote at 16 Feb 2009, 16.55:

What speed is the ATTINY2313 running at?

MiniDave wrote at 28 Dec 2008, 12.28:

Great Project. Anyone used a type 45 cartridge? Should be easy to hack a cartrige connector from an old printer! Anyone got any HP45 Pinout info?
Having fun

pat wrote at 2 May 2008, 13.36:

You could replace D1(1N4001) with a fast or schottky rectifier for improved efficiency and battery life.
Since the 1N4001 is slow, it will take it ~1us to become conductive after T1 is turned off. L1 will therefore force the current through T1 that long, producing a large voltage spike. (Relatively) large current, high voltage => lots of power loss.

ris8_allo_zen0 wrote at 7 Feb 2008, 18.57:

I thought nearly the same as PHV but with a more ambitious idea: a hand-driven 2D printer! One could simply scribble around a sheet of paper and get an entire picture or printed text. The optical mouse is good but it only gives position. The orientation could come from a MEMS gyroscope (e.g. http://www.sparkfun.com/commerce/product_info.php?products_id=396). With these data a microcontroller can know the exact position of the nozzles and print the right pixels in the right moment. I think it could be a small revolution...

PHV wrote at 16 Jan 2008, 15.02:

Didn't you try combinig this with your optical mouse-cam
to get a better printer movement tracking?
It'would be great!

Your hand-drawn schematic is correct while the cad-drawn one has a capacitor in series with the micro's power supply...

Dalez0r wrote at 9 Aug 2007, 17.46:

You mentioned that there was 8 sets of 17 nozzles, but there are only 14 R's on your pinout. That would imply that there was only 14 nozzles per sector. Can you please clarify?

Libby Dole wrote at 1 Aug 2007, 6.51:

Sorry, it won't print on your penis as the media must be a bit larger than the distance between two nozzles.

Aydin Muhurcu wrote at 20 Jun 2007, 12.23:

Hi,
Well, is there any knowledge about thermal cartridges.

Harsha wrote at 7 Jun 2007, 13.19:

That's very good

Jimbones wrote at 27 Apr 2007, 18.13:

Really clever, and really well documented. I was looking for information on hacking printer heads, and your site has it well covered. Thanks bunches!

GIOVA wrote at 10 Mar 2007, 1.29:

hi, excelent project your have this any cartridge of hp printer 3535?, thanks...

rugelindinda wrote at 3 Feb 2007, 2.09:

Where can i find lexmark z12 circuit to hack?

Fuzvulf wrote at 26 Jan 2007, 0.26:

I love to see this stuff. It is sad how many jump first to the negative uses, but the guys who started Apple started out as phreakers and then as their interests matured they built a usable computer in a garage.
Here is a bit of information that I hope can be of help. I used work in industry. We had big print heads that printed the tracking numbers on boxes so that if anything happened (people start to get sick from the product we produced) it could be traced back by code to the date, time, production line, and operator on duty. These neat little devices look amazingly like a big bulky version of yours but cost something around 1600 Pounds. They have a neat feature that might be of interest.
They used a set of wheels that rolled on the boxes to keep the distance ideal for the most readable print. These wheels use registration much like the little spoke wheels in the old style computer mouse. The data is fed back processes through a logic circuit and the progress of the character printing is controlled by the "clock count" of the bit stream so that you don't have to have the speed of the printer set exactly to the speed of the moving box. If the boxes are moving slow the characters are printed slowly if the boxes are moving fast the characters are printer faster. This would allow you to just swipe across a surface at whatever reasonable speed and get readable print.
The thought comes to mind of a device that could be attached to a hand held computer.
There was a Game back in the late 70's early 80's called CyberPunk role playing game (still available through RTalisorian games. One of the maxims of the game was that humans had progressed far enough technologically that if it could be dreamed up as a concept it could also be built. I think we are getting closer than we realize to that point.
Keep up the Great work!

N1NKM wrote at 18 Jan 2007, 0.15:

You can't use it to make a fake winning ANYTHING. They put serial numbers on those things. Remember- they only make one or two big prize-winning pieces. They'd know it was fake right away, and you'd be busted for attempted fraud. See ya in 20 years, man.

Captain Johnny wrote at 17 Jan 2007, 21.43:

This is great! Jamby read my mind... As a tattoo supporter, and a hacker, these two things together could be an amazing thing....

BobSalawalatski wrote at 17 Jan 2007, 1.42:

It would be excellent to print a winning message on the inside of a bottle cap.
You can scratch off the message alreay there, and reprint the fake winning message!
There are a thousand ways this could go. Very cool.

Jamby wrote at 16 Jan 2007, 18.31:

How about a hack for instant tatoos? Raise the DC to 70v, replace the ink in the cartridge with tatoo grade ink?

TMB wrote at 16 Jan 2007, 17.46:

Curious wrote at 15 Jan 2007, 6.29:
But can it print on my penis?
Yes but in your case the message would have to be very short

Mike K wrote at 16 Jan 2007, 0.44:

Jesus couldn't print on water, and you've done it with an old printer cartridge and some cap's. Start opening up churches!

joebro wrote at 15 Jan 2007, 23.21:

This exists in production...search for Design Runner and you'll see. Works pretty well.

Steve wrote at 15 Jan 2007, 21.50:

This type of product is already commercial using a HP 45 cartridge, you ca even get them filled with edible ink to print on foodstuffs.. http://visytech.com/tcu.htm You can print graphics and any font you want by saving a windows created design onto the CF card. The controller handles all the variables including date and time etc..

Charlie wrote at 15 Jan 2007, 17.05:

Fine, good work, but you better of drank that Guiness, because ruining a beer just to prove a point is crossing the line, bud!

Steve wrote at 15 Jan 2007, 7.26:

Yes, but if you read carefully the ink will be hot. =) (j/k)

Curious wrote at 15 Jan 2007, 6.29:

But can it print on my penis?

N1NKM wrote at 15 Jan 2007, 5.15:

That's pretty cool! Kudos for a really interesting hack!
FOr those who like unusual applications of technology, how about these:
http://www.mymorninglight.org/ham/insaneBTN2.htm

w.c. vice wrote at 15 Jan 2007, 3.26:

wow. nice handy work on that homebrew inkjet brew printer. i especially like the duct tape enclosure.

comicagogo wrote at 15 Jan 2007, 1.18:

Great idea! I think that people are suggesting the wrong part of the mouse. Instead of the optical sensor why don't you use the scroll wheel? this would give the added benifit of keeping the device a set distance from your printing surface. (clearly this idea would only work for solid surfaces) Great idea again, can't wait to build one of my own!

Harufy wrote at 15 Jan 2007, 1.15:

Fantastic. Love how you figured out the pin combinations. Very ingenious.

entropygen wrote at 15 Jan 2007, 0.08:

Congratulations! Your idea saved my day. Finally, I will be able to print "I am sleeping" on my eylids.

This is great!
One little suggestion, how about a little wheel to keep the device on a straight line when printing on a white board. Oh, and maybe edible inks, food coloring maybe. I wonder if that would work.

Dumb Dirk wrote at 14 Jan 2007, 23.37:

Dirk, you dork, reverse engineering is not illegal under the DMCA! Only by passing technology specificaly implemented to stop copying of data. I fail to see how figuring out the logic used in the pinout of a HP print cartridge has ANY THING to do with the DMCA what so ever. You are just scare mongering.
Oh, and BTW, congrats to the author on a nice hacking job! Very clever indeed...

Dirk wrote at 14 Jan 2007, 23.27:

Just don't venture to US anytime in the future as you have just broken the DMCA.

Blonbii BuDDii wrote at 6 Dec 2006, 4.17:

i wanted to know wat the chemical foRmula was for sprite ! not that!!

Paolo wrote at 30 Oct 2006, 15.40:

Very good work!!!
I hope that you implement it for more nozzle.
You can find info on the connection on www.uspto.gov searching for patent of Hewlwtt & Packard.

bob the builder wrote at 22 Oct 2006, 19.30:

only a complete mad man (and genius) would think of such a project as a portable beer injet printer. this has to rate as one of the most original gems of ideas i have seen on the net, along side the hector printer, and the person who developed a record player using a scanner image of the record. bravo!

porker wrote at 14 Oct 2006, 23.10:

nice work!

Hawkeye wrote at 12 Oct 2006, 6.21:

I was thinking the optical mouse idea as well, but the accelerometer is even better! You could put one on it and have a small amount of logic to adjust for some hand movements to keep the text straight and evenly spaced.

loquacious wrote at 11 Oct 2006, 17.57:

<p>This is awesome.
<p>I had an idea like this almost a decade ago when the first ink/bubblejets were hitting the market, and I'd like to share it with any and all here to see if anyone wants to run with it:
<p>My idea was a digital paintbrush that used inkjet heads.
<p>The application was that you could use an accelerometer or other XYZ-axis position-sensing technology to sense the position of the "brush".
<p>If you had a 3D scan of an object, you could map/wrap an image or text to it and paint it all over just by waving the "brush" around it, and it'd automatically know where to drop ink dots to fill in the whole image or wrap, even if you applied ink to the object in a random fashion, it'd know just where it had been printed already and where it had not.
<p>Scale the idea up and you can imprint on all kinds of things. How about your entire car? A complex, intricate model? How about body parts?
<p>Granted, my implementation requires a lot of non-trivial support technology - 3D scanners or libraries of accurate models of common objects, some kind of initial alignment/registration technogolgy or an appropriate procedure for the initial object/brush alignment, etc.
<p>But it could be easily implemented on an array of known, static objects with a minor registration/calibration procedure.
<p>If anyone does implement it, I'd love to hear about it. (Search loquacious @ metafilter.com for contacts.)

Daniel Kim wrote at 11 Oct 2006, 7.41:

Take a look at the "Random Motion Printing Technology" device at http://www.printdreams.com
Very excellent work here. I am very impressed.

CaitSith1 wrote at 10 Oct 2006, 23.52:

Actually, being able to change the expiration date, could be used (illegally), to get a discount on a product. Most stores give a major discount on products with same expiration date as current date. So, if you rubbed off the expiration date on the newest product, and printed today's date on it instead, then you end up with a discount, provided you don't get caught doing so.
Alternatively, you do it on the entire shipment of something like milk, then it ends up being all returned, if not sold that day. totally evil though.

Prozacgod wrote at 10 Oct 2006, 17.18:

Yeah, I agree with the idea of further hacking together some toys, would be neat to put this idea on a X&Y ploter so you could print on other stuff. - like a T-Shirt for example. that would be fun, esp. if the cartridge control was perfected. Great job!

barry wrote at 10 Oct 2006, 6.39:

Can you attach some sort of distance wheel to regulate the output?

Damion wrote at 10 Oct 2006, 1.27:

If this could be linked to an optical mouse sensor for speed/vector tracking as it was moved you could improve the accuracy alot. Not to mention do some very cool things.

oop ack wrote at 9 Oct 2006, 22.13:

just how long of a string can that cartridge hold? and how does it start/stop? from the looks of it as soon as u apply power it runs?

james b wrote at 9 Oct 2006, 21.47:

Sweet. I wonder if the IR sensor out of an optical mouse could be used to clock this device as the head is moved.

Heh, Im curious if there is a way to make a hand held modle with its own power source that could go with that experation date idea and would do randome numbers within a set limit.
Im sure that would take alittle bit more of a hack, but it would be some fun to go about and writing randome things with this without lugging about a laptop to do so.

Khoa wrote at 9 Oct 2006, 17.07:

Great hack! I've always wanted to be able to drive these cheap ink carts myself, I just couldn't ever figure the pin-outs on them. It's very clever how you covered the pins to determine their functions.
Question: Are all the ground pins on the cartridge tied together or individually grounded? (I'm trying to figure out the pins of a type 45 cartridge, they have a lil diff layout)

marQ wrote at 9 Oct 2006, 15.28:

It figures that someone would make an awesome lil hack like this and there always has to be bobdole that feels the need to point out how we could use it for negative reasons. GO BOBDOLE You are the reason we get no respect or liberties. I swear some people really just do the worst!!! Fake experation dates. Why so you can get someone sic? Ohh and BTW Dude , Wicked hack .

bobdole wrote at 8 Oct 2006, 22.31:

nice!
it'd be fun to write phony expiration dates on things or just random messages...
how far from the page can you get before it gets blurry/faded?

Chaz wrote at 8 Oct 2006, 21.44:

No he wrote H20 accross it, the chemical formula for water lol, very nice hack indeed, and the writing on water was just amazing.

Metric wrote at 8 Oct 2006, 21.24:

did you write 420 across the water in this picture?
http://sprite.student.utwente.nl/~jeroen/foto/foto/inker/tmb-hpim3736.jpg

Alexander Monday wrote at 8 Oct 2006, 21.16:

Bravo. This is just the kind of electronics hacking that I like, hacking for hackings sake.

David wrote at 8 Oct 2006, 20.04:

Some guy wrote a book about doing this:
http://www.parallax.com/detail.asp?product_id=27949
There is a video of someone printing on an egg:
http://www.parallax.com/dl/mm/video/PrintOnEggVideo.mpg
You have to be careful not to energize the resistive element for too long, or it will burn out that nozzle.