SPI Printhead Control using GCODE

Basic Information:

Printer Model: Custom
MCU / Printerboard: BigTreeTech SKR 1.4
klippy.log

Describe your issue:

I’m trying to control a XAAR128 ink jetting Printhead to make a binder jetting 3D printer. The printhead communicates using SPI. I’m not sure how to make this work.

Ideally the printhead stops at location, sends a 64 bit message to tell the chip of the printhead which of the 64 nozzles to fire, sends a fire message, then moves to the next location.

I imagine the final GCode will look something like this:
X0 Y0 F0123456789ABCDEF
X1 Y0 F123456789ABCDEF0

Is there a way to write a GCODE macro to send an SPI message to the printhead?

Would it be better to modify one of the SPI stepper driver python handlers to make a handler for the printhead?

Thank you.

There is currently no ability to directly send low-level SPI messages from G-Code in Klipper today.

In the past, I have created this capability locally for debugging purposes - one can find that code at GitHub - KevinOConnor/klipper-dev at work-sensordebug-20231213 . Unfortunately, I doubt it would be useful for your uses as it seems you would need precise timing of the SPI messages (which the code on this development branch does not provide).

FYI, there have been discussions on inkjets in the past - for example: Inkjet Cartridge Integration .

-Kevin

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.