From Fargo to Zebra Fri Feb 27 2026 I switched FurSquared away from Fargo to Zebra label printers. Other conventions are doing the same to speedily get attendees to the things they find fun. -------------------------------------------------------------------------------- From Fargo to Zebra =================== Published Today - 18 min read This was the first year FurSquared used Zebra printers for registration — specifically the ZD420C [L1] model. Previously, going back to before I started to staff, FurSquared used the HID DTC1250e [L2] printer for on demand full-color badges. At my direction, the convention pivoted away from these printers and the results met my expectations. Why do you need a printer? -------------------------- Why not give the same ticket or weekend pass to everyone? Most furries want to be represented and addressable while sticking to their custom online identity. One of my identities is “Cendyne”, another would be the name on my paychecks. The name “Cendyne” isn’t a username or some gamer tag. It represents both me and my character. The face I wear to the grocery store is no where to be seen on this site. People know me by that name in this community. I, like many, wear art of my character at conventions. [I1: Ms paint style portrait of Cendyne] Not everyone can afford art. Customized badges give every an attendee the chance to identify one another regardless of their ability to afford and carry identifying artwork. Furry conventions care deeply about the safety of their attendees too. If a troublemaker needs to be removed from the convention, with the coordination of the venue, a unique event-specific badge affords a lot more opportunity to track down a person than a here-say description. Apart from exceptions like Las Vegas Fur Con [L3], which is 21+ only, furry conventions offer spaces for all audiences. Badges for minors must be visually distinct from adults so they can be identified at a distance and kept away from adult spaces. [I2: Example badge that says NOT VALID - EXAMPLE ONLY] After the convention, the badge also functions as memorabilia. At the new year, many will wear last year's badges to show their friends that this convention is worth returning to. Badges are customized unique trophies that should survive for years after the event is over. They need to be bright, memorable, and legible. Why drop Fargo? --------------- FurSquared had been using HID DTC1250e card printers for years now. At the time, it satisfied these needs. CR-80 [L4] cards are durable, cheap, and a blank canvas for any artwork we could come up with. [I3: Amazon listing of PVC cards] A canvas needs color, though. The ribbons to do full color, black, and lamination are around 21 cents per card. At scale, this is a reasonable $0.30 per badge. [I4: A listing on B&H for a ribbon cartridge] Besides taking around 40 seconds to print each badge, each year, at least one printer would stop working entirely or otherwise be too problematic to leave in operation during the event. We had to expense between $1400 (used) and $2500 per printer per year. This alone breaks the economic savings of the media costs to produce these badges. /[cendyne: peace-was-never-an-option]------------------------------------------\ | Also... the drivers [L5] were so bad that I had to intentionally shut down | | and re-initialize CUPS [L6] every time a printer turned on, turned off, ran | | out of materials, or some other unforeseen problem. | \------------------------------------------------------------------------------/ /[cendyne: face-mash-keyboard]-------------------------------------------------\ | Every 250 prints, a printer needs a new ribbon cartridge! Every time a stack | | of 100 CR-80 cards ran out, the printer would stall. Automating CUPS | | restarts took weekends of my life away and I burned through about $100 in | | materials just so I could leave the registration room for even normal reload | | operations. | \------------------------------------------------------------------------------/ Why not another CR-80 printer? ------------------------------ Other conventions, like AnthroExpo [L7] use Zebra ID Card printers like the ZC100 [L8], which prints single sided full color in 24 seconds. That does beat the Fargo HID DTC1250e printing speed. [I5: anthro expo's zebra printers covered in qr code stickers] The price of switching over or maintaining two different printer models and supplies was too great to justify, however. [I6: B&H web store screenshot showing a price of $2334.09] Alternatively, you can buy even faster printers like Motor City Fur Con [L9] with the ZXP Series 7 [L10] line up. MCFC reports a full color print in twelve seconds and with three printers they're able to process this year's 2525 attendees with ease. [I7: Product showcase page of the Zebra ZXP Series 7] The price goes up a thousand per unit though. Going fast reliably costs 💰💰💰. At twelve seconds per print, these printers can serve a sizable convention! [I8: A screenshot showing the printer costs $3182.83 and the ribbons cost $252.] /---------------------------[cendyne: money-on-fire]---------------------------\ | Alas, furry conventions only have so much money. | \------------------------------------------------------------------------------/ But what if... only black and white? ------------------------------------ All this time we've been focused on making something bright, memorable, and durable inside the printer. What if the printer did less? In 2-6 seconds, we could print a single black and white layer on a card printer. This is what Midwest FurFest [L11] does! The downside and constraint is that every badge is the same, you cannot differentiate the content on the card if you're only printing a black and white layer. /--------------------------------------------------------------[cordite: shrug]\ | Nah uh. I could totally put the right card in before it prints! | \------------------------------------------------------------------------------/ /[cendyne: absolutely-not]-----------------------------------------------------\ | No way. You're not going to add more skin-oil, dust, and stray fur-suit | | fluff into the printer. That's how we lose $3000 a year. | \------------------------------------------------------------------------------/ [I9: Video: The letters Cendyne are dragged onto the badge] Sorry, I lied. There's only black. I can't print white, I can't print grey. Any white outlines or other elements (like QR codes) that require contrast must be accommodated in the design. If we adopt a strategy of printing only black on the same design for everyone (even minors), we get incredible speed without any cost savings. In fact, pre- printing all the cards (at $0.50 / each through a supplier) will raise the unit price of each badge. So how do we save money and have some flexibility for the badge designs? Labels ------ I don't recall if a Aquatifur [L12] was the first convention I went to that used labelers. The one that I know for sure at my first attendance was Biggest Little Fur Con [L13] (BLFC). Back then, before any of this mattered to me, they used a desktop PT-P700 label printer. For a convention under 300 people, this is a great choice to start your convention with if you have no technical know-how. [I10: Brother P-Touch PT-P700 label printer for $95] /[jacobi: scheming]------------------------------------------------------------\ | Any and every badge design is within reach now. As long as it works well | | with a black-only print area. | \------------------------------------------------------------------------------/ You should not print flyers at Staples for event badges. They'll rip off the lanyards and spoil from an uncomfortably moist fur-suit hug. Instead, find a plastic printer that offers event badge printing. [I11: Plastic Printers screenshot with a conference badges and event badges collage] At BLFC, attendees can pick their own badge art ahead of time. When they arrive, staff see their preference and grab the appropriate plastic badge. Unlike BLFC, FurSquared binds the label to a badge design specific to the attendee's purchase, whether general admission, a daily pass, or a super sponsor. [I12: A scan of BLFC 2018's front and back badge design] /[cendyne: wink2]--------------------------------------------------------------\ | How I have several blank BLFC badges with different designs is left as an | | exercise to the reader. I've never been staff of BLFC. | \------------------------------------------------------------------------------/ Which Label Printer? ^^^^^^^^^^^^^^^^^^^^ Above, I mentioned that the PT-P700 is an adequate printer for new conventions under 300 people. BLFC wasn't a small convention in 2018. With 5435 attendees, they made so many people wait on these darn Brother printers. /[cendyne: dying-at-computer]--------------------------------------------------\ | The same printing tech is inside my P-Touch D610BT and the timing I measured | | in print and application depresses me. | \------------------------------------------------------------------------------/ [I13: Video: Brother Printer Print timing] I measure around 6.9 seconds of print time for 3 inches of useful label area, followed by 27.9 seconds of trimming, peeling, and applying a label. Worse if there were a minor — in which case the cart would have to be swapped to another color — add another 60 seconds of execution time to set, print, and reset the printer for the next attendee. Looking for an alternative? Several conventions roll with Dymo printers, such as the Dymo LabelWriter 550 [L14] which works with RegFox [L15], ConCat [L16], and any convention software that supports the native print dialog. [I14: Dymo LabelWriter 550 with a price tag of $146.80] Unfortunately, that price tag comes with a deferred consumable cost... Dymo puts DRM in their labels [L17] ! You cannot get third party labels for a Dymo printer unless you hack it with additional hardware [L18]. There's actually a comparable option, assuming you don't grab the latest and greatest brand new from Zebra. [I15: Latest Zebra Printer listing for the ZD400 series] Check out listings on eBay. Most are clean and just work. Some might need part replacements like a platen roller [L19], though the reliability and willingness to accept any and all media cannot be understated. These work. These work so well that you'll wonder why Zebra isn't the first recommendation. [I16: Zebra ebay listing, around $130] /[cendyne: i-missed-the-part-where-thats-my-problem]---------------------------\ | You wouldn't be reading this if all you wanted was "some person on the | | internet's opinion." I'm laying out the facts that you can make make a | | logical decision. | \------------------------------------------------------------------------------/ Get a Zebra printer. Just not the "ZSB" (Small Business) series. Those have DRM labels too and everyone hates them. No one wants DRM labels. No one wants print software that breaks if your internet connection drops or your computer goes to sleep. Do not get a ZSB Series Printer. (I have one. Don't.) [I17: ZSB series for $40] /[cendyne: straight-to-jail]---------------------------------------------------\ | The contracting team that wrote the ZSB software should be professionally | | erased from this planet. They have done a disservice to the hardware team | | that made an otherwise functional (but evil) printer. | \------------------------------------------------------------------------------/ /[cendyne: ych-you-disappoint-me]----------------------------------------------\ | Their release process is in shambles. It's built on someone's personal | | computer instead of CI. For a company releasing at this scale, this | | terrifies me. Use ghidra [L20] to inspect the ZSB software to see what I | | mean. | \------------------------------------------------------------------------------/ Printing to the... printer -------------------------- Back in 2019, FurSquared had a few laptops hooked up to the DTC1250e printers. The check in flow at the time had staff submit a form to render a the badge as a PNG with Pillow [L21] with a PNG or JPEG of the artwork with the name on top. Then they'd use the native print dialog to send it to the printer connected over USB. The very same flow that BLFC used in 2018 (my first time in Reno!) and beyond until... 2023! /--------------------------------------------------------[cellivar: tongue-out]\ | Squeak! | \------------------------------------------------------------------------------/ Nican [L22] first deployed ConCat BLFC 2018 [L23]. Years later, Cellivar [L24] contributed Zebra printer to ConCat in 2023. According to the kangaroo rat, BLFC trialed four laptops running with his zebra printers over Web WebUSB [L23] WebUSB while the old Brother printer setup had ten laptops. Guess which setup ate through the lines? Cellivar's! On top of that, guess which one didn't get delayed by driver troubleshooting and setup? Also Cellivar's. Where's the difference? Three key details: Zebra Printers, WebUSB, and no native print dialog. /---------------------------------------------------------------[cordite: peek]\ | You keep mentioning the “native print dialog” like it’s a problem | \------------------------------------------------------------------------------/ /[cendyne: apple-crash-pose]---------------------------------------------------\ | It is a problem! The native print dialog slows everything down and adds room | | for operator error! It's part of why printing full color cards took 90 | | seconds instead of 40 seconds at FurSquared before I came in. | \------------------------------------------------------------------------------/ [I18: Diagram comparing p-touch printing with a total time of 47-87 seconds with zebra printing of 17-22 seconds. Both share a verifying ID time of 10 seconds.. so zebra printing is about 5x faster than P-Touch.] /[cendyne: i-am-thinking-augh-my-head]-----------------------------------------\ | If this chart doesn't cause you to recoil at what you've been missing, I don | | 't know what to tell you. Oh wait — | \------------------------------------------------------------------------------/ /[cendyne: ych-hug-many]-------------------------------------------------------\ | Cellivar isn't the only one to thank for bringing Zebra label printers to | | furry conventions. Sqekr Tech [L25] was formed by several folks out west as | | a non-profit to lease event registration equipment to other non-profits. If | | you use ConCat, coordinate with Sqekr Tech. | \------------------------------------------------------------------------------/ Here's why the native print dialog is so harmful: room for error, human fatigue, and timing variance. Staff will choose the same printer and set the same document width, height, and orientation every time. Some staff will rapidly get used to the mechanical process of clicking the same 8 things in sequence – most won't. This must be automated for scale. There are two ways to remove the native print dialog. Either make the server do it behind the scenes, or directly interface with the printer. Print through the server ^^^^^^^^^^^^^^^^^^^^^^^^ The first thing I did for FurSquared in late 2022 was decouple the printer from the computer. In Process Engineering at a Furry Convention [L26], I designed it to print immediately upon payment. This would only be possible if done through the server. Secondly, since the printers were decoupled from the registration stations, giving the option to select which printer was irrelevant and was not included. In fact, the only time someone intentionally clicked the print button was after updating the badge content and issuing a reprint. /[cendyne: augh-anguish-pain]--------------------------------------------------\ | The aged-like-milk Linux CUPS drivers still caused me so much pain. | \------------------------------------------------------------------------------/ Before that, FurSquared used the native print dialog and had to switch away from 8.5x11 every time. Other conventions like Further Confusion [L27] managed to hack in printing into RegFox through chrome extension "integrations" and unsupported chrome flags to bypass the native print dialog. Midwest FurFest [L11] (MFF) made this change after the Covid pandemic. Compared to the prior flow where it would print somewhere and Mario or Luigi (Staff that cosplayed as them) among many others would call out badge names once printed, the process became far more consistent as an attendee. /[cendyne: cheers]-------------------------------------------------------------\ | Coupled with the proactive tiered queue management, the lines are far faster | | now than they were years ago. Registration there has really stepped up at | | MFF. | \------------------------------------------------------------------------------/ /------------------------------------------------------------------------------\ | Sparkx @sparkxfalcon.bsky.social | |------------------------------------------------------------------------------| | Say what you will about MFF in other areas like room lotto, food choices, | | location etc, but MFF has got their shit DOWN when it comes to registration. | | | | That wss perhaps the fastest I've ever gotten through a registration line. | | | | #MFF [L28] | | #MFF2025 [L29] | | [L30] 12/5/2025 | \------------------------------------------------------------------------------/ /[cendyne: jazz-music-stops]---------------------------------------------------\ | Swag, on the other hand, still needs a lot of work. It's another department | | and my current understanding is they contract out the shirt distribution. A | | 90 minute line to get a shirt isn't acceptable. Someone would occasionally | | mention they can be picked up at con store later — which I did — though | | proactive (actually deny people from queuing) load shedding [L31] ought to | | be implemented next if they can't get enough people to distribute shirts at | | the rate demanded. | \------------------------------------------------------------------------------/ Once the station at MFF is configured to use the physically adjacent printer, then staff only need to click "Print" wrap up the process. No printer selection, no media configuration, no physical media swapping — only a button press away from helping the next person in line. The move to Zebra printers at FurSquared went similarly. Each pair of stations had its own primary printer, and in the uncommon case a minor needed to get a badge, printing would route to the appropriate printer through the server. It's all ice cream and lollipops [L32] – until the print server goes down. /[cendyne: computer-violence]--------------------------------------------------\ | In MFF's case, I heard it was a bad stick of RAM that failed DURING the | | convention. In my case, it was probably a network fault or a state machine | | bug. At my remote instruction, they power cycled the server and everything | | came back online. | \------------------------------------------------------------------------------/ /------------------------------------------------------------------------------\ | Sirius @smolunicorn1.bsky.social | |------------------------------------------------------------------------------| | Spy sappin' my print server! #MFF [L28] #MFF2024 [L33] | | [I19: Photo included with Bluesky post] | | | | [L34] 12/6/2024 | \------------------------------------------------------------------------------/ /[cendyne: hiding]-------------------------------------------------------------\ | There are a few more downsides. I'll get to that in a moment. | \------------------------------------------------------------------------------/ Printing without an operating system driver or server ----------------------------------------------------- Another option is to interface directly without involving a windows, Mac, ChromeOS, or otherwise provided native print driver. The application, or in this case, web application, has access somehow to the physical device that will produce the print. There's no CUPS, only your software and Web WebUSB [L23] WebSerial or Web WebUSB [L23] WebUSB, or native equivalents that interface with the other side. This is how Cellivar prints to Zebra printers with ConCat. The badge bitmap is rendered and sent to the printer client-side without any round trips from the server. With a point to point setup like this, there's less technically that can go wrong and any troubleshooting is straight forward. The cost is that each station necessarily needs its own printer. I don't have the budget for that. This cost is offset by the rental services Sqekr Tech offers. We only use these printers once a year. Other cons can use Sqekr Tech's printers many times a year. Cellivar can ship out a crate with laptops, printers, and cash boxes without having to setup, train, and be on-call to staff on site. I do. A print server is more complicated than a laptop with WiFi access and a USB cable. /-------------------------------------------------------------[cellivar: smile]\ | In gathering my (Strike through: hoard) collection of printers I learned | | they were fiddly to set up then were pretty stable during use. That's what | | these commercial printers are designed for, after all. Our nonprofit handles | | that, saving the precious volunteer time at-con for getting attendees | | through the reg line. | \------------------------------------------------------------------------------/ /---------------------------------------------------------[cellivar: thumbs-up]\ | Furry cons have a history of sharing equipment to reduce costs. My team | | takes that to the next level, keeping the event's costs consistent and | | putting the proceeds directly back into maintenance, equipment upgrades, and | | expanding the types of problems we can solve. We've worked with 7 different | | events, not all of them furry cons! | \------------------------------------------------------------------------------/ /----------------------------------------------------------[cellivar: bothered]\ | Freight mailing costs are higher than our equipment rental costs. We're | | still figuring out how to work with far-flung events away from the San | | Francisco Bay region. I have to settle for sharing notes with Cendyne, not | | printers. | \------------------------------------------------------------------------------/ Moving solely to direct WebUSB printing does cut off one important benefit: any station in my setup could also check in minors without that printer being connected to the same machine. A hybrid approach is possible! Just that, once you pay the complexity price of one printer, you've paid it for nearly all printers. What about my event? -------------------- Without a technology R&D team (or load bearing person), your options to speed up the registration lines at your event are limited. If you're out west and use ConCat, hit up Squekr Tech. Otherwise, if you're using ConCat, you might get by with a few zebra printers, as long as they were made in the last 10 years and start with `ZD`. /[cendyne: reading]------------------------------------------------------------\ | There's a lot more that goes into selecting a specific printer. Maybe I'll | | write about it some time. Look at eBay for them. Even if discontinued, the | | printers will work for years to come. Test, verify, practice, and train. | \------------------------------------------------------------------------------/ Should your tech team want to add Zebra support to another registration system, check out Cellivar's WebZLP [L35], that's what powers the ConCat integration. Otherwise, you seriously need someone with expertise and persistence to research, develop, and integrate a solution that works with your event. It needs to work for thousands of people without the mechanic being on standby the whole time. How FurSquared went ------------------- After the first two opening hours, registration's line queued no longer than ten people the rest of the convention. Zebra Printers work. Two thousand seven hundred and ninety-five people got badges printed with my software. The only stress I felt from registration were from the four hours before it opened. /-----------------------------------------------------------[cordite: surprise]\ | What went wrong? | \------------------------------------------------------------------------------/ The Lenovo T420 Thinkpad [L36] from 2011 did not have the SIMD instructions that the Bun.js [L37] runtime needs. My software could not start on the hardware I allocated for the task. /-----------------------------[cendyne: explosion]-----------------------------\ \------------------------------------------------------------------------------/ You read that right. The software I had could not run on the print server. I had to bring out my personal hardware as a backup for the convention to open on time – which it did! [I20: A networking switch with three smaller distinct boxes on top. One is painted yellow.] The free wifi available at the convention center provided around 150Kbps. I was unable to download Bun.js and Tailscale [L38] over that network to even begin calibrating the printers. I had to expedite the deployment of our LTE network to even begin the software install. /--------------------------------[roury: ramen]--------------------------------\ | I helped! | \------------------------------------------------------------------------------/ Thankfully, as the Technology director I had team members scheduled to help during set up and they were available to help even as I reprioritized what would happen and when. Once the print server was online, we began the calibration process. This was going fine until I discovered a race condition that broke the state machine in the print server. If the print server accepted a print job when the printer was connected, but the printer disconnects (TCP keep alive) before the PNG is rendered for the badge, the printer would never get reconnected. /--------------------------[cendyne: head-desk-crack]--------------------------\ \------------------------------------------------------------------------------/ Then, upon reinstalling the new update with the fix, the reinstall wiped all the local calibration information, leaving the print server in a state where it would say the printers are online and then never send print jobs to the printers. Thirty minutes before registration opened, I had to recalibrate all the printers. Unfortunately, the text got partially cut off the bottom for dealer names and registration levels. I strive for perfection, but at that point I had to let go so the doors could open on time. The take away for anyone else who wants to do a print-server setup, be prepared to replicate the production environment with four or more printers and have several people concurrently (and randomly) print material through the system for over several hours before you can call it safe for go-live. -------------------------------------------------------------------------------- [L1]: https://www.zebra.com/us/en/products/spec-sheets/printers/desktop/ zd420c.html [L2]: https://www.hidglobal.com/products/dtc1250e [L3]: https://lasvegasfurcon.org/ [L4]: https://www.cardlogix.com/glossary/cr80/ [L5]: https://www.hidglobal.com/drivers/41707 [L6]: https://openprinting.github.io/cups/ [L7]: https://www.anthroexpo.net/ [L8]: https://www.zebra.com/us/en/products/printers/card/zc100/zc100.html [L9]: https://motorcityfurrycon.org/ [L10]: https://www.zebra.com/us/en/products/spec-sheets/printers/card/zxp-series -7.html [L11]: https://www.furfest.org/ [L12]: https://aquatifur.org/ [L13]: https://goblfc.org/ [L14]: https://www.dymo.com/label-makers-printers/labelwriter-label-printers/ dymo-labelwriter-550-label-printer/SAP_2112552.html [L15]: https://www.regfox.com/ [L16]: https://concat.app/ [L17]: https://www.youtube.com/watch?v=YJs9_xELKbI [L18]: https://hackaday.com/2022/03/30/freedmo-gets-rid-of-dymo-label-printer- drm/ [L19]: https://www.zebra.com/us/en/products/accessories/printer-print-engine/ platen-rollers.html [L20]: https://github.com/NationalSecurityAgency/ghidra [L21]: https://pypi.org/project/pillow/ [L22]: https://bsky.app/profile/nican.net [L23]: https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API [L24]: https://bsky.app/profile/cellivar.dev [L25]: https://sqekr.tech/about/ [L26]: https://cendyne.dev/posts/2023-04-16-process-engineering-at-a-furry- convention.html [L27]: https://furtherconfusion.org/ [L28]: https://bsky.app/hashtag/MFF [L29]: https://bsky.app/hashtag/MFF2025 [L30]: https://bsky.app/profile/sparkxfalcon.bsky.social/post/3m776wyib4s26 [L31]: https://en.wikipedia.org/wiki/Load_shedding [L32]: https://deusex.fandom.com/wiki/Mission02_conversations#:~:text= It%27s%20all%20ice%20cream%20and%20lollipops [L33]: https://bsky.app/hashtag/MFF2024 [L34]: https://bsky.app/profile/smolunicorn1.bsky.social/post/3lcm6yvdlck26 [L35]: https://github.com/Cellivar/WebZLP/ [L36]: https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad -t-series-laptops/thinkpad-t420 [L37]: https://bun.com/ [L38]: https://tailscale.com/ [I1]: https://c.cdyn.dev/r3xfzz6o [I2]: https://c.cdyn.dev/qcVDZwDw [I3]: https://c.cdyn.dev/CBVq_lP2 [I4]: https://c.cdyn.dev/Byfd0QQn [I5]: https://c.cdyn.dev/sJaD9GXE [I6]: https://c.cdyn.dev/EVJo16Cj [I7]: https://c.cdyn.dev/iquA4aqT [I8]: https://c.cdyn.dev/eIUbbljB [I9]: https://c.cdyn.dev/uN7EFdU_ [I10]: https://c.cdyn.dev/ROMM1wXQ [I11]: https://c.cdyn.dev/95kablDD [I12]: https://c.cdyn.dev/-aIcliVz [I13]: https://c.cdyn.dev/zhim-Am3 [I14]: https://c.cdyn.dev/cvx3xDov [I15]: https://c.cdyn.dev/ejKIaRwu [I16]: https://c.cdyn.dev/05JEM1-Z [I17]: https://c.cdyn.dev/8obPI2pu [I18]: https://c.cdyn.dev/vPNtoLj8 [I19]: https://c.cdyn.dev/9k-yB6l_ [I20]: https://c.cdyn.dev/D8ZzvNuN