Do you like my hacking? If so, please consider leaving something in the
Fediverse (Mastodon etc): @Sprite_tm@social. spritesmods.com
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.
103 commentsNow in color: https://hackaday.com/2018/11/12/sprite_tms-magic-paintbrush/
Thank you so much for making your work public!
Awesome hack with minimal components! But wouldn't the ink be permanent on a whiteboard? :)
Can anyone tell me the time duration of 20 volts being applied to the cartridge?
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?
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 ??
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
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.
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
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.
oh and on the topic of late to the scene, all the grounds, they must be tied together? I missed that note....
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.
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.
cool i want to make one.how can i contact the author?
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.
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.
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.
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.
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.
lios, chech out the link in my last comment. HP 15 = HP 45 with less ink inside.
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
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.
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
i forgot: here a video of their 2006 prototype: http://www.youtube.com/user/PrintDreams#p/a/u/2/fSM5z5vL-Qo
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...
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 :)
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/
i can\'t find this cartridge type in my country,can anyone to show me about pinout for new cartridge, like hp21, thnks
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...
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
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!
That\'s not an issue - the printer head itself seems to have transistors or mosfets in place: the lines are active-high iirc.
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)
holy crap that was cool....great idea- figuring the pin function by disabling the connection
I can't get http://www.uploadarchief.net/files/download/pinouthp626_small.jpg Is there anyone who can reupload it?
Low voltage I can use? Such as 15V. waitcool and waitnozzle time I want to lengthen the time?
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.
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).
Is there any possibility that I can obtain a datasheet of that inkjet cartridge???
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??
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 :)
Here's an HP version: www.hp.com/large/products/handheld-sp400-aio.html
what is the right value of the resistors? In the circuit is 4007ohm and in the text is 4k7. Thanks
Iirc it runs on the internal 8MHz oscillator.
What speed is the ATTINY2313 running at?
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
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.
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...
Didn't you try combinig this with your optical mouse-cam to get a better printer movement tracking? It'would be great!
Commercial version: http://www.xyron.com/enUS/Products/Xyron_Design_Runner.html
Your hand-drawn schematic is correct while the cad-drawn one has a capacitor in series with the micro's power supply...
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?
Sorry, it won't print on your penis as the media must be a bit larger than the distance between two nozzles.
Hi, Well, is there any knowledge about thermal cartridges.
That's very good
Really clever, and really well documented. I was looking for information on hacking printer heads, and your site has it well covered. Thanks bunches!
hi, excelent project your have this any cartridge of hp printer 3535?, thanks...
Where can i find lexmark z12 circuit to hack?
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!
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.
This is great! Jamby read my mind... As a tattoo supporter, and a hacker, these two things together could be an amazing thing....
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.
How about a hack for instant tatoos? Raise the DC to 70v, replace the ink in the cartridge with tatoo grade ink?
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
Jesus couldn't print on water, and you've done it with an old printer cartridge and some cap's. Start opening up churches!
This exists in production...search for Design Runner and you'll see. Works pretty well.
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..
Fine, good work, but you better of drank that Guiness, because ruining a beer just to prove a point is crossing the line, bud!
Yes, but if you read carefully the ink will be hot. =) (j/k)
But can it print on my penis?
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
wow. nice handy work on that homebrew inkjet brew printer. i especially like the duct tape enclosure.
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!
Fantastic. Love how you figured out the pin combinations. Very ingenious.
Congratulations! Your idea saved my day. Finally, I will be able to print "I am sleeping" on my eylids.
OK, now add an SD card to hold a longer message... Truly excellent hack!!!
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.
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...
Just don't venture to US anytime in the future as you have just broken the DMCA.
i wanted to know wat the chemical foRmula was for sprite ! not that!!
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.
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!
nice work!
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.
<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.)
Take a look at the "Random Motion Printing Technology" device at http://www.printdreams.com Very excellent work here. I am very impressed.
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.
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!
Can you attach some sort of distance wheel to regulate the output?
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.
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?
Sweet. I wonder if the IR sensor out of an optical mouse could be used to clock this device as the head is moved.
Wow! very nice project! it seems this: http://random-international.squarespace.com/pixelroller-overview/ or http://random-international.squarespace.com/pixel-roller-overview/ good job! --- ottimo lavoro! chissà quanto tempo ci hai messo per scrivere il firmware del controller... meno male che c'è internet che mi permette di vedere questi lavori ;) greetings from Italy! NiL
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.
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)
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 .
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?
No he wrote H20 accross it, the chemical formula for water lol, very nice hack indeed, and the writing on water was just amazing.
did you write 420 across the water in this picture? http://sprite.student.utwente.nl/~jeroen/foto/foto/inker/tmb-hpim3736.jpg
Bravo. This is just the kind of electronics hacking that I like, hacking for hackings sake.
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.
Phantastisch ! : )
The article has been up a while: http://spritesmods.com/?art=magicbrush