“Here’s a executive summary of the fake printer features and design decisions:
DB-25 connector on a PCB that plugs straight into the instrument
USB acting as serial port to transmit captured data to the PC
Raspberry Pico as microcontroller
DB-25 instead of Centronics Connector
The Retro-Printer solution has a Centronics port, just like a real printer. I’m using DB-25 connector instead. The reason is cost and, IMO, convenience. On Digikey, the DB-25 connector is $1.60 versus $7.10 for the Centronics one. And if you use the Centronics connector, you need a bulky DB-25 to Centronics cable too, good for an additional $12! And now you have 2 cables to deal with: the printer cable and the USB cable from the fake printer back to your PC.
You can see by looking at Rue’s design that a fake parallel printer can be very simple. You need to have:
a parallel interface that can deal with 5V signalling in transmit and receive direction
logic to reliably capture the 8-bit data and adhere to the parallel port protocol
a way to interface with the PC. USB is the obvious choice here.
In this day and age, you use a microcontroller for stuff like this. Rue had an Atmel in his component box, which is great because it has USB device interface and 5V capable IOs right out of the box.
I choose a Raspberry Pico because:
I had a couple laying around
at around $5 a piece, they’re cheap enough
they are staightforward to program and to program for
they are available everywhere in high volume: no issues with component shortage!
The Raspberry Pico is bulkier than smaller alternatives with the same RP2040 silicon, such as the Seeed Studio XIAO RP2040, but in my final PCB design that doesn’t make a practical difference. And the Pico is the reference implementation which should be available for as long as the RP2040 exists.
Instead of a Pico, you can also use a Pico W. The boards are pin compatible after all. A wireless interface can be useful when the back side of your oscilloscope is hard to reach, but you’d still need a USB cable to power the board because there is no +5V pin on the parallel port itself.”