What does the Retro-Printer do?
The Retro-Printer Module is a hardware based virtual printer emulator. Primarily, the Retro-Printer is designed to capture printer data from a serial port or parallel port and allow you to store the captured data or use standard Linux printer drivers to print the data to any connected USB or network printer.
As such the Retro-Printer acts as a hardware data logger on steroids which connects directly to the legacy machine’s physical output port—usually a 25-pin Parallel (Centronics/LPT) port or a RS-232 / RS-422 / RS-485 Serial port.
The Retro-Printer Module is based around the Raspberry Pi single board computer and consists of two options –
a) For logging / capturing data from the 25-pin parallel (Centronics / LPT) port, you need a Retro-Printer HAT which plugs into the Raspberry Pi to create the physical connection for the printer cable.
b) For logging / capturing data from a serial port (RS-232 / RS-422 / RS-485 or Current Loop), then you just need a suitable serial to USB adapter to plug into the Raspberry Pi for the physical connection to the original serial port.
The Retro-Printer software then runs on the Raspberry Pi to processes the captured data, and, acting as a printer emulator, converts the data to various formats, such as plain text or a PDF rendition of the original printed page. The PDF rendition can be used for retaining electronic copies of printer output, should you wish, or plain text extraction can be read by a PC over the network and added automatically to a log program, or inserted into a spreadsheet for example.
It is that PDF which can also be automatically printed by the Raspberry Pi should you wish.
We even support three different brands of single board computers – the Raspberry Pi (Model B+, Model 2 B, Model 3B, Model 3B+, Pi4 and Pi5 ); the Banana Pi (M1 and M1+) and the Orange Pi PC.
The Retro-Printer Module therefore forms a hardware and software bridge, allowing you to use any modern printer with your equipment, without any user intervention. There is no need to change any settings in your program, simply connect the Retro-Printer to your parallel or serial port and use it as though you had an Epson FX-80 or other ESC/P2 printer attached.
The options do not end there, as we have developed a wide range of printer emulations, such as Printronix, HP, IBM or Genicom / Mannesmann Tally line printers. You can then decide how you want to store the output if electronic storage suits your purposes.
The only setting up you will need to do is to set up your new printer from within the Retro-Printer’s control panel. Full instructions on how to do this will be supplied with the Retro-Printer, or, if you purchase the complete Retro-Printer package, we will be able to set it up for you if you confirm which printer you intend using.
How does the Retro-Printer Module Work?
- The computer / DOS based program / equipment sends text and graphics to a Serial Port or a Centronics port (LPT1 / parallel port on many computers). The text and graphics may also be sent to a standard Centronics interface connected to a serial port.
- In the past, the printer would convert the text and graphics to a series of dots to be printed to the page using its in-built fonts and routines. Unfortunately, there are now very few printers which are capable of supporting this (mainly expensive dot matrix printers).
- The Retro-Printer replaces stage (2). It accepts the text, graphics and printer control codes sent to the printer port, and then converts these to a PDF file which is stored on the connected Raspberry Pi, running Linux.
- If configured to do so, Linux then uses its built in printer drivers to print the PDF to a modern Printer using the common CUPS printer system.
- Software options allow you to
- extract the plain text from the streamed printer data;
- emulate numerous types of printers
- store the resulting PDF file;
- echo the incoming data stream to a simple raw data file (for example to store log output from a piece of equipment);
- with custom versions of our Retro-Printer software, write the incoming data stream to a database, server or CSV file;
- even automatically print the resulting PDF file!
Other Options
Simply put, the Retro-Printer is designed to allow the printer port on a vintage computer (or piece of industrial equipment) to connect to a modern USB (or even network) printer, without having to make any changes to software or installed printer drivers. The Retro-Printer Module not only captures the parallel port, but does the hard work of converting the captured data so that it is printed correctly on a modern USB or network printer.
When researching this project, we have only found two pre-existing Centronics to USB conversion solutions on the market, which cost around $600. Our goal was to produce a lower cost simpler device which would support the latest range of low-cost printers and put it in reach of retro computer users around the World.
In fact, the Retro-Printer Module can be used to connect anything with a Centronics port to any printer which is supported by Linux. This enables you to use USB printers and Network printers with your equipment. You can even still use a Centronics printer if you have a USB to Centronics adaptor for the Raspberry Pi (just in case your equipment does not have a suitable printer driver for the Centronics printer).
The Retro-Printer Module Manual provides more in-depth details about the Retro-Printer and how to use it to replace a Centronics printer and adapt it for use in virtually any application that you can think of.



