How to Select Data Interface for Kiosk Printers

There are numerous interfaces that can be used to connect the printer to your host system. Most printer models are available in several different interface types; some may contain more than one interface type in a single unit. One fact that influences which interface to choose is the available computer or OEM board design. Some proprietary designs use RS232 because it is available as a commodity item and easy to integrate. Another issue that influences your choice of interface is to decide whether the printer will use text or graphic printing.

This requires some explanation, as this is one area that causes frequent confusion regarding printers in general is that of graphic printing versus printing using the printer’s internal fonts. An explanation here may help clarify this and make application easier for you.

There are normally two ways to print from a thermal printer. You can use the printer’s own internal character generator to create the characters to be printed, or you can send the characters as graphics. There are advantages and disadvantages to each, but it’s important to decide which you will use, because this is a key consideration in choosing the interface type.

kiosk printer interface

Text Printing with Thermal Printers

In text printing, an ASCII or Unicode code representing a character is sent to the printer. The printer accepts this code, looks up what character it represents in its internal storage, and prints it on the paper. There are also commands for positioning and modifying the printout from these character sets, such as tab and indent commands and commands to enlarge the characters by some factor.


  • Very small number of bytes must be sent for printing.
  • A slow interface may be used since not very much data is being sent.
  • Pre-loaded logos/images can be printed by a simple few-byte command.


  • Printed output is limited to the fonts stored in the printer.
  • It is awkward to mix graphics with the text.
  • Different printers require different commands from your application program to perform the same function.

Graphic Printing with Thermal Printers

The other type of printing we’ll call “Graphic printing”. This is what happens when you print to an ink jet or laser printer from your PC. In graphic printing, which is most often used with Windows or other operating systems, what you see on the screen is transmitted as graphics to the printer. The information displayed on the screen (or from within the application program) is sent to a print driver which translates the graphic “image” into appropriate native printer commands and sends them to the printer.

Everything printed through a printer driver prints as graphics. It takes a lot more data to transmit graphics than to transmit ASCII. Everything is sent as a sequence of individual pixels. The number of data bytes easily sums up 20 to 50 times of the bytes needed for a comparable text-only printed receipt. The advantage of Graphic printing, then, is the ability to print anything; pictures, text, photos, logos, etc. exactly as you would see it on your screen.


  • Can easily print anything, including photographic images
  • If you can make the font on the screen, you can print it
  • A printer manufacturer supplies a driver for easy integration with your operating system


  • Many more data bytes than for text printing needed
  • For longer printouts requires a high-speed interface

Selecting Interfaces for Thermal Printers

As a practical matter, then, it comes down to this. Basically, if you are doing text printing, you can use USB or a serial interface. Both are fast enough to handle the smaller amount of data being sent. You can use an RS-232 interface because you’re not sending much data, and RS-232 is relatively slow. But if you use a Windows or Linux driver, you are doing Graphic printing, USB is a far better choice due to its higher speed, or another high-speed interface to achieve reasonable print speeds, especially if the printout is wider and more information must be sent to represent a single printed line. Serial may increase the time to complete a printout to an unacceptably long period.

The most common interfaces that you will notice in modern printers are USB, RS-232, and Ethernet. There are a variety of others that are not yet broadly popular or are used in very limited applications (Bluetooth, for example). There are also a few older interfaces that are sometimes considered (Centronics parallel, for example). A few highlights of each type are:

USB Printer Interface

Ubiquitous in computers for everything from the mouse, keyboard, scanner and printer, USB interfaces are available in versions: 1.1, 2.0 and, most recently, 3.0. The higher the number is, the faster the communication speed. However, from the printer’s perspective, even USB 1.1 sends data faster than the printer can print for most applications. These are cross-compatible, so that a host running USB 2.0 can use a USB 1.1 printer. USB is faster than the other commonly available interfaces. We always recommend it whenever possible.

RS-232 Interface

This is a simple interface that is often found in legacy systems and less sophisticated host equipment. Its primary advantage is its simplicity, while its primary disadvantage is its limited speed. Even at fast baud rates of 115,200 baud, it is noticeably slower than USB 1.1.

Ethernet Printer Interface

A printer employing an Ethernet interface can be plugged directly into your computer network without the need for additional wiring. This makes it especially convenient for certain types of applications where multiple printers are required, such as POS systems. In some printers with an Ethernet interface, the Ethernet connection is only used for information concerning the printer’s status, not to send data to the printer itself.

In general, we would suggest using USB whenever possible, with RS-232 as a usable choice for narrower receipt width printers, especially when using text printing. Ethernet should be used where the printer may often need to be relocated, such as department store POS systems, or where the printer is located a very long distance from the host.

What About Printer Drivers?

A printer driver is a special piece of software whose purpose it is to allow the operating system (for example, Windows 10) to internally use a standard set of commands for printing. The printer driver then translates those operating system printing commands into graphic commands for the specific printer attached to the computer system. Please note that, when a different operating system is used, (for example, Linux instead of Windows 10), a different driver is needed. Also, since printers generally have different Native Commands, each printer requires its own printer driver. Because printer drivers work by breaking down whatever needs to be printed into graphics, and sending that graphic information to the printer, they must send more data than sending pure ASCII text and employing the printer’s internal character generators.

It is important to remember that everything sent to the printer via a printer driver prints as graphics. Graphics requires a lot more data to represent a character than text does; for example, a line full of 12 x 24 dot characters requires around 40 bytes to print using the printer’s internal character generator, but about 672 bytes to send as graphics. Therefore, whenever a customer wishes to use the printer driver, he should purchase the fastest interface possible. That means USB first and RS-232 second.

Selecting the Right Design for Your Application

The HENGSTLER team is expert in matching printers to the application. Whether it’s gas pump receipts, bank statement printers, railway ticketing systems, kiosks, fire alarm systems, or just about anything else, we’ve seen it and can help locate and integrate the best-suited printer for the purpose needed. Moreover, we can support our customers effectively by offering tailor-made application projects. Contact us today with your application or challenge