Repairing (?) A Canon i9900 Printhead

Pretty much what it says on the tin... yes, this is nucking futz. We know.

Similar projects worth following
I can't afford a replacement (40+USD) printhead for my mother's circa-2005 Canon i9900 "wide format" (13x19 inch max) printer, and the inability to print 11x17 stuff while I'm visiting is driving me crazier (!), so let's see if we can fix this thing.

The Canon i9900 is an ooooooooooold printer. The hardware-side interface consists of two buttons and a bicolor LED. The two buttons are Power (turns it on and off, duh) and Resume (what you press when you've replaced ink or added paper after it b*tches at you for having run out of one or the other). The LED is either green or orange in color and can flash. Green is good, orange is, er, not.

The specific error code being given by this printer is a set of flashes in a repeating sequence. Specifically, GRN-ORN-ORN-ORN-ORN-ORN, that is, one green flash followed by five orange flashes. This is explained by Canon in the relevant literature in copious helpful quantities of detail as "There is an error with the printhead." (Thanks, Canon... *rolleyes* ) The only manufacturer-approved remedy, unless one can make the error go away spontaneously, is to spend beaucoup bucks on a replacement printhead.

No thanks.

My pet theory, which may or may not be wildly inaccurate, is that the printhead's ROM (on the back of the circuit board with all the contacts) contains both an identity string and a use counter. It's the same scam as with ink cartridge chips, and it works like this -- every time an ink cartridge spits on your paper, the printer's controller increments a value in the ROM chip on the cartridge. When the printer "thinks* the cartridge is about 2/3 empty (which it may or may not be) it starts shrieking that it's out of ink and that imminent global thermonuclear doom will happen if you don't go off and spend a thousand bucks on ink RIGHT BLINKING NOW. So you heave a heavy sigh and go off and spend a sum that would shame Warren Buffet on little plastic things with ink in them, pretending the whole while not to notice the Bic pens in a bag two aisles over that are also little plastic things with ink in them but that miraculously go for two dozen to a dollar instead of something like $35+ each. (To quote a webcomic called "The Oatmeal", and quite reasonably so -- "Either printer ink is made from unicorn blood or we're all getting screwed.")

So what I think happened here, is that there's a value somewhere in this ROM that, if changed, will make the printer think its printhead is brand new, and that the old one simply has an "invalid" number of uses because it's original to the printer, and the way Canon set things up, it's had the sheer audacity to survive past its allotted lifetime (per whatever the accounting dept insisted on) so the printer thinks its just, you know, time to throw more money at poor little Canon Inc once again... never mind that *any* given international conglomerate of that size could literally use $20 bills as toilet paper without a terribly significant impact on their bottom line... it doesn't matter, they just want more... they always do...

Directions to create your own ROM dump are in the appropriate section. If I get enough of them that I can discern a pattern, that would be awesome. If someone from Canon, *especially* someone who worked on the design of this particular model, wants to get in touch with me and explain the ROM -- I promise you that I will buy you lunch (there will be some fine print on that, out of necessity), *especially especially* if you're willing and able to come to me and tell me everything you can about this thing. (if not -- we'll work it out -- maybe you have Paypal?)

MiniPro Screenshot - Initial i9900 ROM.png

A screenshot of the contents of i9900_PH.HEX, for those eho can't otherwise read it.

Portable Network Graphics (PNG) - 25.38 kB - 09/30/2019 at 04:02



My initial readout from the i9900 printhead ROM.

