Hacking the Xaar 128 printhead

Powder and inkjet printing
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

Angefrank wrote: Thu Nov 10, 2022 3:19 am It's possible for you to post the electric diagram of the setup? I'm interesting to try the xaar128.
No problem: https://github.com/MatthiasWM/Xaar128
spooky
Posts: 1
Joined: Wed Nov 30, 2022 4:37 pm

Re: Hacking the Xaar 128 printhead

Post by spooky »

Hello,

I have a specific interest for the Xaar 128 but for a total alien application: I contemplate using it for biotech application as a way for micro-dispensing of specific agents on cell cultures. However, the medium that I need to spray is mainly made out of water (+many different things including salts).
I read in previous posts some of you indicating that the Xaar may fail with water.
Does anyone here experienced with water?

Thanks!
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

Yes. Water will destroy your head. I don't know how ink is different, but it seems to have to do with conductivity. Maybe Epson heads can do that?
least_force
Posts: 4
Joined: Thu Nov 10, 2022 1:57 pm

Re: Hacking the Xaar 128 printhead

Post by least_force »

Most home / cheap inkjet print heads are thermal based and have small heaters for each nozzle that vaporise the fluid to eject a drop. These heads handle aqueous better due to their architecture.

For piezo heads you have different manufacturing methods, one of these methods leaves exposed piezo material that can short out if you use a conductive fluid. For more expensive heads this is coated in a protective film but this is a tricky process to get right.
veterok
Posts: 4
Joined: Fri Jun 09, 2023 7:56 am

Re: Hacking the Xaar 128 printhead

Post by veterok »

Hello guys,

for a project at uni I have to control a Xaar 128 printhead with an Arduino Mega. I have read the entire topic, but I'm still a bit lost, because I've never worked with Arduinos before nor I have experience with electronics..

I'm trying to make the printhead work with the code from Print-A-Sketch (https://github.com/HCI-Lab-Saarland/Print-A-Sketch), which is based on the gkyle code. I have recreated the power circuit from the github, so that the printhead gets its 35V. It looks like this:
https://ibb.co/KK1PjtM
I'm getting 35V out of it, so it works. I will try to design a PCB from that and order it soon. I've also soldered all the cables on the 30 pin connector, as it shows in the documentary: https://ibb.co/2qpbw2M
Now in the xaar.h file, the pins SCK, MOSI and MISO are commented out. Should I uncomment it, so that the code works? Without these pins, the printhead won't get the pixeldata, right?

Thanks in advance :D
Last edited by veterok on Fri Jun 09, 2023 12:06 pm, edited 1 time in total.
Loktev_M
Posts: 1
Joined: Sat Jun 10, 2023 8:23 am

Re: Hacking the Xaar 128 printhead

Post by Loktev_M »

Hi, veterok! Privet)

I'm solving the same problem right now. But I can't get a signal from nReady. Can we discuss this in more detail?
veterok wrote: Fri Jun 09, 2023 9:55 am Hello guys,

for a project at uni I have to control a Xaar 128 printhead with an Arduino Mega. I have read the entire topic, but I'm still a bit lost, because I've never worked with Arduinos before nor I have experience with electronics..

I'm trying to make the printhead work with the code from Print-A-Sketch (https://github.com/HCI-Lab-Saarland/Print-A-Sketch), which is based on the gkyle code. I have recreated the power circuit from the github, so that the printhead gets its 35V. It looks like this:
https://ibb.co/KK1PjtM
I'm getting 35V out of it, so it works. I will try to design a PCB from that and order it soon. I've also soldered all the cables on the 30 pin connector, as it shows in the documentary: https://ibb.co/2qpbw2M
Now in the xaar.h file, the pins SCK, MOSI and MISO are commented out. Should I uncomment it, so that the code works? Without these pins, the printhead won't get the pixeldata, right?

Thanks in advance :D
veterok
Posts: 4
Joined: Fri Jun 09, 2023 7:56 am

Re: Hacking the Xaar 128 printhead

Post by veterok »

Loktev_M wrote: Tue Jun 13, 2023 4:43 pm Hi, veterok! Privet)

I'm solving the same problem right now. But I can't get a signal from nReady. Can we discuss this in more detail?
veterok wrote: Fri Jun 09, 2023 9:55 am Hello guys,

for a project at uni I have to control a Xaar 128 printhead with an Arduino Mega. I have read the entire topic, but I'm still a bit lost, because I've never worked with Arduinos before nor I have experience with electronics..

I'm trying to make the printhead work with the code from Print-A-Sketch (https://github.com/HCI-Lab-Saarland/Print-A-Sketch), which is based on the gkyle code. I have recreated the power circuit from the github, so that the printhead gets its 35V. It looks like this:
https://ibb.co/KK1PjtM
I'm getting 35V out of it, so it works. I will try to design a PCB from that and order it soon. I've also soldered all the cables on the 30 pin connector, as it shows in the documentary: https://ibb.co/2qpbw2M
Now in the xaar.h file, the pins SCK, MOSI and MISO are commented out. Should I uncomment it, so that the code works? Without these pins, the printhead won't get the pixeldata, right?

