Zebra Thermal Printer Win

A few weeks ago, we picked up some old Zebra LP 2844 thermal printers in hopes of using them to print barcodes, packing slips, stickers, and all sorts of other fun stuff. Well, since most of us around here use Ubuntu, we figured it would be awesome to be able to use it with Linux.

zebra-lp2844

Okay, sounds easy… well, how do you do it? First off, the printer we have only has serial and parallel ports. Crap. Undaunted, I order a USB to Serial cable that uses the good old FTDI chip. I manage to add it as a printer in Ubuntu, and go to print a test page. Ugh. Super slow. Its also pretty buggy and half the prints die. Fail. Twitter to the rescue, and @adafruit recommends a USB to Parallel adaptor.

Fast forward two days, and the Sabrent USB to Parallel cable has arrived. Things got busy, but tonight I was able to get out the cable and give it a shot. Parallel may be old, but the cable looks nice and plugging things in are easy. I remember order of operations being important from the ‘old days’, so I tried this combination and it worked. Remember, this is on a standard Ubuntu 9.04 install, YMMV.

1. Plug Parallel end into Zebra
2. Turn on Zebra
3. Plug USB into computer

usb-to-parallel

Okay, now I have it plugged in. A quick ‘dmesg’ in the terminal confirms that it found SOMETHING that looks like a printer. Rock.

[996085.966096] usblp2: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x1A86 pid 0×7584

Alright, and now the tricky part: How do I get the computer to talk to it? Actually it was ridiculously easy!

1. Go to System -> Administration -> Printers
2. That brings up the printer management dialog, where you click the New button.
3. It doesn’t find the printer automatically, so go with the Unknown device option and click Forward.
4. It searched for a bit and brought up the Choose Driver screen. Scroll all the way down to Zebra and click Forward.
5. The Zebra LP 2844 uses the EPL2 language, so select EPL2 Label Printer model and the recommended driver.
6. Name it. I called mine ZEBRAR.
7. Print a test page. You know you want to.

Bingo! If everything went okay, you now have a working label printer. Now, what do you do with it?

test-print

Well, the easiest way I could figure out how to make things to print on it was to use the GIMP. Here are a few tips:

* The printer is 203dpi. When you create your images, make sure they use this DPI setting (its under advanced settings) Then make the size of the document the size of your stickers in inches. That will make things work great for you.

* Make sure you adjust the page setup! Go to File -> Page Setup. Make sure you select Format for: Zebra as well as your paper (label) size. This will ensure that your prints are exactly what you see.

* For some reason, from GIMP the print copies stuff doesn’t work. Bizarre for sure, but I found a workaround: Use the Print to File option to print a PDF and set the desired number of copies. This will create a PDF with a page for every copy you want. When you print that, it will print out the number of copies you want. Make sure you set the page properties in your PDF viewer before printing!!!

Anyway, thats how you get a Zebra LP 2844 thermal label printer working under linux. Now to get the right kind of stickers and print out hundreds of MakerBot QR code stickers.

makerbot.com

Tagged with 6 comments
 

6 Comments so far

  • Devlin
    September 22, 2009 at 6:27 pm
     

    I know SparkFun uses USB Zebras for all of their label printing. SparkFun and BatchPCB both use Linux systems to generate and print the labels and invoices among other database/back-office tasks. Hop in their IRC and I am sure they would be willing to talk about it further.

     
  • Tim Noble
    September 23, 2009 at 10:47 pm
     

    lovely. we ran into this same issue a few months back and ended up having to sacrifice a machine to windows (ugh) in order to make our barcodes due to lack of time and inspiration. Nice hack folks!

     
  • Zach Hoeken
    September 23, 2009 at 10:57 pm
     

    devlin: yeah, i meant to get USB printers, but i messed up. also, i think they’re more expensive. you can find a ton of these parallel port printers surplus on ebay. they’re built like tanks and the thermal ones almost never break.

    also, i just found a workaround for printing multiple copies of the same file (for example, we want to print out hundreds of 1.5″ x 1.5″ qr code stickers…) simply check the ‘collate’ box. for some reason that makes it send the individual pages and it will keep on printing.

     
  • Spiffed
    October 6, 2009 at 1:46 pm
     

    We use both ZPL and EPL2 Zebra printers in our store. If you’re trying to get the best speed and print quality from these, you really need to send them actual EPLII commands.

    If the printers you have a true LP2844s (or LP2844UPS units) you can upgrade to the latest and greatest firmware, which supports QR codes direct from the hardware. I can’t remember, you may need to give up Aztec and PDF417 support for QR codes.

    The EPL2 language is actually super easy, and theres a language guide available from Zebra called “14245L-001rA_EPL_PG.pdf”

     
  • Zebra LP2844
    October 7, 2009 at 4:00 pm
     

    We use 2 Zebra LP2844‘s for all our printing needs, we are shipping out around 100 packages a day. We like them because they don’t use any ink and are super cheap to print with. I agree with ‘Spiffed’, it is very important to upgraded to the latest firmware which supports the QR codes.

     
  • John willams
    October 15, 2009 at 4:03 pm
     

    Hey all

    Just a little fyi Ups tried to rent me this with out me even knowing
    I checked my bill and I was being charge $4.00 a month for this zebra lp2844 which I can buy online for $130 bucks so watch out.

    I grabbed mine from http://www.zebraoutlet.com

    Johnny

     
 

Leave your comment

 
 
 

xhtml: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>