hex - 750.00 bytes - 09/30/2019 at 02:53


  • 1 × Canon i9900 printer with a QY6-0055 printhead
  • 1 × Soldering iron and solder
  • 1 × Tweezers or (fine) needlenose pliers
  • 1 × A chip programmer of some kind, and the supporting software and hardware to operate it
  • 1 × An internet connection

  • UGH

    Starhawk10/13/2019 at 16:57 5 comments













    The i9900 does not go together with screws and bolts, at least in regards to the housing, the way any freaking decent printer dang well ought to.


    Cue me, hunched over a table with every friggin slot screwdriver in the house, back screaming, literally prying the piece of $#!* apart because that's the only way in.


    Dear Canon, while I understand that there must have been some sort of budgetary pressure requiring you to shave fifty cents off the manufacturing cost of each printer -- DID YOU FREAKING HAVE TO DO IT THE GOLDANG *STUPIDEST* POSSIBLE WAY...?!?!?!

    I now know two things very well. The first is a rather considerable litany of curse words that do not exist in the English language. The second is that at least my next two printers will very certainly NOT be made by Canon.

    Ironically, I may have fixed the mechanical issue in the donor printer, after getting the shell off. The intake hopper's roller was stuck in a particular spot and I did knock it free. Once my blood pressure and heart rate return to sensible levels and I can look at it without starting to speak in tongues again, I think I'm going to swap the printhead and ink cartridges back into the donor machine and see what happens when I apply power.

  • Veeeeery interesting...

    Starhawk10/13/2019 at 00:28 0 comments

    So super huge thanks to @pantaz for sending me another i9900 for cost of shipping. He tells me that it was a dustbin rescue from his office...

    I got the package this morning, and I was quite impressed with the packing as soon as I cracked it open. He had used bits of cardboard and the sort of interconnected, industrial strength bubble wrap that is nearly unpoppable and typically found in shipments by AppliancePartsPros and the like... nice!

    Thanks again, dude...!

    I took a look at the machine before hauling it upstairs. While its outer housing was quite dusty and even a bit dirty in a couple spots, the head looked almost new. The intake nozzles were whiter than (pardon me) a particularly sun-starved K-Pop girl who's just seen a couple of ghosts getting it on in her own bed. Kind of odd... this machine apparently didn't get too much to do in its previous career.

    Alas, this new printer was fired for good reason - it has a mechanical issue with its paper feed mechanism, and it's smart enough to realize this and blink the proper code, as soon as it happens in the middle of its power-on dance.

    So I put the printhead from it into the old one, plugged it in, and powered it up.

    It did the power-on shimmy-shammy.

    Green blink.

    Orange blink.

    Orange blink.

    Orange blink.

    Orange blink.

    Orange blink.

    "Well, that's interesting...!"

    I think the next step is to attempt a logic board swap from the new machine to the old one.

  • The time has come, the Walrus said, to talk of many things...

    Starhawk10/03/2019 at 05:51 0 comments

    ...of ships and sails and sealing wax, of cabbages and kings... *smacks own head with printer* Owww... sorry.


    @Miklós Márton suggested that the ROM might be able to be read but not written to, and that I should try to erase and reprogram it.

    I just now fired up the programmer, wrote the chip full of FF's, and then rewrote the original programming back. Both attempts were successful, meaning that the ROM itself is likely not the source of the issue.

    While I have not discounted the possibility that the issue is rather the printer, and not the printhead itself (the flippin thing works fine when it wants to... namely if I douse it in tremendous quantities of 91% isopropyl... I get about half an 11x17 page that way and then, well, green-orange-orange-orange-orange-orange) -- I am prioritizing investigating the printhead, because it's by a very considerable margin more easy and simple than disassembly and troubleshooting and subsequent reassembly of the printer proper.

    Setting aside the issue of, this printer is juuuuuuust new enough that it is designed /not/ to be disassembled... my mother's house is the victim of some rather gnarly actions by a combination of nature, economics, and the homeowner's insurance company, and thus she is in the middle, more or less, of having repairs done to clean things up. While I absolutely WILL NOT get into any degree of detail on this, suffice to say that the relevant printer, not being one she typically uses, is in a room upstairs that the repair company is using as something of a closet while they otherwise put things back together as best they can. While the room itself is navigable to some extent, and the printer is reasonably accessible, it is not a situation where I can reasonably move the printer around or otherwise access all sides of it, and as such, any attempts to access its innards would be something of a Herculean task.

    Further, that part of the house (the upstairs) has never had proper heating or cooling -- we usually use a weird, complex scheme of window and box fans and cardboard baffles in summer and there are baseboard heaters in most of the rooms up there for winter. It sucks but it's reasonably manageable once you're used to it, and it's approximately functional enough to make the floor habitable for most of the year. The reason for this is, again, money. The house was originally a single floor... my father and a local family who were friends, added the second floor on after my parents bought the place. This was in the early 1980s, and air conditioning was (oddly enough) kind of a new thing back then. A unit was installed, but it by no means had the horsepower to loft air that far up, and so ducting was never run. While the original air conditioner has long since been replaced, a fairly consistent money issue has meant that that floor of the house has, sadly, never been given the climate control it properly deserved.

    That said, this Saturday, the local weather reports indicate, is when Fall is supposed to properly arrive, at least in terms of temperatures. Depending on exactly how that plays out, along with my energy levels, I may take up the effort, or at least make the attempt to do so, required to make the printer properly accessible for a partial teardown. There's a lot of rearranging that has to happen in that room, for that, but we'll see... don't hold your breath, though.

  • Please Send Kittens

    Starhawk09/30/2019 at 04:05 0 comments

    Well, here goes nothing. I've created this page and will keep it up-to-date as best I can.

    Wish me luck...

