Hacking the HP45

Powder and inkjet printing
User avatar
dragonator
Site Admin
Posts: 616
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

I have included 2 images. The V3.02 controller (the firmware of the Teensy 3.2 based controller) and the V4.02 controller (the firmware of the Teensy 3.5 based controller). The addresses run top to bottom on both. The pin mapping of this primitives should be possible to change just by changing the pins on the microcontroller, but the address mapping needs to be fixed in the table. As you can see in the images, the mapping of the addresses is completely wrong.
Attachments
HP45 V4.02 controller.png
HP45 V4.02 controller.png (71.25 KiB) Viewed 29942 times
HP45 V3.02 controller.png
HP45 V3.02 controller.png (50.64 KiB) Viewed 29942 times
Dries Vandenbroucke
Posts: 1
Joined: Sun Sep 29, 2024 1:00 pm

Re: Hacking the HP45

Post by Dries Vandenbroucke »

Hi everyone,
We're two 18 year old students studying Industrial Engineering and for our annual engineering test, we've decided to build an Oasis 3DP ourselves.

We've fully constructed the Oasis 3DP machine and have soldered the V4.02 HP45 controller. All that's left now is trying to make the HP45 V4.02 controller run on the V3 software (which uses bit-banging instead of DMA) whilst using a Teensy 4.1.

We are somewhat clueless of how would make all of this work in this way. We've seen user "Ichrg" do exactly what we're about to do next. So if he can contact us at: "zandprinter@gmail.com" and share some insight on how you did this, we would be very grateful and would be willing to help fix issues (like routing the addresses for the new controller).

Or if anyone else has some info they can share on how we would best approach this task, this would be appreciated.

Email: zandprinter@gmail.com
Or: send us a message back!

Thanks in advance!!
User avatar
dragonator
Site Admin
Posts: 616
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

Have you had any mails regarding this? I have no experience and pointers beyond what I already told you by mail, but do like to see this project succeed.
exalted coding
Posts: 6
Joined: Wed Jun 09, 2021 1:07 pm

Re: Hacking the HP45

Post by exalted coding »

Do any of you have this document:

800e6d22 Inkjet Writing Systems Design Fundamentals(HP document).

Appreciate it if someone could provide me with this document.
Catniped
Posts: 13
Joined: Sat Oct 07, 2023 6:45 pm

Re: Hacking the HP45

Post by Catniped »

Dries Vandenbroucke wrote: Thu Oct 17, 2024 7:04 pm Hi everyone,
We're two 18 year old students studying Industrial Engineering and for our annual engineering test, we've decided to build an Oasis 3DP ourselves.

We've fully constructed the Oasis 3DP machine and have soldered the V4.02 HP45 controller. All that's left now is trying to make the HP45 V4.02 controller run on the V3 software (which uses bit-banging instead of DMA) whilst using a Teensy 4.1.

We are somewhat clueless of how would make all of this work in this way. We've seen user "Ichrg" do exactly what we're about to do next. So if he can contact us at: "zandprinter@gmail.com" and share some insight on how you did this, we would be very grateful and would be willing to help fix issues (like routing the addresses for the new controller).

Or if anyone else has some info they can share on how we would best approach this task, this would be appreciated.

Email: zandprinter@gmail.com
Or: send us a message back!

Thanks in advance!!
hi, i am also attempting to achieve the same thing, would be amazing if you could share any discoveries or pointers you stumble upon :)
BangDingOw
Posts: 1
Joined: Mon Dec 23, 2024 10:34 pm

Re: Hacking the HP45

Post by BangDingOw »

Hey guys, thanks for the invention. Sorry to get out of topic. Is there any specific reason to use teensy microcontroller other than most commonly cheap and available like esp32 or stm32 for controlling the print head? Because in my country teensy price is almost $80 for the 4.1. I’m interest to build oasis for making sand casting moulding
User avatar
dragonator
Site Admin
Posts: 616
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

