Skip to content

Printers and Cash Drawers

Hyvä POS is in closed beta

Hyvä POS is currently in a closed beta (pilot phase) with a small group of merchants. It is not yet generally available: the App Store release follows the pilot, and features and configuration may still change - possibly in backwards-incompatible ways - before the general release. Want to take part? Sign up at hyva.io/pos.

Printer support comes in tiers, and we are explicit about them: hardware we have tested on real devices, hardware the drivers support but we have not physically exercised, and two best-effort paths (generic ESC/POS and AirPrint) that cover almost everything else. When in doubt, order from the tested list.

What to Order

Our recommendation after testing, for a fixed counter:

  • Epson TM-m30III, the favourite: powers the iPad over USB-C, prints receipts, kicks the cash drawer, and hosts the Epson DM-D30 customer display. One clean cable, no network dependency.
  • Star mC-Print3, the Star one-cable counter: powers the iPad over USB-C, kicks the drawer, hosts the Star SCD222U display. Order the USB-C variants, MCP31CI or MCP31CBI: the MCP31L/LB variants have no iPad USB-C and run over the network instead.
  • Star mPOP for tight counters: printer and cash drawer in one chassis, powers the iPad over USB-C, hosts the Star SCD222U display.
  • Brother RJ series for mobile use: battery-powered Bluetooth printers for markets and pop-ups; some models print barcode labels too.
  • Zebra ZD411 for dedicated barcode-label printing.

Watch the model variants

Printer families ship in many SKU variants and not all of them talk to an iPad. Example: the Star TSP143IV-UEWB (Wi-Fi + Bluetooth) works great, but the TSP143IV-UE variant's USB-C speaks Android-AOA, not iPad, and it has no Bluetooth, leaving Ethernet as the only iPad path. Check the connectivity of the exact SKU before ordering.

Tested by Hyvä

Physically exercised against real hardware by us:

Printer Type iPad connections
Epson TM-m30III Counter receipt USB-C (powers the iPad), Bluetooth, Ethernet
Star mPOP Counter receipt + integrated drawer USB-C (powers the iPad), Bluetooth
Star mC-Print3 (MCP31CI) Counter receipt USB-C (powers the iPad), Bluetooth, LAN
Star TSP100IV Counter receipt Network (no iPad USB-C)
Star TSP143IV-UEWB Counter receipt Wi-Fi, Bluetooth
Brother RJ-3230B Mobile receipt/label Bluetooth (MFi)
Brother RJ-2035B Mobile receipt Bluetooth (MFi)
Zebra ZD411 Barcode labels Bluetooth

Supported by the Drivers (Not Yet Tested by Us)

The vendor SDKs support these models and the app implements them; we have not put them on our own bench. They should work, and we debug together with you if something is off:

  • Epson (ePOS SDK): TM-T20II, TM-T88V, TM-T88VI, TM-m10, TM-m30, TM-m30II, TM-m30II-NT
  • Star (StarXpand SDK): mPOP variants (POP10CI, POP10CBI), mC-Print2 (MCP21LB), the remaining mC-Print3 SKUs (MCP31L, MCP31LB, MCP31CBI)
  • Brother (mobile RJ series): RJ-2050, RJ-2150, RJ-3050Ai, RJ-3150Ai, RJ-3235B, RJ-3250WB, RJ-3255WB, RJ-4030Ai, RJ-4230B, RJ-4235B, RJ-4250WB, RJ-4255WB, RJ-2035B, RJ-3035B, and the RJ-2055WB / RJ-3055WB
  • Zebra (Link-OS, labels): ZD421, ZD611, ZD621

Brother RJ-2055WB / RJ-3055WB

These two models connect over Bluetooth LE or Wi-Fi (no MFi identity), and the hardware cannot report its own model name over BLE, so the app asks you to pick the model once during setup. Everything else works normally after that.

Generic ESC/POS Network Printers (Best Effort)

Any printer that accepts raw ESC/POS over TCP port 9100 on your network works through the generic path: Epson, Star, Citizen and most generic thermal printers. Text, formatting, cut and drawer kick are supported. Two limitations to know:

  • No status read-back: this path streams bytes to the printer. Paper-out, cover-open or offline states cannot be reported; a failed print shows as a connection error. The vendor SDK paths above give richer status.
  • Models outside the tested list are unverified; they usually just work, and we look at issues together when they do not.

AirPrint (Fallback and A4)

Any AirPrint-certified printer on the network prints receipts through the iOS print panel, no setup on our side. Use it as the fallback when the thermal printer is offline, and for full-size A4/Letter copies. Receipts render from the same template as thermal output, so they look consistent.

Technical Notes Worth Knowing

  • Accents and the euro sign print correctly on the ESC/POS path: the app selects a Western European code page rather than plain ASCII, so é, ä, ö and € survive.
  • Native QR and logo printing on generic ESC/POS printers is opt-in per printer. Some older thermal firmwares print unknown commands as garbage characters instead of ignoring them; the per-printer toggles exist so you enable these only after a successful test print.
  • A "force text mode" escape hatch exists per printer for the rare hardware where image printing misbehaves; it applies to printers with a text pipeline (Epson, Star, generic ESC/POS).
  • Brother over Bluetooth LE is slow for images by SDK design (tiny 20-byte writes). The app's native text-receipt mode for the RJ BLE models sends a few hundred bytes instead of an eight-kilobyte raster, which makes receipts print in a fraction of the time; if a text print ever fails, the app falls back to the image automatically.
  • Receipts render for 1-bit thermal output: no anti-aliasing, bold fonts, thick dividers. That is deliberate; grey pixels and hairlines disappear on thermal paper.
  • Quality knobs per printer: darkness (three levels), speed, receipt size scaling and double-strike for bolder text.

  • Tear-off printers pause between copies: on Brother RJ printers the app shows a "tear merchant copy" confirmation before printing the customer copy, so two receipts never end up on one uncut ribbon.

  • Brother halftone setting: receipts with a logo look best with Error Diffusion; text-only receipts print faster and crisper with Threshold. It's a per-printer picker in the app.
  • Epson TM-m30III-H: has an internal USB hub - its USB-A ports enumerate through the iPad, so peripherals can share the printer's single cable to the iPad.

Cash Drawers

Cash drawers have no connection of their own: they open on an electric pulse from the receipt printer's RJ11/RJ12 "DK" port. The iPad tells the printer, the printer kicks the drawer, which means any kick-driven drawer with an RJ11/RJ12 plug works, regardless of brand (APG, Star, Epson, bundled generics).

Printer Drawer support
Epson TM series Yes. The app pulses both drawer pins, so wiring variants work without configuration
Star mC-Print, TSP100 series Yes, via the DK port
Star mPOP Built in: printer and drawer share one chassis
Generic network ESC/POS printers Yes, via the standard kick command
Brother RJ mobile printers No drawer port (portable)
Zebra label printers No drawer port
AirPrint office printers No drawer port

The drawer opens automatically on cash payments (configurable) and manually for a no-sale check. Every opening lands in the register's audit trail, so the Z report accounts for each time the drawer was open.