Comment by userbinator

2 years ago

For an inkjet driving the nozzles is the nasty bit. First figure out which ones to fire when, then you have to actually do it. I'm told by those in the know that this really just can't be done well enough in software, you need the timing control of FPGA/ASIC solutions. So, very doable, but hard.

To get a rough idea of the frequencies involved, consider a 1440x1440 DPI printer, with a 12" wide axis and 1" swath. Assume the printhead can move across the full 12" around 5 times per second (this is really fast), for a standard 8.5x11 portrait print this turns out to be around 1 page every 2.2 seconds or 27 pages per minute; at this speed the printhead is moving at 60 inches per second, so for 1440 DPI each nozzle needs to be pulsed at 1440x60=86400kHz or an 11us period, which is not that fast in terms of digital electronics. However, if you're firing 1440 nozzles in parallel, then the total throughput of the data that needs to go into the printhead goes up to 124.416MHz, or closer to 500MHz for all 4 colours, but this is easily parallelisable.

That said, those numbers are probably on the high end and represent a fast printer; I'm not even sure any consumer inkjet can do full-colour 1440 DPI at 27PPM.

True enough, but it turns out you can't fire a nozzle with a 50% duty cycle TTL signal... it's more complicated than that. More analog. More annoying.

Most of my knowledge here comes from very peripheral involvement with a project to repurpose an inkjet printhead to do Something Else™ (sorry, NDA here). The printhead high priests just scoffed at any kind of software control over the firing process, and that was that.

Or just use an FPGA. They're not really that hard. Just different from the open hardware community's usual go-tos and the tooling can be kind of crappy.

I've often wondered about an open printer design. My current printer uses inkjet cartridges which contain the print heads (HP 45/78). That would seem to be most of the difficulty, already made available in a commoditized off the shelf package.

I've heard paper picking can be kind of a black art, but I'd think a community could iterate fast enough to get it at least passable, or just suck it up with single sheet feeding in the beginning. And it's not like commercial printers are foolproof.

Then there's motion control, which is already the bread and butter of the 3D printing scene. Perhaps not initially good enough to align 600dpi over multiple inches repeatably for photo quality, but I'd think it would be fine for business forms and whatnot that people end up having to print.