Retro Computer / Equipment > Centronics Port > Retro-Printer Module > USB > Printer

The Retro-Printer Module is a small module ("HAT") designed by Retro Computer specialist, RWAP Software.

The module plugs into a Raspberry Pi (or other Single Board Computer) to allow you to capture data from a centronics port on older (vintage) computers and equipment, converting it for electronic storage, or printing to any modern printer such as a USB or network printer.

Easily connect anything from a DOS program; a 1980s Home computer; an industrial lathe; test equipment; door entry system; or even PLC controlled equipment to a modern, low-cost printer. We emulate a wide range of different printer protocols and work closely with both home computer users and industry to offer a modern print replacement for dot matrix printers.

This makes the module ideal for both producing hard copies of printed output on modern printers, or for capturing data from old equipment; removing the need for legacy printers and enabling migration of data to modern systems and software.

Capture Data > Emulate Printer > Create PDF > Print

Purchase the v4 Retro-Printer Module

What is the Retro-Printer Module?

The Retro-Printer Module (HAT)

The Retro-Printer Module (HAT) designed for the Raspberry Pi

Designed as a plug in module (HAT) for the Raspberry Pi computer; the Retro-Printer Module connects the latest USB and network printers to a centronics port.

Developed by retro computer specialist RWAP Software, the Retro-Printer is a hardware and software printer emulator that connects to a parallel port and interprets input in a wide range of printer formats, including Epson ESC/P, ESC/P2, HP PCL, Printronix, Seiko and PostScript format.  We can even create a new printer emulator if your specific use case is not designed for one of these printer control codes.

The parallel port is captured using the Retro-Printer HAT connected to a standard centronics cable – our software then acts as a centronics printer emulator – it understands both text and graphics (including the Epson ESC.2 and ESC.3 compression modes) and converts this so that the output can be stored electronically or sent to a modern USB or Network printer.

Specifically designed to provide a solution for computers and equipment which would otherwise send output to a dot matrix printer, the module is ideally suited for providing a modern printing solution for a retro computer; as well a wide range of industrial and medical equipment.

By basing the Retro-Printer module on a Raspberry Pi (although it will also work with other single board computers), this means that we can continually improve the software and develop new printer emulators as required.  By calling upon the expertise of RWAP Software, we have access to knowledge and skills across both the vintage home computer industry (pre 1990s) and industrial controls equipment.  It is thanks to this that the Retro-Printer is now in use across a wide range of equipment and legacy hardware systems, both by industry and home computer enthusiasts, with bespoke printer emulations and configuration options supporting numerous applications.

Why is the Retro-Printer required?

Many of the popular vintage computers were designed at a time when dot-matrix, daisywheel and impact printers were prevalent. A lot of industrial equipment, industrial controls and legacy hardware systems (and DOS based application software) were designed to use these printers, incorporating the same printing methods.

Applications ranged from word-processors and desk-top publishing solutions to simple reports and data-logging.  Text and graphics could easily be mixed on a page and printed without needing a complex printer driver written which was dependent upon the make and model of the printer.

Dot matrix printers commonly used an escape control language, such as the ESC/P (and ESC/P2) printer control language made popular by Epson, or the PCL language invented by HP. Printing was as simple as connecting a printer to a parallel port and sending a string of plain text to the port. The printer control language then told the printer if you wished to output text in bold, italics or a different font.  As technology and requirements evolved, the printer control languages were extended to incorporate bitmap images and colour.

As a result there are 1,000s of DOS based programs and industrial equipment which expect a connected printer to understand and print simple text and graphics.

When Microsoft Windows took the market by storm in the 1990s, printer manufacturers seized on the opportunity to make printers “dumb” and most printers available to purchase today are GDI Printers.

A GDI printer or Winprinter is a printer designed to accept output from a host computer running the Graphic Design Interface (GDI) under Windows, Mac OS-X or Linux. The host computer is responsible for all print processing and then uses the GDI software to send a bitmap of the printed page to the printer using a printer driver normally supplied by the printer manufacturer.

Whilst early printers require hardware, firmware, and memory for page rendering; a GDI printer is cheaper to produce (and thus to purchase). Unfortunately, this means that a GDI printer cannot be used easily with non-standard operating systems, or even a lot of DOS programs.  These printers cannot even understand a simple line of ASCII text characters sent to them such as the standard test “HELLO WORLD”.

