I kept the static method I’d written for having a single, unique lock and changed it to create a single, unique dispatch queue. The static method, however, introduced a new issue I’d overlooked: upon logging out of the app, the queue would persist while the code blocks it ran tried to access deallocated data. This new issue finally pushed me to use an even higher level concurrency abstraction, NSOperationQueue (see Apple’s documenation for more details). NSOperationQueues are built on top of GCD but provide several extra features, including the ability to cancel operations. Moving printer communication code to an NSOperation subclass was a small amount of extra work that paid big dividends. By storing the operation queue as an instance variable on the print controller, I was able to cancel all waiting printing and printer discovery operations and deallocate the queue itself in just a few lines of code.
Hi @McNabbGames — I went ahead and combined your thread with another seller’s who had a similar question. I can assure you that we’re always looking into more affordable hardware options for our sellers. As for the technical explanation, from my limited understanding (I’m not an engineer), each printer manufacturer has a specific driver for their hardware, and since manufacturers don’t build printer drivers for Square Register, we would have to build one for each printer model – which is something we don’t have the bandwidth to do. 

Learn more.
2. USB Connection: If the cash drawer is connected via USB cable to the Square Stand: When you accept a cash payment, tap “Tender” from Square Register and your cash drawer will open automatically (If you’ve enabled PIN protection, you will need to provide the passcode).
( FREE 58mm Paper Roll is included!). Support Cash Drawer driving, connect cash drawer with RJ11. Connector Cable(RJ11 cable is not included.). Drawer made from robust Steel. ★★★★★. 1 X Cash drawer wi…
GOOJPRT PT – 210 58MM Bluetooth Thermal Printer Portable Wireless Receipt Machine for Windows Android iOS. – With Bluetooth 4.0 function, support Android, iOS and Windows, convenient for you to print …
Thermal Printer Features: 100% brand new and high quality Suitable for all types of commercial retail POS systems Light in weight and smart in shape High-quality printing and low cost Low noise and h…
The rest of the peripheral library code was also reusable. Admittedly, our deep class hierarchy was rather intimidating when I first came to Square, but it ended up being possibly my greatest resource in writing this feature. At the highest level, Register has a Peripheral class to model every hardware device we support. It includes common properties like manufacturer name, model name, and its connection state. At the next level down is the Printer class, which encapsulates printer-specific information like the kind of data it can print and its print width, as well as abstract methods for printing images and text. Having this infrastructure in place made the design of the Bluetooth printer class clearer, and provided a clean, generic API for the rest of the app to use to print images and text to any printer, leaving the low-level details of the printer communication to the subclasses.
POS-X CD16 Electronic Cash Drawer, 15.9″(W) x 16.7″(L) w/ CANADIAN 8coin/4bill cash tray insert and DUAL MEDIA SLOTS, Painted Face – Includes STAR Receipt Printer Interface Cable and 2 Keys. COLOR: BLACK, CC-410-B2-C $119.51 $89.19
The following hardware accessories are compatible with Square Stand. All hardware connecting directly to the Square Stand but will connect to the stand via USB. Note that with Square Stand you can use either a cash drawer that plugs into the receipt printer or one that plugs into the USB block of the Square Stand. We recommend using the printer connection since the printer connected cash drawer is simpler and less expensive than the USB version.
If my answer solved your problem, would you mind marking it as “Best Answer”? That’ll help the rest of the community find what they’re looking for. If not, just write back, and I’ll continue to help. Thanks!
*Note: We have had some Sellers complain about the receipts printing over too many pages when they want it to only print on one. The trick is to reduce the scale of the image within your printing options until it fits. (see screenshot)
Bluetooth printing was a great project — it brought many unique engineering challenges and taught me a lot about how Square’s code base works. I’ve always been taught to use inheritance when possible to organize and share code, but working with the peripheral class hierarchy was a strong reminder of just how valuable a good, well-organized, object-oriented architecture can be. There was a lot of shared code between WiFi and Bluetooth printers that I could have copied and pasted, but I’m glad that I took the time to not just make it work, but to do it right. I’m thankful that my co-workers pushed me to take the time to experiment with different abstractions of concurrency. Not only is my code better, but I now know many ways to approach the problem. In software, there’s rarely just one solution, and this is a good reminder to explore every possibility before choosing one — because it was the first idea that seemed to work.
Paper Width: 58mm( -0.1mm). POS-5805DD bluetooth thermal printer is compatible for iOS Android Windows devices. You can connect it to your smartphone via bluetooth. It can print fast & clearly. Blueto…
Pay Pal says this is compatible, but the few reps I have spoken with are not really familiar enough to guide me through. My LG Optimus phone runs T-Mobile 4g. I connected stand alone router(LAN?) to printer. I am guessing there is a conflict and I need to disconnect 4g or whatever wifi is connected to phone in order to pick-up signal from LAN router, assuming I can’t receive two simultaneous signals. That would disconnect me from Pay Pal transaction. Don’t know what I missing,but so far it’s a lot of wasted time and money. There’s no customer service that I can find with printer and the user guide is scant. I’ll take another look at Star website, but don’t expect to find a solution there. A USB connection would have likely prevented many issues/
Bought this strictly to print receipts with the Amazon Local Register iPad App and card reader, as it is the only receipt printer supported at this time by that platform. (Bought it used via an Amazon re-seller; works perfectly. It was easy to set up on the network using the downloadable Windows software. Once set up, my iPad and the Amazon Local Register app found the printer and linked to it easily. I haven’t tried using any of the other options (like printing our logo or printing coupons), but for what I bought it for it works perfectly. It prints extremely fast and clearly. The cutter works well, too. It is nice that it can be mounted to a vertical surface if desired.
I know that the Square corporate line is that the APG Vasario VB554A-BL1616  is the only USB cash drawer that works with the Square Stand hub (which means you don’t need a printer, which is what I want). I am wondering if anyone has experience using a different, less expensive USB drawer with the Square Stand and USB hub?
Square systems are primarily compatible with Ethernet or Bluetooth interface printers (depending on the tablet you are using, Android tablets with USB ports and USB On-The-Go or USB Host mode can use USB interface printers). The compatible printers for Square systems are as follows:
I’d like to take a step back from discussing integration challenges to mention a few examples from the Square Register code base that made my life easier for this project. The code separates operations looking for connected peripherals and interacting with them and uses abstract superclasses to provide a consistent API to the rest of the app. Because the code was so robust, my new printer code fit well into the rest of the app, and existing code used by other printers fit well into my own new code. One good example is our receipt image renderer. The renderer works by putting data into an HTML document styled by CSS, rendering that HTML into an unseen web view and then rendering the view into PNG image data that can be sent to the printer. The HTML and CSS scale to fit different-sized windows and thus are a good generalizable solution for multiple print widths. All of the printers that we had previously supported (WiFi and USB printers) printed three-inch wide receipts. However most of the Bluetooth printers I worked with use two-inch wide paper. Thanks to the flexibility of our renderer, all I had to do was set the correct print width of a printer and voilà — the receipts were seamlessly resized and looked great.
Square Register Star TSP654 LAN Thermal Receipt Printer with Auto-Cut, Ethernet/LAN Interface, Dark Grey Color, No Power Supply, No Interface Cable – TSP654L-24GRY – 37999540 **TSP654L-24GRY has been Discontinued – Replace with TSP654IIE3-24 GRY**
All Electronics Deals Best Sellers TV & Video Audio & Home Theater Computers Camera & Photo Wearable Technology Car Electronics & GPS Portable Audio Cell Phones Office Electronics Musical Instruments New Arrivals Trade-In
Complete your countertop POS system with this Square register kit. Print paper receipts, daily sales reports and summaries right from your iPad. Includes, Square reader, Star Ethernet Printer, APG 13″ Vasario Cash Drawer, drawer cable, extra 2 rolls of thermal receipt paper and installation support. 
Square Register Kitchen Printer, Star SP742ML (LAN) Ethernet Interface Receipt Printer with Auto-Cut and Internal Universal Power Supply, No Interface Cable, Charcoal/Dark Grey Color, SP742ML-GRY – 37999320
I have my own iPad 2 and square stand. I was Looking for compatible hardware and this was excellent. The register and printer work great, I even ordered more papers for the printer so we will use it long term.
SQUARE and SHOPIFY POS BUNDLE INCLUDES: • Square and Shopify recommended Star Micronics TSP654IIBI-24 Wireless/Bluetooth receipt printer. • Shopify/Square recommended printer driven 16X16 Cash Drawer. Comparable to APG 16×16 Vasario Series Cash Drawer Part #: VB320-BL1616 The compact footprint fits easily on your countertop and saves precious counter space. The clamshell design allows for fast and easy paper and ribbon loading. This printer can print 60 receipts per minute via Bluetooth connection, so you can tackle your daily needs with ease and efficiency. Pair it to your Shopify POS without a Wi-Fi connection. Need more counter space? Mount the printer to the wall with the included wall mount bracket. • Avoid complicated network setups – simply sync via Bluetooth, and you’re ready to print receipts from your iPad. • Uses thermal printing technology, so you’ll never need expensive ink or toner. • The Retail Package upgrade is required for this to connect to Shopify POS. Recommended for merchants who are looking for an easy to set up, reliable receipt printer.
Please help! I ordered a pos hardware bundle from Walmart.com and it’s not recognized by My square stand! Is there a way of “tricking” square stand into recognizing my usb receipt printer and cash drawer?
My first inclination, having just taken a class in C++ using pthreads, was to simply use locks. I created a shared NSLock through a class method and locked before listening and printing, as described in Apple’s Threading Programming Guide. I was excited when it accomplished the mutual exclusion I wanted, but my coworkers were less thrilled about using such a low-level solution given the higher level abstractions available in iOS. In search of a higher-level solution, I replaced the global concurrent queue on which I was running the printer code with a serial dispatch queue, allowing only one block to be run at once. I was getting warmer, but my new solution still raised some concerns.
It has 5 bill trays, 5 coin trays and a bill entry, keeping your money organized and largely improve your working efficiency and accuracy. Electronic Cash Drawer There are 5 bill trays and 5 coin tray…
I don’t have any personal use of this but this item says it takes usb input and converts it to the connection that would come out of the printer from what I understand.  It may work, it may not.  There are no reviews that are helpful of the product.
To create your own bar codes and labels, you’ll need to use a third-party application. At the moment, we don’t support bar code and label printers and can’t guarantee compatibility, but many customers have success using the DYMO Label Writer 450 and labels with Square.
This printer is fast. Thermal printers print very fast, and the internals are actually much simpler than the ones at my work. You simply open it up, drop the paper inside (yes, it’s a drop in, which makes it much easier to replace the roll once it has run out) and then feed the paper over the top.
Drawer made from robust Steel. 1 x Cash drawer with RJ11 cable. Thermal Receipt Printer. THERMAL RECEIPT PRINTER. 1 Fixed mount(1 Saddle stande with one turning axis, 1 Link pole with one Nut Sheath, …
Square Point of Sale (formerly Register) is the free point-of-sale app that gives you everything you need to run and grow your business. Accept debit and credit cards with a Square Reader for magstripe, and accept EMV chip cards and Apple Pay with the Square Reader for contactless and chip. Funds are deposited fast—see money in your bank account in one to two business days. Use your point of sale system to keep track of sales and inventory in real time, manage items and employees, and view analytics about your business. All this with no long-term contracts or surprise fees.
Don’t forget, we also sell Square Compatible Hardware Bundles for all these printers that includes s Refurbished Receipt Printer and a New compatible cash drawer plus cables, paper and everything you need to get started!
You may plug a receipt printer into one of the three USB ports found on the Square Stand accessories hub, but kitchen printers are typically located some distance away from your checkout register – farther away than a USB cable will reach.
The Ethernet printers compatible with Square Point of Sale are thermal printers. They require heat-sensitive paper and won’t work with non-thermal receipt paper. These types of printers aren’t ideal for kitchens or high-temperature working areas. 
I spent years in jobs that included lots of cash handling. This cash drawer is the nicest I’ve seen. It’s solid build will last for years and its finish is just lovely. It triggers cleanly and the drawer all but shoots out when triggered. I’m very pleased.