Star Micronics LC24-15 printer with CUPS


LC24-15 is a 24-dot matrix printer produced by Star Micronics in the late 80's. The company is still alive and you can even download the manual for LC24-15 and LC24-15 II from their site. With a few hacks, it is fairly usable even today.

The printer is capable of priting text and graphics, with the highest available resolution being 360x180 DPI. It also offers various features, such as downloadable fonts, which are not really usefull today, since the text will be rendered on the computer and sent to the printer as graphics anyways.

The printer is already supported out-of the box on Linux, as a Generic Epson Printer (because it emulates the Epson's ESC/P command set). The command set is supported by CUPS in its rastertoepson sample driver fairly well.

However, the page margins are wrong, which cause problems, such as pages being split in two (the second page contains the last few lines). Also not all resolutions offered by the driver are actually supported by LC24. To fix those problems, download the printer description files in the PPD section.


Setting up CUPS to use your printer is out of scope of this guide. However, the following commands should work:

LPT: lpadmin -p lc24 -v parallel:/dev/lp0 -P <ppd_file>
USB: lpadmin -p lc24 -v parallel:/dev/usb/lp0 -P <ppd_file>

<ppd_file> should refer to one of the files downloaded from the following section.

PPD files for CUPS printing system

PPD files describe the printer. They chose the driver that will be used and supply the available settings (resolutions, paper sizes etc.)

Choose the PPD area based on the DIP-switches settings (see the Printer set-up section for more information). By default, the printer is using Print area A, however, I recommand switching to Print area B to get larger printing area. Choosing the wrong PPD file will cause print-alignment or splitting.

DIP position Name Margins PPD
ON (up) Print area A Larger lc24-15-a.ppd
OFF (down) Print area B Smaller lc24-15-b.ppd Recommended

Both files are generated from lc24-15.drv file.

Typewriter mode

The printer also supports a typewriter mode, where the printer prints as soon as you type a letter and moves out of your way to see the result. This is activated by <ESC>i1 control code. A sample program lctypewriter demonstrates this.
Download Linux binary
Download Linux binary (x64)
Download source

Printer set-up

Before using the printer with CUPS, make sure that it is configured properly. The printer is configured by means of two sets of DIP switches located under the plastic cover accesible after opening the grayish translucent hood.

Switch them all to the default ON position (facing towards the back of the printer), with the exception of the last one (rightmost switch on the DIP marked DSW2, controlling the printing area). Newer models of the printer may have so called electronic DIP switches, controlled from the front board, consult your manual. Having the switches in other than recommanded positions may cause problems, such as double-spacing or slow printing.

The last switch controls the size of the printing area, specifically the top and bottom margins. Reducing the margins let's the computer print nearly borderless documents. You can use either of the switch positions, but you have to select the matching PPD file.

Switch settings

Switch location