0
\$\begingroup\$

I want to interface a USB thermal printer with an Arduino. If I use a USB to UART converter so that I can connect the USB thermal printer to TX,RX for Arduino will it work or is there other way I can use?

\$\endgroup\$
4
  • \$\begingroup\$ No, usb to uart does not work in that direction (peripheral to host). \$\endgroup\$
    – Passerby
    Jan 18 at 11:24
  • \$\begingroup\$ is there any other option to connect Usb thermal printer to arduino \$\endgroup\$ Jan 18 at 11:27
  • \$\begingroup\$ It depends which Arduino you use. Does the Arduino have USB host interface for the USB device? \$\endgroup\$
    – Justme
    Jan 18 at 12:36
  • \$\begingroup\$ Yes, skip the arduino and use an Raspberry pi or similar. \$\endgroup\$
    – Passerby
    Jan 18 at 13:26

1 Answer 1

1
\$\begingroup\$

No you can't. USB isn't just an UART with different interface. UART over USB actually resembles only one of the USB device classes - CDC. There are ton's of others.

Second, the USB Host and USB Device are different thing. USB to UART converter are USB Device, while the PC are USB Host. USB Printer are USB Device too. You can't connect USB Device to Device (well, with some exceptions of USB OTG cases).

Even without this you don't know which protocol your printer uses. It's inside vendor drivers for the PC and OS. Do they supply "drivers" for the Arduino? No. So no, you can't as it wasn't designed to be used with Arduino.

If you need a printer for Arduino - search for the devices designed for this. Or a device with know protocol and suitable hardware interface.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ There are many embeddable thermal printer modules available from China, often with logic-level UART or RS232 interface. I happen to have got one some 2 years ago for $25. The documentation is often unavailable, however they seem to implement some standard-ish protocol used by other printers, with some features possibly missing. You'll have to find those by trial and error, should you actually need those. Thankfully, the printers often work as-is in ASCII mode, which is good enough to get at least some proof of concept working before the "smarter" modes are figured out later. Just passing by... \$\endgroup\$ Jan 18 at 12:44
  • 2
    \$\begingroup\$ @RichardtheSpacecat Adafruit for example offers Mini Thermal Receipt Printer which works over UART. And they offer library for Arduino. There are some probability that OPs printer actually have TTL UART inside which will even accept just simple ASCII text to print. But connecting to it requires some reverse engineering and knowledge, which OP seems to lack based on his question. There are same probability that it has some proprietary binary protocol over USB directly instead. \$\endgroup\$
    – NStorm
    Jan 18 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.