There is no fundamental reason why to use it, other than it being available, has good peripherals, plenty of I/O, and good libraries. The ESP32 was either new, or not available when I started, this, and I stuck with what worked.

The ESP32 is powerful enough to run this. I think it has enough IO, but I am not sure. To control an HP45, you will need around 20-22 I/O, mostly output.

What is needed is the same issue preventing the V4 controller from being useful right now. The V4 firmware is hardcoded for a Teensy 3.5 because it uses a Teensy 3.5 specific bit of hardware. The V3 controller firmware is a bit more general, but that firmware is older and has fewer features. Getting the ESP32 to work with the HP45 will take a bit of modification of the firmware.
Lumpbeef
Posts: 2
Joined: Tue Mar 11, 2025 9:01 am

Re: Hacking the HP45

Post by Lumpbeef »

I am also trying to do the same thing (Running a teensy 4.1 on a V4 controller using V3 firmware) and I wanted to ask how it went and if you guys managed to do it .
Lumpbeef
Posts: 2
Joined: Tue Mar 11, 2025 9:01 am

Re: Hacking the HP45

Post by Lumpbeef »

Dragonator I have a Question Regarding the Controller, I saw in the Hacking HP84/85 thread that the drawing for the V3 Controller said that "Exact address layout Determined in the PCB Phase" does this mean that the addresses in the (NewNozzleTable) are the correct adddresses.
also You said that the V3 firmware is usable with the V4.02 Controller By Leaving the Primitives array But Changing the Addresses array to the one from the V4 firmware due to the Change in HEF4017 outputs so:-

V3 code
//conversion values --------------------------------------------------------------------------------------------------------------------------------
//these are alteres. The given number is the controller pin the given printhead pin is on, in order from P1 to P14, and A1 to A22
int8_t temp_primitive_conversion[14] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
uint8_t temp_address_conversion[22] = {21, 19, 14, 18, 17, 13, 20, 9, 16, 8, 4, 12, 1, 15, 0, 5, 10, 6, 7, 2, 11, 3};

V4 code

//conversion values --------------------------------------------------------------------------------------------------------------------------------
//these are alteres. The given number is the controller pin the given printhead pin is on, in order from P1 to P14, and A1 to A22
//static uint8_t primtivePins[14] = {15, 22, 23, 9, 10, 13, 11, 12, 2, 14, 7, 8, 6, 20}; //(C0-C7, D0-D5) the array for the primitive pins
// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13

//odd or even o e o e o e o e o e o e o e
int8_t tempPrimitiveConversion[14] = {3, 1, 11, 2, 10, 8, 12, 5, 7, 9, 6, 0, 4, 13};
uint8_t tempAddressConversion[22] = {6, 1, 2, 5, 11, 4, 15, 0, 12, 7, 19, 3, 17, 8, 28, 9, 16, 13, 18, 14, 20, 10}; //changed to 28, it was 21

so by changing the contents of the temp address conversion lines from V4 to V3 the V3 code could theoretically be used with the V4 controller chip?

but with the teensy 4.1 only has 17 analog pins instead of the 22 in the teensy 3.5 so does that mean that I will not have the same level of control over the print head and would require a very major change in the controller pcb design. or am I misunderstanding the conversion values?
edithai
Posts: 11
Joined: Wed Nov 27, 2024 7:28 am

Re: Hacking the HP45

Post by edithai »

last time dragonator said if we use v3 pcb / schematic then use v3 firmware
int8_t temp_primitive_conversion[14] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
uint8_t temp_address_conversion[22] = {21, 19, 14, 18, 17, 13, 20, 9, 16, 8, 4, 12, 1, 15, 0, 5, 10, 6, 7, 2, 11, 3};

else if trying the harder router with v4 firmware and v4 board schematics/pcb then use v4 code

we can use the pins on the back assuming u are testing on a pcb and not breadboard

v4 uses an extra chip for pulsing so that causes a change
Post Reply