The HP45 printhead is an inkjet printer cartridge designed by Hewlett-Packard. It is found in inkjet printers and plotters from the early 2000’s. The design consists of a large reservoir to hold ink, a set of contacts on the back and 2 rows of nozzles on the bottom. The ink reservoir holds 42ml of ink is held under slight vacuum using a spring. Even for today’s standards, the HP45 boasts a respectable set of features. It has 300 nozzles spaced at 600 dots per Inch (DPI). The whole printhead operates on 12V and 52 contacts on the back are used to control the printhead.
The HP 45 printhead can be used to print with ink on a varied amount of surfaces. This can be to mark object, or make a custom inkjet printer. It can be controlled with fast microcontrollers that have a lot of pins (such as the Arduino Mega or DUE). The printhead can be emptied and refilled with any volatile fluid that doesn’t react much. The heater has to be able to vaporize a droplet. This means that the printhead can print with liquids like alcohol and water. More aggressive solvents like white spirits and acetone might be possible, but this needs to be tested first.
On this page I hope to share all I know about the HP45 printhead so it may benefit others. All I know is through tests, experiments and through information acquired from people and documentation. Expect the information on this page to change as more experiments refine values and more properties of the printhead are found.
A special thanks to:
A lot of information was taken from a patent that applies to the HP45: http://www.google.com/patents/US5946012. I thank HP for providing such a rich source of information.
Also a special thanks to Aad van der Geest @ Spitstec: http://www.spitstec.nl/. I do not think I could have hacked this printhead without your wisdom. (seriously click the link)
How the HP45 works
The HP45 is what is called a bubblejet or thermal drop on demand printhead. Each nozzle on the printhead has a chamber with a tiny heater attached to it. When the nozzle needs to eject a droplet of ink, the heater is briefly powered, flash vaporizing a small bit of ink in the chamber. This vapor pushes out the rest of the ink in the chamber. After a droplet is ejected, the heater cools down and the chamber fills with ink again. To give an idea of how fast this process can happen. In the HP45 it takes just 2 microseconds to eject a droplet.
As mentioned, each nozzle consists of a chamber with ink and a tiny heater. On the bottom of this chamber is a hole of roughly 28 microns through which the ink is expelled. The heater is a tiny resistor with a resistance of around 30Ω. Also on each nozzle is a Field Effect Transistor (FET). This is something to do with the manufacturing process and is used to multiplex the array of nozzles. Each address on the nozzle requires 12V to open the gate. The primitive requires 12V, though it is said that the voltage becomes lower as the printhead starts to warm up.
The nozzles are connected in a multiplexed array. This way 300 nozzles can be controlled with only 36 controlling pins. 14 of these pins are primitives, connected straight to the heating resistors. The primitives will run the actual current that will eject the ink. The other 22 are addresses and are connected to the gates of the FET’s. The addresses only need to open the gate and can so don’t need much current to activate. The grounds are drawn as separate lines, but in the printhead they are all connected through each other. Other components like the temperature sensor are also grounded through the ground pins.
On the bottom of the printhead are 300 nozzles. At 600 DPI, the 300 nozzles cover half an inch or about 12,7mm. The nozzles are divided in 2 rows of 150 nozzles each, 4mm apart and the full 12,7mm long. Each row has a resolution of 300 nozzles per inch. The 2 rows are staggered 1/600th of an inch so the 2 rows combined give the full 600DPI. Each row of nozzles is not perfectly straight, but actually sways a bit from left to right. There is no specific pattern to this, so the exact table with each exact nozzle location (according to the patent) if found in the downloads below.
To get droplets of ink out of the nozzles, a combination of pins need to be pulsed in order. First the address needs to be supplied with 12V. This opens the gate of the FET, and makes it so that the current can flow from primitive to ground. The time between the address opening and the primitive being powered and is around 2us (Tp-a). All the primitives that are on an address that need to be triggered open next. The voltage Vprim can vary depending on a few factors, but is usually between 9V and 12V. A primitive needs to be open for 2us (Tprim). After that, the primitive is closed. 3us (Tp-a) later the address is closed too. After this, the next address is opened and the process of triggering a nozzle is repeated. After the nozzles on the 22nd address have been triggered triggered, the 1st address opens again. This cascade repeats until the printhead is done.
A few warnings. If the address is closed before the primitive, the FET will be damaged or destroyed. The primitive should always be closed before the address. Triggering a primitive for more than 2us may damage the nozzle. If the nozzles are triggered while there is no ink, the nozzle can be damaged.
The contacts on the back connect to all of the nozzles and some additional electronics. In total there are 52 contacts. Like with the nozzles themselves, the contacts are split into 2 groups. The left side is odd, the right side is even. Important here is that both odd and even addresses go to both rows of nozzles, but primitives only go to their own side. This means that all odd primitives are only connected to the odd nozzles, and all even primitives are only connected to even nozzles. Technically speaking the same goes for the grounds, but they are all connected, so it matters less.
Thermal sense and 10x resistor
The thermal sense resistor and 10x resistor are 2 additional resistors in the printhead to get better information during printing. Not much is disclosed about their exact properties, so this is where the information gets a bit more vague, but this is what I know so far. The 10x resistor is installed as a reference. It has a resistance of around 300Ω. It is 10x as high a resistance as the printhead heater resistors. It can be used to measure the resistance from the controller all the way to the printhead, so all other systems can be adjusted accordingly. The 10x resistors resistance remains stable as the printhead temperature rises.
The thermal sense resistor is a temperature sensor. It has a resistance in the neighborhood of 300Ω, but the resistance goes up as the temperature rises. Values were measured on 2 printheads using hot water and a multimeter. The resistance for each temperature seems to be dependent on the resistance of the 10x resistor. If the 10x has a higher resistance, the temperature sensor also has a higher resistance. Because of this, the table for what temperature is what value will be given in (temperature sense resistor) – (10X resistor). At 20°C this value is around 10Ω and rises with 11Ω every 10°C. At 80°C the resistance will be around 76Ω.
Projects with the HP45
HP45 Standalone Controller V4 is a universal controller for inkjet. It gives the user direct control over every nozzle. Together with special software it can be used to print anything.
Oasis 3DP printer is a powder and inkjet printer designed to be clean and simple to use. It uses the powerful HP45 to print high detail parts in any powder suitable for 3DP printing. The design of Oasis is modular, allowing for future upgrades.
(Deprecated) The HP45 breakout board with carrier can be used to interface with the Hp45 printhead. It is designed to give a 1 to 1 connection with every single of the 52 contacts on the HP45. Two 26 wire ribbon cables with cable headers can be used to connect the breakout to any circuit. The carrier has a latch mechanism so the HP45 can easily be swapped.
There are a bunch of files I have made so far for the HP45. This includes an accurate CAD models of the HP45, drawings with dimensions of the contacts and an Excel file with all nozzle information.
The project described on this page is licensed under the Creative commons – Attribution – ShareAlike license.