Hacker News new | past | comments | ask | show | jobs | submit login
Magic Printer Cartridge Paintbrush (spritesmods.com)
84 points by discreditable on Dec 25, 2018 | hide | past | favorite | 7 comments



I have no idea why HP decided to use such a convoluted scheme to clock in the data to the nozzles. I'd say something obvious like a shift register would also have worked fine here.

They are shift registers, and the data fed to each nozzle is essentially a serial data stream, but multiple lanes are used to increase the bandwidth and allow higher printhead speeds.

The signals are not all that different from those used for driving LCDs and EPDs[1], if you step back to a higher level of abstraction and look at how they all "print" information --- there's clocks, serial data inputs, and latch signals.

This is a resistive heater "bubblejet" type printhead, the other major inkjet technology is piezoelectric which is widely encountered in Epson printers and also the majority of industrial ones due to their better robustness and ability to handle a wide range of inks. The piezoelectric heads use an even higher driving voltage (~40V) and are usually driven with a trapezoidal waveform, which can be timed with the firing pulse to obtain different drop sizes.

[1] Trademark "eInk", he also has another page on driving those: http://spritesmods.com/?art=einkdisplay


True, however, a 'normal' implementation would just the one clock signal to clock in the three data lines; to lower the clock frequency you could use the rising edges to clock in the even bits and falling edges to clock in the odd bits. That's not what they do here, though: they use the rising edge of the clock to clock in the even bits, as you'd expect, but the S1-S5 lines to clock in the odd bits. That is unexpected. Same with the existence of the S1-S5 lines all by itself: you could also have fixed that with a counter clocked by the existing clock line and a separate reset line; that'd simplify the connections between printer and cart. I'm still not sure why they didn't do that.


This is serendipitous, I just saw a cartridge I had lying around and thought "I should look up how those work, they look interesting." Thanks for this!


That's really clever. I wonder if you could rig something up that lets you draw patterns or rainbows etc.


Yep! I used InkShield, a project that was I think originally based on sprite_tm’s cartridge reverse engineering to make arbitrary drawings:

https://eclecti.cc/hardware/semi-automatic-paintbrush


Nice!


Enjoyed the presentation. Suspenseful, with a satisfying conclusion. Good Xmas/Festivus carb/tryptophan zone-out. Happy holidays, all.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: