How do I interact with a POS printer on my desktop

I found an old Point-of-Sale terminal at a junkyard and it is still operational. It is a FirstData FD50. Its features include:

  • a keypad
  • a magnetic strip reader (credit card)
  • a receipt printer
  • 2 USB ports
  • an Ethernet port
  • 2 other ports that look similar to Ethernet ports (phone line?)

I would like to use one of these ports to connect to my computer, either directly or over my LAN. I’m hoping I can interface with as many of these features as possible via a python script (such as the receipt printer). So far I don’t have many options when I turn on the machine itself. But I have yet to connect it with an Ethernet cable. I fear that the firmware of the printer might prevent me from using it outside of the intended use. Is this project even possible?

It’s a pretty deep rabbit hole. If you’ve never used a logic analyzer before or know what one is you’re probably in for a long ride. Have you ever reverse-engineered anything before?

1 Like

I’ve only every reverse engineered mechanical systems. I’ve also never used a logic analyzer.

In the time since my previous post I’ve managed to connect the device to my LAN. I can see it on my network but I have no idea how to talk to it.

The fundamental issue here is that it’s a single-purpose computer, not a peripheral. So it’s not designed to send it arbitrary stuff to print. My best guess: You would have to write new firmware for it (consider that the original was a full-time job for a team; this is no light task even when you have access to the engineers) or replace the board with something else to drive the peripherals (still need to get datasheets for the parts you want to interact with, and the keypad might be integrated into the base).

To your original question “Is this project even possible?” I’d say it’s improbable. :slight_smile:

I finding another board to drive the peripherals seems like the easiest path foward. Thanks for your help!! :slight_smile:

1 Like