Thermal Printer Success!

 Success! I’ve managed to print to the thermal printer by sending commands over my homemade connector cable in HyperTerminal.

Picture 027

 There were a few breakthroughs which helped me get to this point. On the off chance they might answer, I asked the manufacturer for the pinout information for the serial port on the PD-22. Not only did they send me a pin diagram, viagra in the uk they also included a schematic for the cable.

Pins 1-8 are straightforward and what you’d expect to find on RS232. I was originally thrown off because 9 looked like signal ground. Pins 9 and 10 are tied to each other, and go to signal ground internally. I think this is used to indicate that the cable is present, as the printer defaults to IrDA otherwise. I’ve updated the Eagle schematic to tie 9 and 10 together and removed the traces which aren’t connected to anything.

I didn’t have a chance to etch the new board yet, but really wanted to try things out so I made do with the old one by just putting a blob of solder between pins 9 and 10. It’s not very pretty, but it works!

Picture 026

The next step is getting this contraption working with the Arduino instead of running off a USB serial port on my laptop. I have to read up on the SoftwareSerial library, as I haven’t really done anything with it before. I also need to read the command sheet more carefully, I’ve figured out how to print, and turn the thing off via serial, but haven’t got it to feed the paper after printing. Right now I just press the feed button.

But it works!

Filed under: Hacking


8 thoughts on “Thermal Printer Success!

  1. dad says:

    Good progress. One question: in the upper right, they show the usual pin assignments for the DB9 connector. But in the lower left, they show pins 2 through 10. How do you get ten pins in a DB9?

    1. Kelly says:

      If you look on the lower left, you’ll see that 9 and 10 are tied to each other, and not the DB9. The 9 pin, usually Ring Indicator, is not connected.

  2. dad says:

    To get the paper fed up, try these (in order):

    1) send a Form-Feed character.
    2) send mutiple LineFeed characters
    3) find the magic escape sequence to send

    Chris Leach’s first boat was named the Escape Sequence

    1. Kelly says:

      Oddly enough the escape sequence commands I’ve got down. But line feed is just LF, no escape, and I haven’t yet deciphered how to get it to send those as commands and not just ASCII

  3. i can’t wait to see it in action!

  4. Brent says:

    I have been trying to get a set of PD-22 working for myself. I have been able to get make my own serial cable for it and it works perfectly. I took a nokia ca-42 usb-serial cable and adapted an end for the printer to connect. I have it communicating with the printer. It will print try to print anything i send to it but it all comes out as a jumbled incoherent mess. Were you ever able to get it working with a usb? Any ideas? (yes i know this is old but you are i thought i might get lucky)

  5. Rick Winscot says:

    You mention ‘print commands’ in your post… what exactly did you send to the printer to print ‘this is a test’ ???

    1. Kellbot says:

      Mostly ascii, and a few line feeds. It’s been a while since I’ve worked on this project, so my memory is fuzzy, but I’m pretty sure it is compatible with ESC P. You can find a cursory list of commands here:
      The two you’ll use the most are likely CR / LF ( carriage return and line feed )

Leave a Reply

Your email address will not be published. Required fields are marked *