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:
- Ink Shield GitHub - Open source solution. Not color. No longer available for purchase.
- Controlling an HP6602 printhead - Open source solution. Not in color. Can't buy an off-the-shelf solution as a module.
- MagicPaintBrush - Open source solution. Color!!! Can't buy an out-of-the-box solution as a module.
- 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.
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.
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:
|D1||Data line for the yellow color.||9V|
|D2||Data line for the magenta color.||9V|
|PWRA - F3||Print trigger line.||16V|
|PWRB - F5||Print trigger line.||16V|
|D3||Data line for the color cayan.||9V|
|CSYNC||Data group switching line.||9V|
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.
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 »