Troubleshooting Zebra Printers with Tulip
  • 03 Nov 2023
  • 6 Minutes to read
  • Contributors

Troubleshooting Zebra Printers with Tulip


Article Summary

Understand common issues with Zebra printers when it comes to working with Tulip.


Debugging Process

It's important to determine what is and isn't working. First, identify which method/driver is being used.

Serial

Player

  1. Open the Developer Console in Player.
  2. Where it exists, observe that the Connect Serial trigger does so successfully.
    a. If it doesn’t connect, it’s likely that your COM port is wrong.
  3. Attempt to send a print command.
    a. If nothing prints but no error is sent, your zcode is wrong.
    b. If nothing prints and an error is sent, check the error.

Edge Device (not Node RED)

  1. Check the device’s logs.
  2. Using the menu on the top left, filter for tulip-cell to make things easier to read.
  3. Look for errors that include serial or generic-serial

Edge Device Node RED

  1. Make sure the printer is/was on before Node RED started. If this was not the case, toggle node-RED off and back on again via the device’s config page.
  2. Confirm there is a /dev/ttyUSB* path listed in the serial node’s drop-down list of available ports
    a. Unless you’re using the RS232 port on EIO, then you use one of the /dev/ttyS* ones
  3. Confirm the Serial node shows connected.
  4. Observe what the Serial node outputs to the debug pane.
    a. If it’s a timeout, the printer was not on and connected when node RED ran. Restart node RED.
  5. If there’s no error, your zcode is bad.

Network

Player

  1. Confirm the IP address of the printer is correct using one of the methods listed in the FAQ: What’s my printer’s IP address?
    a. Remember! If you get the IP address via the Configuration Label, the printer will print out each byte of the address as three characters - e.g. 010.001.002.003 . Tulip does not like this! Remove leading zeroes: 10.1.2.3.
  2. Observe the dev console. If no errors show, your zcode is wrong.

Edge Device

  1. Make sure the Edge Device is online, trigger is configured to the right one/right station, etc.
  2. Make sure the Edge Device is plugged into the printer with the LAN port only!
    a. Any time an Edge Device has something plugged into WAN, it will attempt to connect to the internet over that connection even if it has wi-fi configured, too!
  3. Confirm the IP address of the printer is correct using one of the methods listed in the FAQ: (What’s my printer’s IP address?)
    a. Remember! If you get the IP address via the Configuration Label, the printer will print out each byte of the address as three characters - e.g. 010.001.002.003 . Tulip does not like this! Remove leading zeroes: 10.1.2.3.
  4. Observe the device’s logs for any errors. Filter for tulip-cell with the drop-down, and look for zebra.

FAQ

What's my printer's IP address?

  • ANY DRIVER: Print a Config Label. It's found at the top.

    • Press and hold the button on the zebra printer until the led flashed once, then release. It'll print out a string of labels.
    • If the topmost label does not specify an IP address, the zebra printer is not yet networked. If it's newly turned on, give it a second to start up. If it's been on for a while, check connection
    • Careful! This label will include leading zeroes in the IP address so that each byte is three characters long. Tulip will not like this! You have to remove the leading zeroes - e.g. 010.128.000.005 becomes 10.128.0.5
  • WINDOWS, LAN ONLY: Run ipconfig in your terminal to see the IP address.

  • EDGE DEVICE: Look under DHCP leases on the Diagnostics page of your edge device's config portal. Confirm it's plugged into LAN, and it'll be 10.0.5.X.

What's my printer's serial port number/path?

  • WINDOWS: Right click Start then select Device Manager. Expand the COM Devices section and find it among those listed.

  • EDGE DEVICE: It's /dev/ttyUSB$, where $ is the number in sequence that this was plugged in, 0-indexed.

    • For ex, if it's the first one plugged in, it's …USB0
    • Remember! With node RED, the printer must be connected and powered on before node RED starts. Flip the toggle on the device's config portal to restart node RED.

I have the right IP address/com port, but nothing is coming out of the printer?

Make sure you have valid zcode. To check this, simply paste it into labelary. If it doesn't compile then your code is bad.

Why is my label printing off center?

The printer is configured for a label size different than what it actually has, so it’s assumption of the “origin” (upper-left corner of the label) is off.

You can fix this in zcode with “offset everything left” commands like ^LH, but this is not a sustainable or responsible method as it’ll only fix that one label. Moreover, that offset will persist in the printer until it’s power cycled - so you might mess up other labels!

The proper way to fix this is to download the Zebra Setup Utility, plug into the printer over USB, and use the Utility to set the proper label size. You can also use the utility to print a configuration page to confirm the changes were set.

Why are the lights on my printer flashing?

  • Green flashing light: It needs to calibrate itself. Press the button once.
  • Red flashing light: There is an issue like a paper jam or out of paper.

I think my zcode is wrong but I don’t know what it is?

The easiest way to do this is by debugging your trigger by investigating the logged Trigger action to see what is actually being sent as the zcode message.
Note, this likely doesn’t include template info that’s saved in the device config, so for that you need to paste it in labelary.

If you have any variables in your message (e.g. using Serial methods to send an Expression), make sure they’re not null! Any null Variable in an expression makes the whole message null. You can’t see this unless you either print the expression elsewhere, or examine the trigger in the debug pane.

Working with Labels

Note that there are two different kinds of labels. A printer of one type will not be able to print on the other - the labels will come out blank!

Direct Thermal Printing

Your printer is a Direct Thermal printer if the only thing inside it is a label roll. Your labels are Direct Thermal labels if they start to turn black when heat is applied.
The printer applies heat to the label, and reactive ink turns black to make an image. It does not require extra “material” to be the ink, just the label.

Thermal Transfer Printing

Your printer is a Transfer printer if there are two rolls inside it: the ribbon and the labels. Your labels are Transfer labels if they do not react to applied heat.


Did you find what you were looking for?

You can also head to community.tulip.co to post your question or see if others have faced a similar question!


Was this article helpful?