View all 4 project logs

  • 1
    Remove the printhead

    Lift the lid on your Canon i9900 with the printer off, and then turn it on. Wait for the cartridge to stop moving and the green light to stop flashing and light steady-on. Remove all eight (!) cartridges and set them aside. Flip up the gray lever at the top-right of the carriage. The printhead is now loose, pick it up and pull it out. Unplug the printer.

  • 2
    Identify your printhead

    There are two compatible printheads for this printer. One (the original) is the QQY6-0055, and the other (a later replacement) is the QY6-0076. To my knowledge, there are NO OTHER PRINTHEADS that are compatible with this printer.

    The model of your printhead should be molded or stamped into the plastic somewhere on it. You will need good lighting to see it! (A flashlight is good for this.)

    MY PRINTHEAD IS A QY6-0055. If you have the QY6-0076 printhead, you cannot help me (sorry), and you should follow the directions in Step One, in reverse order, to put your printhead back in the printer.

  • 3
    Removing the ROM from the printhead

    You will need a soldering iron, solder, and tweezers or fine needlenose pliers for this.

    The printhead's circuitry consists of two principal parts. One is a green PCB with lots of contacts on one side, and a SOP-8 serial (SPI) ROM chip on the other. The second part is a flexible circuit board, silicone glued to the green PCB, that acts as a wiring harness to permit communication between the printer and the printhead's actual, er, head, where the ink comes out.

    That green PCB is held on with four "heat stakes" -- plastic columns, integral to the plastic body of the printhead, that the circuit board has been placed over, where the tops of the columns have been melted to form a rivet-like cap over each hole in the PCB.

    Gingerly remove the caps from the heat stakes and (more gingerly) pry the PCB loose -- be VERY careful -- the PCB is thin and silicone snot-glue can easily break. If the PCB cracks or the flexible circuit board comes loose, your printhead is permanently and irrevocably shot to heck and you ABSOLUTELY MUST buy a new one. Don't do that to yourself!


    Once you have access to the back of the PCB, use a soldering iron to remove the chip. What worked for me was, using a Hakko 926 iron set to about 750 F and a conical tip, melting a little new solder (I use 60/40 and I don't care) onto the pins of the chip, and then laying the entire tip of the iron across all four pins on one side, then pulling up with a pair of needlenose pliers to free one side... then repeating this on the other side to get the chip off. Have patience, it takes a while. If you're worried about giving the chip heatstroke -- stop and let it cool, don't risk killing it. You can't read out from a dead ROM anyways.

View all 5 instructions

Enjoy this project?



Omar wrote 10/03/2019 at 16:18 point

I opened the Hex file with HxD, content is different from your screenshot.

  Are you sure? yes | no

Starhawk wrote 10/03/2019 at 16:20 point

Details please!

  Are you sure? yes | no

Omar wrote 10/03/2019 at 17:04 point

Forget it, opened with notepad++ and content is the same as your screenshot, maybe I need to change some view options on HxD, sorry.

  Are you sure? yes | no

Starhawk wrote 10/03/2019 at 22:06 point

@Omar - no worries :)

  Are you sure? yes | no

