
Parallel2usb
tomverbeure/fake_parallel_printer
Capture traffic on parallel printer port to USB

Capture traffic on parallel printer port to USB
Parallel2usb is an open-source printed circuit board by tomverbeure, from the tomverbeure/fake_parallel_printer repository on GitHub, published under the BSD-2-Clause licence. It is a 2-layer board of 45.1 × 53.6 mm with 44 parts on 71 nets, routed with 502 tracks and 22 vias.
Its parts include 20 capacitors, 19 resistors, 2 ICs and 2 connectors. It belongs with the RP2040 boards of this library.
This repo contains the design files for the Fake Printer tool: a hardware dongle with a DB-25 connector that plugs into the parallel printer port that was available on nearly all computers and equipment in the eighties and nineties.
Check out this blog post for a detailed description of the design, and build and usage instructions:
There are 2 versions of the PCB. Revision 2 only uses 2 layers and doesn't stick out as much out of the device in which is plugged in. It's probably the best one to build. The firmware is designed to work for both PCB versions.

./parallel2usb_v1WARNING: v2 hasn't been tested!!!

./parallel2usb_v2A Digikey cart with all the components to populate version 2 of the PCB can be found here. Not all resistors and capacitor must be populated though. Check out the blog post for details.
parallel2usb_hd_on.uf2 contains the compiled
firmware for the Raspberry Pico.
To make changes and recompile yourself:
set the PICO_SDK environment variable to the path of your locally installed
Raspberry Pico SDK.
Build the code:
mkdir -p ./c/build
cd ./c/build
cmake ..
makeIf all goes well, a new parallel2usb.uf2 will be waiting in
./c/build/parallel2usb.
python3 ./fake_printer.py -p <USB serial device> (Use -h for more options.)PCL: use Ghostscript
~/tools/ghostpcl-10.0.0-linux-x86_64/gpcl6-1000-linux-x86_64 -dNOPAUSE -sOutputFile=output.png -sDEVICE=png256 -g8000x8000 -r600x600 print_cap.pcl
Epson ESC/P: use PrinterToPDF
/opt/printerToPDF/bin/printerToPDF -o output -f /opt/printerToPDF/lib/PrinterToPDF/font2/Epson-Standard.C16 print_cap.esc_p
Encapsulated Postscript: use Ghostscript and ImageMagick to add a background if necessary. Note that some scopes (TDS 684B) may emit a few chunks of comments that fake_printer.py will get with multiple-second delays, and they need to be concatenated together to form a valid eps file.
gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop -sDEVICE=pngalpha -r300 -sOutputFile=ph1-zoomout.png ph1-zoomout.eps; convert -background black -alpha remove -alpha off ph1-zoomout.png ph1-zoomout.png
./fake_printer.py --port=/dev/ttyACM0 -t 2 -v --prefix=hp_osc_ -s eps
inkscape -f ./hp_osc_0.eps -w 1580 -y=255 -e hp_osc_0.png
convert hp_osc_0.png -crop 1294x971+142+80 hp_osc_0_cropped.pngAdvantest R3273
Config printer: Config -> Copy Config -> Printer:

To print: Copy
To convert:
./fake_printer.py --port=/dev/ttyACM0 -t 2 -v --prefix=r3273_ -s pcl
~/tools/ghostpcl-10.0.0-linux-x86_64/gpcl6-1000-linux-x86_64 -dNOPAUSE -sOutputFile=test.png -sDEVICE=png256 -g8000x8000 -r600x600 r3273_0.pcl
convert test.png -filter point -resize 2000 test2.png
convert test2.png -crop 640x480+315+94 test3.png| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 100p | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C8, C10, C11, C12, C13, C14, C15, C16, C17 +1 |
| 17 | 22 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R3, R4, R5, R6, R7, R8, R10, R11, R12, R13, R14, R15, R16, R17 +1 |
| 2 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C18, C20 |
| 2 | 4K7 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R18, R19 |
| 1 | 22u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C19 |
| 1 | 74LVC161284DL | Package_SO:SSOP-48_7.5x15.9mm_P0.635mm | U1 |
| 1 | Conn_01x20 | Connector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_Vertical | J2 |
| 1 | DB25_Male_MountingHoles | Connector_Dsub:DSUB-25_Male_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm | J1 |
| 1 | Pico | RPi_Pico:RPi_Pico_SMD_TH | U2 |
The 43 most common of 44 parts.
It measures 45.1 × 53.6 mm and has 2 copper layers, 0.3 mm thick.
44 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the tomverbeure/fake_parallel_printer repository on GitHub, at the commit this page was made from: the board is parallel2usb_v2/parallel2usb.kicad_pcb and its schematic parallel2usb_v1/KiCad-RP-Pico/Test/Test.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the BSD-2-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

tomverbeure/fake_parallel_printer
Capture traffic on parallel printer port to USB





mudmin/AnotherMaker
This is where I will store code snippets for AnotherMaker Videos

qbancoffee/imac_g3_ivad_board_init
iMac G3 IVAD board initialization with an arduino

Stefan-Olt/MISRC
MISRC Is a multi channel RF capture device for FM RF, S-Video, CVBS RAW capture and anything else, but intended and supported for the decode family of projects vhs-decode, ld-decode, hifi-decode.
