Zebra ZT421 Printer with Tulip I/O Gateway

Has anyone been successful in configuring a Zebra ZT 421 printer within an app using the Tulip Gateway? I’ve configured the gateway driver with the printer’s IP address (the only location I’ve entered the printer’s IP is within my custom ZPL template). I’m using a wired connection and have ethernet connected from the Tulip gateway to the associated station’s display device and to the Zebra printer. I have two variables within my custom ZPL code (both are expressions). Should variables for the ZPL template be separated by static text or an expression? I’ve seen both methods but have not been successful with either. I also do not have the “run gateway function” option within a trigger, just “run device function”. The printer works fine when I’m not using it through Tulip and only when I’m also connected via USB.

Thanks for any insight!

Hey, Eric! Thanks for posting. I can probably help you out here, three things to check:

  1. The IP Address: which port on your Gateway is directly connected to the printer? Does the printer’s IP address start with a “10”?
    Note that sometimes, Zebra printers like to output their IP address as sets of three digits. This is misleading, as to get the the actual IP address needed, you need to remove all the leading zeroes.
    In other words, Zebra says “”, but this should be input to Tulip as “”.

  2. The Expressions: Passing expressions into the Zebra driver is perfectly fine. However, the printer driver will fail if any expression is blank, or NULL.
    I recommend using the “Test” mode, accessible from the app editor, to see what the variables are that you’re pushing over and confirm that they’re actually populated.
    Another way to do this is to also display the variable as a Message at the time you’re printing, so you’ll see it as you’re running your app.

  3. The Zcode: The final check I like to do is to make sure the zcode is OK. To do this, make one text doc of the code you’re trying to print. Butt the code and variables right up next to each other, so you have one long block of [code][test variable][code][test] etc. Then, use Labelary to make sure your code actually compiles. This will catch if your code has typos.

1 Like

Hey @eric.byers - were you able to use these steps? Sounds like there may still have been some issues?

Hey, sorry I just saw this!

  1. The IP Address: yes, I’ve removed any leading zeros in the IP address. When you say gateway port directly connected to the printer, you mean the plug on the gateway where the ethernet is connected? I have it set up so that the gateway is connected to a ethernet switch and the printer is connected to the ethernet switch (switch is providing additional ethernet connections). I have another gateway/printer connected like this that works fine.
    2/3. Yes, I’ve tried printing static text or a ZPL template without any variables and have no luck. The template looks fine in labelary. I’m able to print using the printer driver (outside of Tulip) when I’m connected via USB to the printer.

Thanks for your help!

Hey @vvora @k.ober - did some more troubleshooting this morning and got it working! The issue was how I originally set up the printer / driver. This article from Zebra really helped - seems the set up needs to be done manually.

1 Like

Thanks for the update @eric.byers !