J wrote 10/03/2019 at 00:43 point

You've tried to open the original firmware?:
try this one:

if you change the extension of the download to zip, you can obtain an .dat file.  This file seems to have an s-rec structure. You can view/edit this file with a tool called "srecordized".  It can be downloaded from:

Maybe, the memory dump you are looking for is inside this file.

Good luck.

  Are you sure? yes | no

pantaz wrote 10/02/2019 at 23:22 point

I have an i9900 that was going to go to e-waste recycling. It was in a junk pile at work -- I have no idea what's wrong with it. If you will pay shipping, I can send you any parts of it you would like, or the whole printer, if you want it.

  Are you sure? yes | no

Starhawk wrote 10/02/2019 at 23:38 point

HOOOOOOOLY CRAP CHRISTMAS CAME EARLY. Thank you a million times over for your generosity, sir or miss - speaking from my artist side, the ability to print on large sheets of paper without image splicing, tape, and an X-Acto knife being involved (let alone what my mother's second printer, a truly, truly awful Brother multifunction cheapo) really is priceless. I live away from her most of the time now, but being unable to print on tabloid/double (11"×17") paper when I come to visit for a week or two... it's not exactly like losing an arm, but it's extremely handicapping to my artsy side.

Quote me shipping, please, both for the whole printer (no ink plz, it will blow up all over the inside) and for just the printhead, absolute dead cheapest you can find amongst the three major carriers. The ZIP Code to use is 27344-6644...

I should note that USPS Priority will (sadly) very likely be the cheapest - Parcel Select, Standard Post, and Retail Ground (three different names for essentially the same thing) are typically priced within a dollar both of each other and of Priority Mail, and the Postal Service usually well undercuts FedEx and UPS, despite (at least in my area) being considerably more reliable.

I don't need speedy shipping - I have very limited funds, hence why I'm not simply nabbing a new printhead off eBay. That said, I got my Oct funding this morning, so this is at least potentially possible.

  Are you sure? yes | no

pantaz wrote 10/03/2019 at 04:38 point

I'm out of town until Monday. I'll check on shipping then.

  Are you sure? yes | no

Miklós Márton wrote 10/02/2019 at 21:16 point

BTW. the service manual says a bit more about the 5 orange blink:

(EEPROM data of the print head is
faulty) [1403/1405].

Also there is a service method to initialize the EEPROM.

  Are you sure? yes | no

Starhawk wrote 10/03/2019 at 02:07 point

Link to service manual and/or a copy of the instructions to re-init the ROM?

  Are you sure? yes | no

Miklós Márton wrote 10/03/2019 at 11:05 point

Google -> Canon I9900 service manual ->

  Are you sure? yes | no

Miklós Márton wrote 10/02/2019 at 21:07 point

Verify that the EEPROM is still writeable. Write random contents verify it,  write all FF verify, write all 0 verify. It might be possible that it has some counter in it, and it cannot increment it since it is worn out. I have seen similar for LCD monitors where the power on hours is tracked. Replacing the EEPROM and writing the contents to the new one solved the problem.

  Are you sure? yes | no

Starhawk wrote 10/02/2019 at 21:41 point

That's a thought. I've got a bunch to do today, and after that, access to that printer will be somewhat limited - but I'll try it tonight if I can.

  Are you sure? yes | no

Starhawk wrote 09/30/2019 at 06:33 point

All colors were working up until the point that it died. Cleaning the printhead contacts very thoroughly with 91% alcohol gets about a half a page printed, then it fails again. I tried cleaning with an upside-down "can of air" (the printer-side contacts are fragile leaf springs, and cannot be cleaned with anything that directly touches or rubs them) and cleaning just the printhead with a pencil eraser, and both had no effect.

I also tried resetting the waste ink counter (which actually is a proper factory reset of the printer firmware)... I'm not entirely sure I got it right, since this must be done with the two buttons on the printer and this particular one has a wonky Resume button, but I *think* I got it, and again it did not clear the error.

  Are you sure? yes | no

Ken Yap wrote 09/30/2019 at 07:10 point

What if you let the print head and driver electronics cool before trying again to rule out overheating driver electronics?

  Are you sure? yes | no

Starhawk wrote 09/30/2019 at 07:16 point

It gets used less than once a month, and I've only rarely subjected it to more than one print a day in the past several years.

Further, it hits error stage as soon as it finishes its power-on housekeeping.

I can't rule out a loose connection between the carriage's multi-part ribbon cable and the logic board, but actual disassembly of the chassis is not possible right now for a couple of complicated reasons - without going into too much detail, it's a phenomenal lunker of a printer (it's wide and heavy and cumbersome) and the room it's in is very hard to navigate right now because it's being used as a storeroom due to some urgently-needed home repairs.

  Are you sure? yes | no

