v4 Retro-Printer Module Now Available
It has been a long journey, battling against hardware development, software development, changes in the Raspberry Pi and manufacturing issues; but we are here at last with the release of the full v4 Retro-Printer Module which brings the nice neat solution to capturing printer data over a Centronics port and allowing you to print to modern USB or Network printers.The latest software (currently v3.11) has also been released to co-incide with the v4 Retro-Printer Module.
This improves the speed of handling, adds custom code for specific customers, and also now supports not only Epson ESC/P2 Printer Emulation and HP PCL Printer Emulation, but also PostScript and high speed Plain Text printer emulation.
History of Development of the Retro-Printer
It all started with a concept in December 1999 whilst we were working on site at Heathrow airport creatng the controls systems for a baggage handling system. We decided to add a printer alongside the baggage handling line to log the throughput of the baggage whilst commissioning the Rockwell Automation PLC-5 code.
A text only dot matrix centronics printer was required and although we managed to find one, not only did it still cost around the same amount as a printer used to cost in the 1980s, but we realised just how things had moved on and the world was moving towards GUI printers which did not understand plain text. As a fan of the Sinclair QL home computer, we also knew that retro computer users would soon be crying out for a simple means of connecting a modern printer to their machines.
We discussed various options at the time, but providing a solution which would be within reach of not only industrial customers, but the home computer users that we had grown up with was an impossible challenge.
Then, along came the advent of the Raspberry Pi in 2012. A low cost Linux based computer which was aimed at the home and electronic project market.
With a well developed operating system (initially developed by Linus Torvalds, who happened to have also started out on a Sinclair QL home computer!) with enough processing power to run a simple convertor.
We decided to take the plunge and resurrect our old idea to create a hardware based Centronics printer emulator to at least allow the data from older machines to be printed on the latest USB printers.
A hardware prototype was developed, which made use of a basic ASCII (or plain text) emulator written in C, with the proof of concept being demonstrated in January 2014.
It was slow, but proved that the idea could be used. The Raspberry Pi successfully captured the ASCII codes from an old ATARI PC3 and then printed them via CUPS/SAMBA on a network printer. The 3 chips used in the prototype were just for adapting 3.3V to 5V and vice versa.
The Retro-Printer Prototype takes Shape
Having proven the concept and initial software, we took the plunge to create a prototype PCB and start work on the emulation software to increase speed and handle ESC/P codes.
This prototype PCB formed the basic layout of the Retro-Printer Module, and we took the decision to mount the Centronics connector directly on the board.
We tested this with a new version of the software, by connecting an Atari PC3 MS-DOS computer to the Raspberry Pi via the centronics connector.
A picture was then loaded in the Dpaint software on the Atari and printed. The Epson ESC/P emulation understood the control codes and outputs the image as it is captured to a monitor connected to the Raspberry Pi and then saves the picture as a PDF file.
Retro-Printer Hardware Development
Having proven the hardware, we tried a different layout and chipset to improve the handshaking signals with the computer over the Centronics port and also to improve speed of capture.
The software continued to be developed and we started to incorporate the wider range of ESC/P2 control codes into the Epson printer emulator. This actually proved successful, as we were able to use our previous experience in creating ESC/P2 printer drivers for the Sinclair QL to add support for the higher resolution graphics modes (up to 720dpi) which needed to handle different forms of compression (TIFF and Delta compression).
At this point, we realised that we would have a product which could be supplied to the general public and so we launched the Retro-Printer website and discussion forums to make others aware of what we had achieved and to obtain feedback about suggested features.
It was now that we teamed up with a manufacturer who had a good reputation already for producing modules for use with the Raspberry Pi range of single board computers to manufacture the release version of the Retro-Printer and the case.
The v3 Retro-Printer Board was born, incorporating an switch to take the Retro-Printer offline (much as you would find on an original dot matrix printer), and LED lights to indicate power, online/offline status, and data being received.
The changes to the layout were made to make the board align better with the Raspberry Pi and make it easier for the design of a case.
Although we placed the order in April 2018, initial samples were received in June that year, but it was January 2019 before we received the full production run.
The Kludge
Although we had sent various prototypes out previously to different customers for feedback, once we started shipping the v3 Retro-Printer to customers it became obvious that there was an issue with the Retro-Printer, in that some users were reporting corrupt or missing data, or even that the Raspberry Pi would power down as soon as they turned on their computer.
We had received no reports of this on the previous versions and tests here with various retro computers did not reveal anything. After extensive investigation by ourselves, the factory and several early users, fixes were suggested around disabling power on certain pins, removing a diode and even adding 5V to one pin in one case. It seemed that not all computers adhered to the Centronics standard and certainly not all cables were the same!
One user then worked out that the main issue was that the factory had wired the pins 19 to 36 backwards on the Centronics connector.
Whilst most of those pins were GND, some cables actually connecting all the ground pins together, meaning that some of the signals were being grounded, causing havoc with the Raspberry Pi.
So, after finding some supplies of the Centronics male and female connectors, the “Kludge” was born – a metal adaptor which crosses over the signals on pins 19 to 36 and could be plugged into the front of the v3 Retro-Printer Module to provide the correct pinout for all types of Centronics cables.
We still couldn’t provide the power on one of the pins which was required by one specific user, but he achieved that by means of a small wire.
At the time of writing (October 2021), we have now supplied over 200 v3 Retro-Printer Modules around the globe to help home users and industry alike. The v3 Module remains good value and ideal for home users or project development so long as you don’t mind the Kludge.
Changes to the Raspberry Pi
Of course, the Raspberry Pi development has also continued at the same time as the development of the Retro-Printer Module. It was at this point we also found that the Retro-Printer module would not work with the Raspberry Pi 3 Model B+ (although it worked with the Raspberry Pi 3 Model B) due to changes in the handling of the power circuit; so the Kludge could only be a short term solution.
Even worse, the Raspberry Pi 4 introduced a complete change to the layout of the board, which means that it will not fit in our Retro-Printer case.
The v4 Retro-Printer Module is Born
To address the problems with the v3 Retro-Printer Module, we took the decision in 2019 to design a v4 Retro-Printer Module. As well as removing the need for the Kludge by the factory correctly wiring the Centronics connector, the v4 module has had some further changes.
- Addition of three jumpers to allow 5v to be enabled / disabled on pins 13, 18 and 32 of the centronics connector to allow for variations in this requirement by certain computers and equipment
- Change to the on-board chips to improve communications over the Centronics port
- Addition of diode to the +3.3V GPIO pin to ensure that the Retro-Printer can be used with the Raspberry Pi 3 Model B+ and Raspberry Pi 4.
- Pull-up Resistors on the data lines to prevent false signals from the data lines (for example if the connected equipment is turned on after the Retro-Printer).
Unfortunately, due to the Covid outbreak and then the worldwide microchip shortage, it has took until 2021 for this to be available (although two prototypes have now been in use for quite some time).
The v4 Retro-Printer is now available through SellMyRetro, or contact us to order direct.













