# Serial Output to Printer

**URL:** <https://community.tulip.co/t/serial-output-to-printer/9041>\
**Category:** Support, Troubleshooting, & Help\
**Tags:** devices\
**Created:** [August 10, 2023, 5:59pm UTC](https://community.tulip.co/t/serial-output-to-printer/9041 "2023-08-10T17:59:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![David2](https://avatars.discourse-cdn.com/v4/letter/d/a87d85/32.png) [@David2](https://community.tulip.co/u/David2)\
**Post date:** [August 10, 2023, 5:59pm UTC](https://community.tulip.co/t/serial-output-to-printer/9041/1 "2023-08-10T17:59:05Z")

</div>

Hi,

I’ve got a local label printer that has a ZPL II emulator, but annoyingly does NOT support ZPL emulation over ethernet (For future reference, this is a CAB Squix model printer). It DOES support ZPL emulation over RS232 though. Does anyone have any experience with/tips for transmitting ZPL over Serial?

---

<div class="post-metadata">

**Author:** ![k.ober](https://sea2.discourse-cdn.com/flex020/user_avatar/community.tulip.co/k.ober/32/6330_2.png) [@k.ober](https://community.tulip.co/u/k.ober)\
**Post date:** [August 11, 2023, 4:25pm UTC](https://community.tulip.co/t/serial-output-to-printer/9041/2 "2023-08-11T16:25:34Z")

</div>

@David2 ,

Good question - all the Zebra printers in the TEC work over RS232/serial, as it’s the method I prefer (no issues with network security or IP reassignment!). In short, you just send a message to the printer with your ZPL and it gets parsed.

Moreover, you _can_ send serial commands from Edge devices but I recommend doing it right from Player with the **Generic-Serial (Player Only)** driver - this keeps all your message config et al within the Trigger Editor, without having to bounce back out to the Driver config page to make changes.

The one caveat here is that you need to know the COM port of the printer. You can make this a manual input, but I prefer to automate it with [this method](https://community.tulip.co/t/programmatically-connect-to-serial-devices-with-player-triggers/8133). “The printer isn’t working because the plug was swapped” is a non-unfrequent error, and this avoids that entirely.

Final thing to note is that Expressions with _any_ null value (e.g. an empty variable) parse into a fully null string - use **Link** functions like I do if there’s a possibility of a variable being empty to avoid labels not printing in such a case.

Sample triggers for connect (I do this on app startup) and print are below. Let me know if this helps!

 ![image](https://us1.discourse-cdn.com/flex020/uploads/agilemfg/original/2X/9/97205c538faf0bde616d2a75629ccde943364efd.png)  
 ![image](https://us1.discourse-cdn.com/flex020/uploads/agilemfg/original/2X/1/1d690f8003ea5a43310254210915bbd1bef16735.png)

---

<div class="post-metadata">

**Author:** ![David2](https://avatars.discourse-cdn.com/v4/letter/d/a87d85/32.png) [@David2](https://community.tulip.co/u/David2)\
**Post date:** [August 11, 2023, 5:14pm UTC](https://community.tulip.co/t/serial-output-to-printer/9041/3 "2023-08-11T17:14:37Z")

</div>

Awesome, thank you. I’m waiting for a USB-to-Serial cable to come in so I can test this out. Will update with more info later.

---

<div class="post-metadata">

**Author:** ![David2](https://avatars.discourse-cdn.com/v4/letter/d/a87d85/32.png) [@David2](https://community.tulip.co/u/David2)\
**Post date:** [August 17, 2023, 7:12pm UTC](https://community.tulip.co/t/serial-output-to-printer/9041/4 "2023-08-17T19:12:36Z")

</div>

Verifying that this solution worked for me. One thing I did notice is that the sizing going from ZPL to a JScript based printer was a bit off (prints three labels every time signal is sent) but this is probably specific to how the printer is set up and will just require me to do some resizing on my own.