Solutions which enable you to replace a centronics printer with a modern USB or network printer are few and far between:

  • A handful of software based solutions exist which run under Windows and re-direct the centronics port and then utilise Windows printer drivers to output to any connected printer.
  • The Retro-Printer represents one of just four hardware solutions that we have come across during our research over the past few years (at least one of which no longer appears to be available). 

    A hardware solution has the benefit that it can physically replace a centronics printer, by connecting directly to a centronics / parallel port.  However, the Retro-Printer does this at a fraction of the cost of the other solutions.

What other options do users have?

  • Upgrade to new software, or most probably use an alternative program, or equipment which can run on the latest operating system and use its in-built printer drivers
  • Purchase an expensive dot-matrix printer or top-end laser printer which supports plain text and DOS software. These type of printers are increasingly hard to find and generally cost upwards of £200.
  • Track down second hand printers which could be used as a direct replacement whilst risking the availability of replacement ink cartridges / ribbons and spare parts.
  • Disable printing altogether

Why not use a virtual printer to capture the printer port?

One common solution to this, is to install a “virtual printer”.  A virtual printer is a piece of software which runs on a Windows based PC and monitors the installed parallel ports on the computer itself.  There are several virtual printers (or DOS Printers), available for Windows based computers.

Provided that your program runs as a DOS based application program which can run within a DOS box as part of Windows 95 or later, then these DOSPrinters can work quite well at capturing the data sent by to the parallel port (LPT1 to LPT9) and then redirecting it to a connected GDI printer using Windows to perform all of the hard work.

Unfortunately, there remains a whole host of circumstances where such a virtual dot matrix printer cannot be used.  For example, consider how you would print (or collect the data) from test equipment, medical equipment, industrial machines or vintage computers which do not run Windows; but use their own operating systems (or plain DOS).

Hardware based Virtual Printer Emulation

The Retro-Printer Module is designed to perform a similar function to softweare printer emulators.  However, it is a hardware solution, so rather than a simple software emulation of a traditional dot-matrix or daisywheel centronics printer, the Retro-Printer forms a low cost centronics to usb (or network) printer convertor which can be used seemlessly to print the captured text direct to any modern connected network or USB printer, such as a low cost Inkjet, or even a laser printer.

Connecting to an industry standard parallel port (you need a parallel to centronics cable), the Retro-Printer captures and converts any data intended for a printer. Although originally designed to act as a virtual Epson printer, we have now implemented a wide variety of printer emulators which are included as part of the Retro-Printer software.  We continue to work with customers and industry to produce further virtual printer support where required.

You can even use the Retro-Printer as a simple centronics to USB convertor, which echos the data captured from the centronics port directly to a connected USB printer.  This can be used, for example, to replace a centronics HP PCL printer with a modern USB model.

Create Electronic Documentation

Many of us will remember the promise of a “paperless office” back in the 1990s – this has unfortunately, never truly come to fruition, although there comes increasing pressure to store documentation electronically, rather than on paper.

Unfortunately, there is a wide range of equipment out there (such as data analysers, opthalmic equipment, test equipment and injection moulding machines) which has to produce a physical print out which can then be scanned and stored for future use electronically.  What a waste of paper and time!  Even government departments and health authorities have not gone completely paperless, with one of the main problems being the vast array of equipment still in use today which does not have a network capability and can only send output to a connected cetronics (or serial) printer.

This is where the Retro-Printer module comes to the fore.  You can connect it in place of a physical printer and then use the built-in virtual printer convertors to take the captured data and convert it to PDF or even extract it as plain text files, stored on a USB memory stick or made accessible over a network, without the need to produce a physical print out.

If you do insist on a physical print out also (say for auditing purposes), then the Retro-Printer can be configured to also create that alongside the electronic version.

The possibilities are countless!

Continue reading – What does the Retro-Printer do?

 

Latest News About the Retro-Printer

New Variant of The Retro-Printer Module (Retro-Printer-C)

We are currently working with a well-respected controls engineering company to develop a new variant of the Retro-Printer Module, specifically designed for the secure industrial market. This variant, known as the Retro-Printer-C is no longer dependent on the Raspberry Pi   Read More…

Anatomy of a Printer Emulator

How a New Emulator is Born We were faced with a rather interesting challenge recently when a watch enthusiast asked if we could emulate the Seiko QT-2100P printer. This printer was designed specifically for use with Seiko watch timing machines   Read More…

Retro-Printer Helping to Archive the Past

The Retro-Printer has been used by the University of Calgary to assist them in their preservation project. One of their main preservation projects has been to archive and preserve the wealth of media recordings made by EMI Music Canada over   Read More…