HP printer cartridge control module

HP 63/302/123/803 cartridge control module with 3D printable mount.

Public Chat
Similar projects worth following
This project is based on Sprite_tm’s Magic Paintbrush project. The idea is to make the ESP32 and possibly Arduino compatible control module for HP printer cartridge in easy to connect format. Most of the mechanical parts are 3D printable. The electronics part is a 23x38 mm level converters PCB with 14 inputs with an overload cartridge protection circuit.


In my head quite often there are ideas that I would like to implement, they are both in the field of hardware and in the field of software. Often they remain unstarted because someone has already implemented them.

Once again I have a new idea - a project of a handheld printer which would consist of a color printer cartridge and optical flow sensor (the same which is installed in an optical mouse) in a compact case. My idea was that it would print by moving this whole construction over a sheet of paper. A genius idea, and... it already turned out to be implemented, for example here: PrintCube.

Okay, let this particular idea has already been implemented, but many more interesting things can be done based on printing:

  • Make a printer that prints with edible ink on cookies, cakes, coffee cups, or whatever else you eat.
  • Make a module for a 3D printer that turns it into a CUPS-based 2D inkjet printer.
  • Make a printer that drives on the surface and prints on it. Looks like there were attempts (here: Pill Printer or here: The Mini Mobile Robotic Printer) - nothing came out, but that doesn't mean it's not possible.

And so on...

Even though these ideas are not new, making something out of it would still be an interesting adventure for a new experience. At first glance the task did not seem too difficult: I would take ready-made modules, which are on the market, put everything in one box and code it. Three easy steps!

Let's see what ready-made solutions for makers on the subject of printing already exist:

  1. Ink Shield GitHub - Open source solution. Not color. No longer available for purchase.
  2. Controlling an HP6602 printhead - Open source solution. Not in color. Can't buy an off-the-shelf solution as a module.
  3. MagicPaintBrush - Open source solution. Color!!! Can't buy an out-of-the-box solution as a module.
  4. Ytec3D Forum - Lots of information on reverse engineering various cartridges.
    All are not in color. Can't buy an off-the-shelf solution as a module.

The list could go on and on, but they all have one thing in common: at the moment, there are no ready-made modules for controlling a color printer cartridge. There is not even a monochrome print module that you could buy and use out of the box.
So this project was born.

Project goal

This project is an attempt to make a compact modular control unit for color/black print cartridges of an HP printer using a microcontroller.
It is based on the already tested in the MagicPaintBrush project by Sprite_tm's solution. The final result of the project: the realization of a working iron prototype in the form of a surface mount board, a 3D printer printable mount, and control software.

Cartridge pinout

Most of the description of the cartridge is taken from here and details of its reverse engineering can be read there. Here is a small part required to implement this project.

The picture shows the pinout of the inputs:

LabelDescriptionVoltage level
S3Clock line.16V
DCLKClock line.16V
D1Data line for the yellow color.9V
D2Data line for the magenta color.9V
PWRA - F3Print trigger line.16V
PWRB - F5Print trigger line.16V
S5Clock line.16V
D3Data line for the color cayan.9V
CSYNCData group switching line.9V
S1Clock line.16V
S4Clock line.16V
S2Clock line.16V

To protect against burning out the nozzles in the cartridge it is necessary to limit the signal time on lines PWRA-F3(hereinafter F3) and PWRB-F5(hereinafter F5) to about 4-10 µs. Failure to do so may cause the nozzle heating resistors to malfunction.

Description of the designed PCB

The board is a converter of 5V input signal levels from the controller to the control signal levels of the cartridge.

Almost all of the circuit solutions were taken from the MagicPaintBrush project.

Circuit diagram:

Three blocks can be distinguished here:

1. Block of input voltage conversion from 5V to 9V and 16V.

2. The level shifter block of the control signals from 5V levels to the corresponding...

Read more »


HP123 cartridge scanned model

sla - 23.84 MB - 07/28/2021 at 13:43



STL model of the mount for 3D printing

sla - 507.89 kB - 07/28/2021 at 13:40



PCB bill of materials

Comma-Separated Values - 4.13 kB - 07/20/2021 at 14:24


PCB Gerber File

Zip Archive - 62.80 kB - 07/20/2021 at 14:22


  • 2 × C1,C4 Capacitor 2.2uF SAMSUNG CL10A225KA8NNNC
  • 2 × C2,C3 Capacitor 10nF FH 0603B103K500NT
  • 4 × C5,C6,C7,C8 Capacitor 100nF YAGEO CC0603KRX7R9BB104
  • 1 × C9,C10,C11,C12 Capacitor 10nF SAMSUNG CL05B103KB5NNNC
  • 1 × CN1 IDC Connector Ckmtw 300R-14P

View all 17 components

View all 4 project logs

Enjoy this project?



Neal wrote 02/24/2021 at 02:09 point

Cool project.  What library are you using to drive the PrintSpider board?

  Are you sure? yes | no

Pavel Semenov wrote 02/26/2021 at 12:08 point

I've not implemented any code yet, but I will adapt this realization in near future.

  Are you sure? yes | no

Gravis wrote 01/21/2021 at 19:15 point

Here's info on a similar print head:

  Are you sure? yes | no

Pavel Semenov wrote 01/22/2021 at 08:57 point

Thanks @Gravis . I've seen this project already. The problem is that HP45 cartridge used there is only a single color, so if you want full color printing solution you should combine at least three cartridges with it's own PCSs, connectors etc. I want a more simpler and cheap solution.

  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