Ken Yap wrote 09/30/2019 at 15:30 point

I think you should invoke Occam's Razor, i.e. explore more mundane possibilities rather than complicated theories simply because the printer is inaccessible. IIRC the ink is ejected by carefully calibrated current pulses hearing a microscopic chamber. Another channel controls an electric field to divert the ink to the gutter or not. What if the self test routine found that the resistance of the heating circuit was too high due to unreliable connections?

  Are you sure? yes | no

Starhawk wrote 09/30/2019 at 16:06 point

That might do it... but, again, I can't really access this printer in a way right now that would let me test for that.

Further, the printer is just new enough that effecting repairs to the printer itself will be extremely challenging, not just because of space issues bur because it is itself meant as a consumable. There was a paradigm shift in printer design at the end of the 1990s, where they started making them more cheaply and designed to simply be discarded and replaced if the printer itself broke down, rather than making them easily repaired. That's why I've not fixed the Resume button - it's a simple tact switch, but getting to it is a phenomenal effort.

What I'm actually doing here is prioritizing repair efforts to the parts I can easily get to. If I absolutely have to, sooner or later, dig out the dang thing and do a proper teardown, I will. But since this is a printhead issue and I can get to that part easily, I'm going to do what I can with it first.

  Are you sure? yes | no

Ken Yap wrote 09/30/2019 at 16:56 point

Yeah I know about these cheap "razor" printers. Refuse to buy one for the sake of the environment. Several years ago I posted a joke about a $9 printer deal:

  Are you sure? yes | no

Starhawk wrote 09/30/2019 at 17:02 point

This one was, being a "wide format" printer, not nearly that badly made - or inexpensive. My mother, an attorney at the time (now retired), was trying to start a nonprofit to help her coworkers at the time (she was operating in a weird tiny niche part of the law, with a number of others who were all "organized" as independent contractors to a central authority). The nonprofit didn't last, but it paid for the printer... I still remember getting it at Staples... clearance... and it was *still* $500 for the dang thing.

Considering that that was somewhere between twelve and fourteen years ago, I guess we got our money's worth!

  Are you sure? yes | no

Ken Yap wrote 09/30/2019 at 06:09 point

You seem to place great store by the ROM theory but maybe it's something mechanical like clogged nozzle or failed ink ejector?

Maybe ask around if anybody has the same model but with another fault so you can try the print head from that.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates