Hacking the Canon BJ-21 Printhead

Home Forums 3DP printing Hacking the Canon BJ-21 Printhead

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #1972

    Here’s a printhead that seems a bit easier to work with, is available still (on EBay, approx 25 USD), and is reasonably well documented.

    Check out pages 4-4, 4-5, 4-19, and 4-20 from the Canon BJC-4550 Service Manual:


    128 nozzles for the black only version, 136 nozzles for the color.

    If there’s any interest in this one, I can get voltage readings from the pins for the thermal diode for the internal preheater.

    The heater array is 24V, but it is driven by 5v logic, with a 128 or 136 bit shift register.

    I think I’m going to focus my attention on this device, as it is better documented than the HP 60 pen.


    The first Z-Corp printers use this cartridge. They are over 20 years old by now IIRC. I had quite some trouble getting a reasonable number for my Z-Junker. The printheads barely survive a single print and need to be modified because they are one piece with the ink tank. The ink tank contains foam and can not be emptied or refilled. I had to use a hacksaw to decap it (huge mess with a full cartridge), then remove the innards and flush it, and finally glue in a cut-off test tube to get the ink system going. The color version is a combination of a hacked ink head with three tiny ink containers. The heads are quite rare. I have not found one that was working in three spare printers. An even if you get CIS going on those, you still need three heads for CMYK and Clear color.

    I would see this cartridge as a slightly better HP C6602A that Plan B already uses.


    Well, I have the color head (yes, I agree, the black is junk for my purposes), but I have just today, as I was disassembling my BJC-4550, found another good reason to use this head:

    It Just Fits!

    The Canon BJC-4550’s head, X carriage, and control electronics package all fit on my existing base.

    My plans are now considerably simplified, and I might just be able to get a working printer chassis by the end of the month:

    * Make sure the ‘reverse line feed’ function works as advertised
    * Configure BJC-4550’s Y stepper motor drive to drive my Y axis
    * Modify Gutenprint’s BJC driver to support the ‘page size’ of my part bin
    * Attach powder roller to back of the Y axis carriage.
    * Get a USB to Parallel adapter

    The Z-slice process would then work as follows:

    * Start in ‘waste’ area at front of the part bin.
    * Send Z-slice as raster to (via Gutenprint) to BJC-4550’s parallel port
    ** Y carriage is now between part and feed bins
    * Continue to send linefeeds until Y carriage is at rear of feed bin
    ** This triggers a limit switch, which causes the Arduino to move the feed bin up one slice
    * Send reverse linefeeds until Y carriage is in waste area
    ** This rolls the powder into the part bin area, and any excess into the waste chute
    ** At the end of the powder roll, the Arduino sees a limit switch, and drops the part bin down one slice.
    * Go back to start.

    The Arduino software is now trivial, and could probably be replaced by simpler electronics.

    The BJC-4550 head control and frame could probably be ‘faked’ into believing a cartridge is present when it is not (it just needs the heater thermal diode to be replaced by a fixed resistance), and I could use the 24v + logic to drive other extruders if needed.


    Well, the Canon electronics seem to care way too much about the paper feed sensors, and can’t do reverse linefeed on command.

    No problem, they were silly slow anyhow – it did’t have head acceleration compensation for dot positioning like the HP F4480 does.

    I’ll keep the PSU, frame and printhead, but ditch the control electronics. The frame fitment is really nice, and having a pen capping station that ‘just works’ is a great plus.

    Now, on to the Y axis braided fishing line drive….

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.