MINI THERMAL PRINTER QR701

Ich habe mir einen Mini Thermal Printer QR701 (EH48-20243)  aus China (aliexpress) bestellt.
Der Printer druckt eine Testseite wenn man hinten auf der Platine den Schalter betätigt.

 Mini Thermal Printer QR701 (EH48-20243)

Note to all links: As an Amazon Associate and Aliexpress Affilate, I earn from qualifying purchases. The decision is yours, and whether or not you decide to buy something is completely up to you.

Bei mir druckt er jedoch keine Testseite aus….
The printer was not printing a test page.


Jetzt habe ich den Grund gefunden, ich habe ein zu schwaches Netzteil verwendet (1 A ).Mit einem stärkeren hat es funktioniert..
! Use a power supply > 1A !

Noch ein Tipp:
Pinbelegung beachten !
GND RX TX DTR VH
RX –> Pin ist Blau / Blue
TX –> Pin ist Grün / Green
DTR –> Pin ist Gelb / Yellow ( out it on GND)

Hier noch einige Dokumente

Here is my sketch :

You can also look at https://github.com/adafruit/Adafruit-Thermal-Printer-Library
There is also a example directory.

Check also a other blog about the Mini Thermal Printer: (use google translator to translate it) https://blog.goo.ne.jp/sabotenboy_london/e/9f8e50132b4554bce48f481f5ddbf874

Attention on the baud rate: On some models the baud rate is 19200 instead of 9600.

Some user comments from my old blog which could be useful

Chinese characters

This printer is slightly different from the one sold by Adafruit or Sparkfun. Mine seemed to have Chinese character mode turned on by default. And it only printed Chinese.

From what I understood from the Chinese data sheet posted here (with the help of Google Translate) the Chinese mode could be switched off with printer command „FS .“ or „28 46“ in decimal (page 34).

I could make my qr701 work with Raspberry Pi and Adafruit_Thermal library by modifying the library’s __init__ method to include the following command: self.writeBytes(28, 46). Just put it somewhere in the end of the method. This solved it for me. The printer occasionally prints a page in Chinese but then reverts to normal. I have yet to understand why it does that.

Now another problem I had was that the printer did not want to print Russian characters (I am Russian). So I had to force it to use another code page with command self.writeBytes(27, 116, 7) where 7 is the number of the code page with Cyrillic characters from the data sheet (page 45).

Hope this helps. Or it least gives clue where to look for an answer. Cheers, fellow makers.

Another hint could be

printer.begin(); 
printer.writeBytes(28,46);
//for Cancel Chinese character mode, see page 39 of 701print-driver-board.pdf
//methode writeBytes need to be declared public in Adafruit libary (Adafruit_Thermal.h)
// you can try also the function printer.setCodePage(CODEPAGE_CP437)
// look at Adafruit_Thermal.h for all options

2 comments

  1. a thermal printer QR7011 some module is not working on baud rate 9600. i’m test device baud rate at 8500 to 9400 a thermal printer not print chinese character but i chang baud rate 9600 a thermal printer print chinese character.

  2. Maybe also DOUBLECHECK if your Printer is TTL or RS232.
    If it Tells USB & RS232 you can not use Arduino directly to control printer.
    You may need a MAX232 to communicate with the printer

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.