Thanks in advance :D
Hello Loktev,

last time I checked all signals with an oscilloscope. I've got the right signals everywhere, except for nReady, as you mentioned. It turns out, that the nReady signal needs to be read from the printhead. So I guess, you can only see the nReady signal, when you've connected the flat cable to the printhead. Some user said, that READY is an input into the Arduino from the print head and nREADY is an output from the Arduino to the print head.
vitrukandriy
Posts: 1
Joined: Tue Jun 20, 2023 12:04 pm

Re: Hacking the Xaar 128 printhead

Post by vitrukandriy »

BlueTurtle wrote: Tue Aug 06, 2019 5:14 am Hello everyone...

I'm having some trouble with my Xaar 128.. The printer was working fine with Kyle's code (https://github.com/gkyle/xaar128/blob/master/xaar128.h) with a simple addition of stepper motor header file and class but for some reason it stopped working...

I'm using a 36V power supply with 220uF cap for VPPH and 10uF cap for VPPL with 30N06L N-Mos for controlling the power up and power down sequences. I have tried to capture what's going on with my logic analyzer and out of my Mega I'm getting the CLK (1MHz) signal just fine, SCK just fine ( I guess?) but no MOSI or MISO signals... Also even though I don't know definitely, I'm thinking that I might have somehow burnt the Xaar ICs. Can someone please check what's the Ω between GND and GNDL. I'm getting 0.6Ω, which I think isn't right.

Also between it not working and working I just plugged it out because I was leaving the house. And I would be really happy for any other method other than low side n-fet for powering the printhead. Should I try something on high side since the manual says the power sources should be isolated and their grounds should not be connected anywhere else as they are connected inside the printhead... (I obviously connect the Source of the fets to Arduino ground, 12V ground (for stepper and step down regulator for Arduino)
Hi blueturtle and everyone,

I saw that you used NMOS instead of relays for switching the supplies. Did you manage to split the high-power grounds from the logic ground? If yes then how did you manage to do that? If no, did the printhead work using the common ground for both the supplies and logic? Or maybe someone else in this forum has tried that?
Last edited by vitrukandriy on Tue Jun 20, 2023 2:32 pm, edited 2 times in total.
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the Xaar 128 printhead

Post by Wonko »

Pin 24 of the printhead "READY" is an output from the printhead to the Arduino if you choose to connect it. If READY is high, you can check nFIRE. It is switched high a soon as two of the three firing cycles got triggered. I have no idea what "nReady" signal you are referring to.

Yes, MISO, MOSI and SCK must be assigned connections between the Arduino and the printhead. MOSI is the actual data from the Arduino to the head. SCK is the clock signal that tell the printhead when to read from the MOSI line. MISO is only used if you control more than one printhead through a single serial connection. Either nSS1 or nSS2 must be set to low when transmitting pixel data to teh head.

My code and PCBs are here: https://github.com/MatthiasWM/Xaar128 . No power supply PCB though.
gogatam
Posts: 1
Joined: Sat Jun 10, 2023 8:25 am

Re: Hacking the Xaar 128 printhead

Post by gogatam »

Wonko wrote: Wed Jun 21, 2023 12:19 pm Pin 24 of the printhead "READY" is an output from the printhead to the Arduino if you choose to connect it. If READY is high, you can check nFIRE. It is switched high a soon as two of the three firing cycles got triggered. I have no idea what "nReady" signal you are referring to.

Yes, MISO, MOSI and SCK must be assigned connections between the Arduino and the printhead. MOSI is the actual data from the Arduino to the head. SCK is the clock signal that tell the printhead when to read from the MOSI line. MISO is only used if you control more than one printhead through a single serial connection. Either nSS1 or nSS2 must be set to low when transmitting pixel data to teh head.

My code and PCBs are here: https://github.com/MatthiasWM/Xaar128 . No power supply PCB though.
Hi, Wonko!
We are trying to get our head to work, but there are problems with printing. We took Gkyle's code as a basis (https://github.com/gkyle/xaar128 ), we hear a sound coming from the head and everything seems to be working. The problem lies in the presentation of the material. We use a photopolymer that we feed through the tube, but it flows out without running the code. When you run the code, the material does not come out in the volume in which it should come out. Can you please tell me how to control the flow of material so that there is not too much of it and, at the same time, enough for printing?
Attachments
photo_2023-06-24_18-07-48.jpg
photo_2023-06-24_18-07-48.jpg (112.56 KiB) Viewed 59001 times
Post Reply