Hacking the HP45
Re: Hacking the HP45
Hi. Could somebody share the C8855 manual? I would like to use C8855 to build a handhold printer but cannt fould the Print Cartridge Driver documentation. Thanks !
- dragonator
- Site Admin
- Posts: 608
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Sent by mail
Re: Hacking the HP45
Hey any chance on getting the C8855 manual sent please? Forum has been a great read and have appreciated all the info everyone has offered. Some brilliant people out there.
- dragonator
- Site Admin
- Posts: 608
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Hello, Dwatts
The manual has been sent by mail.
The manual has been sent by mail.
Re: Hacking the HP45
Hi all,
I am currently working on a project where I want to hack the HP45 cartridge. I am using a teensy 4.1 with the v4 controller, but running the v3 firmware instead. I am getting the cartridge to print successfully, but I believe some of the nozzles are firing incorrectly.
To test this, I tried printing nozzles in sets of five, in an ascending stripe to see which nozzles are incorrectly firing. Here is the image I am getting: As you can see, there are regions where the groups of five nozzles are firing correctly, but there are also areas where nozzles in the wrong region are going off. Ideally, the stripe should be perfectly aligned like a stepwise ascending line. Has anyone run into this problem and has anyone been able to fix it? I think the issue comes from the Teensy 4.1 running the v3 firmware. My best guess is that the nozzle addressing is incorrect, but I'm not entirely sure. If that were the case, I don't have any better ideas to fix it besides literally testing each nozzle one by one and trying to see if it's in the correct place.
I am currently working on a project where I want to hack the HP45 cartridge. I am using a teensy 4.1 with the v4 controller, but running the v3 firmware instead. I am getting the cartridge to print successfully, but I believe some of the nozzles are firing incorrectly.
To test this, I tried printing nozzles in sets of five, in an ascending stripe to see which nozzles are incorrectly firing. Here is the image I am getting: As you can see, there are regions where the groups of five nozzles are firing correctly, but there are also areas where nozzles in the wrong region are going off. Ideally, the stripe should be perfectly aligned like a stepwise ascending line. Has anyone run into this problem and has anyone been able to fix it? I think the issue comes from the Teensy 4.1 running the v3 firmware. My best guess is that the nozzle addressing is incorrect, but I'm not entirely sure. If that were the case, I don't have any better ideas to fix it besides literally testing each nozzle one by one and trying to see if it's in the correct place.
- dragonator
- Site Admin
- Posts: 608
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Hello,
Between the V3 and V4 the nozzle mapping was changed for both the addresses and primitives. Routing is done by hand on the PCB, and every time the actual ordering gets changed. It is easier to fix this in the firmware, than to try and force the same connections every time. The fact that you got a line this clean is already quite amazing, but judging from the different thicknesses, there are small mistakes along the entire line.
In each firmware there should be a tab called NewNozzleTable. In this, is a function called "GenerateNewRawTables()". Two arrays called "tempPrimitiveConversion[14]" and "tempAddressConversion[22]" are the variables you can change. It is a little finicky, but if I remember correctly, you fill in the the pin of the Teensy that each primitive is connected to, from 0-13 and the correct order of the address, from 0-21.
If you call "GenerateNewRawTables()" (it might already be in the setup part of the firmware, but commented out). You will get a new nozzle table. Replace the nozzle tables you have in printhead.cpp with the new ones and see how it looks.
Between the V3 and V4 the nozzle mapping was changed for both the addresses and primitives. Routing is done by hand on the PCB, and every time the actual ordering gets changed. It is easier to fix this in the firmware, than to try and force the same connections every time. The fact that you got a line this clean is already quite amazing, but judging from the different thicknesses, there are small mistakes along the entire line.
In each firmware there should be a tab called NewNozzleTable. In this, is a function called "GenerateNewRawTables()". Two arrays called "tempPrimitiveConversion[14]" and "tempAddressConversion[22]" are the variables you can change. It is a little finicky, but if I remember correctly, you fill in the the pin of the Teensy that each primitive is connected to, from 0-13 and the correct order of the address, from 0-21.
If you call "GenerateNewRawTables()" (it might already be in the setup part of the firmware, but commented out). You will get a new nozzle table. Replace the nozzle tables you have in printhead.cpp with the new ones and see how it looks.
Re: Hacking the HP45
Any way I could get the PCB files to reference from the v3? I am trying to cross check the primitive and address pin mappings on both the v3 and v4 designs, but unfortunately the download link for the files on the v3 page are broken for me.
Thanks!
Thanks!
- dragonator
- Site Admin
- Posts: 608
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
I have attached the (lightened) KiCAD files. This includes the schematics, the source files and the BOM. I hope this can help you, the schematics alone should give you a lot of the information you are looking for.
- Attachments
-
- HP45 controller V3.01 PCB 20240925.zip
- (472.81 KiB) Downloaded 284 times
Re: Hacking the HP45
Unfortunately it's still not working. It's actually coming out a little more jumbled than it was before. I was able to verify that the primitive pins are mapped correctly, but I might be making an incorrect assumption about the addresses. In the v4 schematic, the pins for the addresses are listed as so:
Is it safe to assume that the order that the address controller fires is in the order from top to bottom? For example, starting from HA07, HA01, HA02, etc. That is what I am assuming and what I am using for the basis for the pin mapping.
Is it safe to assume that the order that the address controller fires is in the order from top to bottom? For example, starting from HA07, HA01, HA02, etc. That is what I am assuming and what I am using for the basis for the pin mapping.