October 21, 2014 at 2:46 am #1940
Actually might be better to use the ULN2003A rather than the transistorOctober 21, 2014 at 2:48 am #1941
Nevermind just had a look at the patent, it’s not like the C6602 printhead.October 21, 2014 at 3:20 am #1943
ok new idea
Hook up each contact of the ribbon cable from the printer to mcu inputs using zeners as voltage regulators through current limiting resistors:
I have a 48Mhz UC3A with plenty of input pins and high speed usb out for data collection.
Anyone see any problems with this before I give it a go?October 21, 2014 at 9:01 am #1944dragonatorKeymaster
The CN642A is indeed not a direct driven printhead. Even the math simply doesn’t add up. A printhead of this age has to have hundreds of nozzles, yet there are slightly under 40 pads on the printhead. While I thought matrix for a while, the traces coming from the pads don’t support this theory, there are a few (around 8) really thick traces (2-4mm thick) and the rest is hair thin traces. Together with the amount of all traces, current theory is that there are shift registers somewhere in the printhead. There is 3 traces for every color and 5 sets of 3 for the black.
I myself do not see any problem with your setup, but please don’t use my word as guarantee that it is safe, I have no real experience with zener diodes. If you have a printer with a CN642A and a logic analyzer, it would be great if you were capable of getting a data dump from a printhead. It shouldn’t be too hard to establish if it is indeed a CN642A from the signals being sent to the printhead.
I like the idea of printing shirts with it. I hope that the printhead is capable of printing the kind of inks required for T-shirts. It shouldn’t be impossible to design something to print shirts once the printhead is hacked. One question, wouldn’t it be possible to simply hack an existing Inkjet printer to directly print on T-shirts? This should give better resolution and is very doable with current knowledge and tech.October 21, 2014 at 9:08 am #1945
Well the other possibility is to use the ADC inputs and record the signal data.
I have an EVK1100 Development board with 32MB ram and 8 ADC inputs. It has over 100 IO pins as well, that’s why I was going to go with simple logic input rather than ADCs, that way I can record a good 30 seconds or so of data, from every contact on the ribbon cable, to the ram then send it to the computer through the uart.
Once we have the data I can use a scope on each contact to determine the driving voltage, if you haven’t already done so.
I’m well aware of the t-shirt printer projects around using the original printer controller but I want to work directly with the print head more for experimenting and curiosity. Also because there are many more projects that could use a decent print head driven directly from a MCUOctober 21, 2014 at 10:01 am #1946
That is a good idea. I ordered another printer for disassembly, awaiting delivery any day now. The reverse engineering then goes in a few steps:
First I need to get to the contact on the pcb, because adding hair wire to the print head, though possible, is tedious. After soldering tap wires to all contacts, I will verify voltages with a scope. This is needed to avoid damaging the logic analyzer in the next step. https://www.saleae.com has a great collection of those, and I am happy to have received one of the first of the new generation. Connecting those to the pins should make the protocol immediatly visible.
I also assume that we have multiple shift registers in parallel (clock, data, set), but there will likely be additional pins for firing, head temperature, and maybe other diagnostics. Plus GND, logic power, and nozzle power.
We will see.October 21, 2014 at 8:37 pm #1947
OK, I received my printer today – probably the messiest ink jet printer I have ever layer my hands on!
A few things before I post the photos:
– the carriage is incredibly fast!
– the carriage contains an optical gate to count x positioning, and a reflective light sensor to sense ink head alignment
– the carriage has a PCB inside with two caps and an 8 pin unmarked chip
– the ribbon to the ink head has only 24 connections, and only 20 seem to be used. Many of them go to multiple pins on the head
– two traces are super wide, one is wide, the rest is hair-thin
– everything is soaked in ink
– HP is very smart: removing the scan unit gives full access to the print mechanics. The software recognizes the missing scanner, but still works as a printer. Wow!
– I did get it to print after cleaning and fixing the car wash. Now my hands are black, and the printer is white again 😉
So next I need to solder 24 wires that withstand the carriage acceleration onto the ribbon connector, reassemble the carrier, and then log the data arriving right at the print head. Fingers crossed.October 22, 2014 at 12:14 am #1948
Very nice. I assume the signal will probably be fairly high speed so the logic analyzer will need to be much faster. Is yours the 500MS version? Mine is much slower so I doubt I will have any success. If only I had a large bank account 🙁October 22, 2014 at 9:01 pm #1949dragonatorKeymaster
I know we have not yet hacked this printhead yet, but can I already personally thank everyone that is helping with hacking the CN642A (and related technology). The information and photo’s here are already incredibly useful (Like Wonko’s photo, that perfectly tells me which contacts are power, signal and which contacts are shared). I know I haven’t been of much help the past few weeks, part because I have no 3D printer right now, but also a good part of me not having bought a Photosmart to hack yet (which now seems like it really is necessary). I think it is amazing that you just bought a Photosmart to hack for this project.
I promise that when the printhead is hacked, I will make sure all time spent now hacking this printhead will be more than worth it. I hope to have my 3D printer working after the coming weekend, then I can start 3D printing again and testing the carrier design with cartridges. If by then there isn’t much additional progress, I might buy a photosmart myself and start helping with hacking.October 22, 2014 at 9:22 pm #1954ezrecParticipant
I don’t think you’ll need to solder onto the carriage.
If you diode-check continuity from the printhead pads to the ribbon cable, I would guess you will find that they are directly connected.
My guess, from looking at this printhead carriage, is that HP has moved all the shift-register logic I am attempting to decode for the HP60 series off of the printhead carrier and into the printhead itself.
What this should mean is that you should see a 1 (or a few) ‘always on’ 16v power signals to the printhead, and the rest should be 1.5v or 1.0v logic signals to the printhead shift registers.
That would explain the very low pin count on the printhead, and the simplicity of the carriage logic.October 22, 2014 at 10:14 pm #1955
@dragonator Well, I wish I had more time to dedicate to this. There will be no time this weekend, so I guess patience is required. I don’t see a need for you to buy a printer, unless you either are faster with testing, or you will want to verify my results ;-). Instead, it would be great to see a good ink cartridge clip and a mount to Plan B (or Plan C) come out of this.
@ezrec Yes, I agree. The connectors from the ribbon cable to the fixed PCB are much mach smaller than the connectors on the carriage, and I don;t know if I can solder there. By tapping right into the print head ribbon, I can get exactly what the printhead gets, which is what we plan to emulate. I expect a clock signal, a reset signal, a load signal, one or more fire signals and a bunch of data lines. The Power will probably be around 16V as you say. The logic however I expect at 5V or 3.3V. If that is true, we will no driver electronics at all and can connect right to an MCU.October 23, 2014 at 1:51 am #1956
I have been doing a bit of digging and I’ve found a used printer, Epson Stylus Photo 1410. The print head is fairly cheap ~$150, 6 colors, 90 nozzles per color, empty ciss systems available, but the great thing about this print head is that it is driven by only 9 pins which suggests a simple serial communication protocol or single shift register. Thoughts?
The other benefit is that there are UV curable inks available for it which would be great for what I want.October 23, 2014 at 2:22 am #1957
The Epson printhead connector is mostly known. It has a quite complex chip on board that requires a funky waveform on the high voltage input to generate 3 droplet sizes. They are awesome printheads, especially since they use piezzo technology. That gives them a much broader range of liquids than the HP heat based heads, and a much longer life span. I find them relatively expensive though.October 30, 2014 at 9:11 pm #1970
OK, I have soldered 24 wires to the ribbon connector on the printhead. I want to avoid ruining my logic analyzer, so I tapped into all wires using a scope first to find the high voltage line that would destroy the logic analyzer’s input. So far, I have seen some weird noise on two pins, some digital data on three other pins at around 3.5V. No line carried more than 3.5V when testing. There must be a line though that supplies 18V or so for the heating elements.
I will try to create a repeatable test pattern for further testing. I also need to find my probes to avoid noise on the scope.October 31, 2014 at 12:27 am #1971ezrecParticipant
For a repeatable test pattern, I used the ‘Demo/Diag’ page of my printer.
A much better idea would be an all-black bar 90 pixels high, followed by an all cyan bar 90 pixels high, etc etc. (or however many pixels high your printer head is).
Use fast-draft mode to waste less ink.
- You must be logged in to reply to this topic.