An invisible interface between Game Boy Camera and ESC/POS compatible printers with RS232 serial interface. The main project is maintained by Václav Mach (https://github.com/xx0x/gbpxl). There was a kit at Tindie but currently it's sold out. Improvements, suggestions, experience with various printer models are welcome!
This fork tracks alternative gbpxl firmware enhanced to ouput 4-shade prints similar to the original Game Boy Printer using supported multi-tone EPSON printers.
Build your gbpxl using gerbers and BOM below or use an Arduino Nano Every and a TTL-RS232 converter. See the schematic folder for the breadboard design.
https://www.tindie.com/products/xx0x/gbpxl-game-boy-printer-xl-kit/
Gerber file and BOM are available here, if you want to make your own PCBs: https://github.com/xx0x/gbpxl/tree/master/schematic-bom-pcb
Build instructions: https://github.com/xx0x/gbpxl/blob/master/build-instructions/BUILD_INSTRUCTIONS.md
How it looks:
Unlike the main project, this fork has limited printer support. This fork is coded to work with the few EPSON thermal line printers that support multi-tone printing. The following printers support multi-tone printing:
Printer | Supports Multi-Tone | Confirmed Working | Serial Port |
---|---|---|---|
Epson TM-T88V | Yes | Yes | DB-25 |
Epson TM-T88VI | Yes | Yes | DB-25 |
Epson TM-T88VII | Yes | Untested | DB-25 |
Epson TM-T70II | Yes | Untested | DB-25 |
This fork requires your printer be set to 115200 baud rate. Compatible printers can be configured to use this higher baud rate from mode selection menu (hold feed while powering on) or using EPSON's PC software utility via a USB connection.
DIP1: Multi-Tone | DIP2: Hi-Density | DIP3: Cut | DIP4: Scale | |
---|---|---|---|---|
ON | Yes | Yes | Yes | 2x |
OFF | No | No | No | 1x |
Outputs images in 4 tones, similar to the original Game Boy Printer. Turning this off prints in monochrome and may increase game compatibility.
Density may need to be adjusted depending on your printer and the paper you're using. Toggles between normal and high density for mid and light tones.
Cuts the paper when the end feed margin is 3 (typically after each complete image).
2x outputs at about 166%, 1x outputs at about 83% compared to an original Game Boy Printer print. (The original Game Boy Printer outputs at 150dpi. Compatible EPSON printers ouput at 180dpi.)
Programming this fork onto an Arduino Nano Every is straight forward through the Arduino IDE. Programming the custom project PCB can be done using a UDPI programmer. Since gbpxl uses ATmega4809, the programming must be done via UPDI interface, you can't use just your regular USBasp or similar. The UPDI connector uses the pinout based on microUPDI project, which also includes TX/RX connections for easy communication with PC - useful for transfering images etc.
Sadly, since the UPDI is quite new, there are no cheap programmers available yet, but you can build the microUPDI or jtag2updi quite easily by yourself. When uploading, specify "Arduino Nano Every" as your pinout.
Don't forget to unplug the power before connecting UPDI, since the programmer usually powers the device!
Václav Mach
gbpxl main repo