WIP: Custom program for printing to Epson dot matrix printer

Last Updated on



Views: 7637 , Video Rating: 4.94 , View Time: 2:37 Minutes, # of Likes: 80, # of Disslikes: 1

I’m experimenting with making a program to print an image to my dot matrix printer much faster than when using the Epson driver (it avoids changing print colour often), and with a lot more options. Here’s a speed comparison, plus an extra video at the end showing it being the fastest I’ve ever seen it print a colour image. Not shown in this video are the program’s extra options for dithering, and being able to print very long images. Well, the program’s not really shown at all here, since it’s nowhere near complete yet (or even working properly), so this video just shows off the things that… sort-of-work so far.

The printer in this video is an Epson LQ-300+II.

My program sends raw ESC/P2 data (Epson’s printer control codes) to any printer port that you have installed (including USB-to-printer adaptors), with no need for the Epson driver. It bypasses the page limit length enforced by the driver, provides detailed dithering options (including error diffusion, used in this video), and takes a different approach to printing colours. This approach is designed to be much faster than colour printing using the Epson driver, but my program has to fight against the printer’s urge to merge everything internally and print all 4 colours slowwwwwly on every line. It seems to all depend on timing – wait a moment so that it starts printing – which I’m very disappointed in, because different printers will print at different speeds. This means it’ll be hard to make a program that works well with any ESC/P2-compatible printer. It will at least end up with the correct ink on the paper – it just might take 10 minutes to print. Oh well~

EDIT: Newer progress:

WIP: Custom program for printing to Epson dot matrix printer

9 thoughts on “WIP: Custom program for printing to Epson dot matrix printer”

  1. So cool. A nice remark on the idea that technology doesn't go extinct just because it is considered obsolete in comparison to new technology. Really neat to see tech that's been largely left behind still open to not minor but innovative improvement.

  2. This is actually fantastic idea. It helps slow down the colour bleed that happens. In my experience, with every shift of color, the print head transfers the previous colour to the new ribbon colour over time. This is most prevalent on the yellow, which under normal conditions picks up a lot of bleed from the impact pins and head, and from the paper when using a higher resolution which requires a second pass, which is when the yellow ribbon picks up colour bleed from the ink on the paper from the first pass.

    This method will enable more prints where the yellow stays yellow for longer, and not a streaked mucky yellow.

    Full kudos, seriously love impact printers for reliability, cheapness of inks, and the mechanical fascination it brings for me. Linux user here, and print options are minimal.

  3. That's amazing what you did.I have Oki Microline 320 turbo 9 pin head .Wonder if can make it print high resolution images.I tried to print pictures using Windows 10 but are coming out very rough.You can see the space between the dots and no option to control the quality.I gues depend on the how many pins has the head. I know with this printer images can be black and white only.

  4. Nice video and software. Is it possible to print (in windows or linux) using the built in fonts of dot matrix printer? I mean not converting it to graphic, only plain text using built in fonts. The same way as printing in DOS. Do you know how to do that?

Leave a Comment