LPT printer emulator
Warning:While this project does work and has been tested against a number of devices, the firmware is very quick & dirty with hardcoded parameters and missing error handling. Use in production environments is discouraged.
What is it?
Old computers, machines and test equipment often expect printers to be directly connected via a parallel port / LPT / IEEE 1284.
In the modern day, this is impractical. Having a single printer for each device is expensive, takes up a lot of space and they need to be in physical proximity.
It might also be preferrable to get a virtual printout as a .pdf file instead of a physical piece of paper.
With this firmware, a regular ESP32 devboard can be connected directly to a parallel port and will act like / emulate a physical printer. The resulting print jobs/data are then sent over WiFi to any TCP/IP socket.
This socket is directly compatible with the LPR interface on many network printers, so many of these ESP32 emulators can be configured to work with a single real network printer. Alternatively, CUPS can be configured to receive data from such a socket and generate PDF files (or forward the job to a different, local printer).
This project has been used to print from an IBM ThinkPad T41, an Abit Socket 7 mainboard and an airplane wheel vibration calibrator.
This video shows a ThinkPad T41 in the BIOS setup menu. Pressing the “Print Screen” key in text-mode actually does what the name implies and will print the current screen contents over the LPT1 interface.
CUPS then receives the printed data and converts it into a PDF file in real time.
- Firmware & Documentation: Arduino/PlatformIO repository