Thermal Printer for IoT
A mini thermal printer accessible via 5V TTL Serial for your IoT projects. Arduino compatible.
Specifications:
- Serial Baud Rate: 9600
- Power Voltage: 5-9V
- Current Requirements: 10A - this is critical, you need reliable power of at least 10 amps (Recommended: Power Supply & Plug)
- Printing Method: Thermal Line
- Printing Speed: 50-90mm/s
- Resolution: 8 dots/mm, 384 dots/line
- Effective Printing Width: 48mm
- Character Set: ASCII, GB2312-80(Chinese)
- Print Font Dimensions: ASCII: (8x16,9x17,9x24,12Ă—24), Chinese: 24Ă—24
- Paper Type: Thermal paper
- Paper Width: 57.5± 0.5mm
- Paper Roll Diameter: 39mm
- Reliability: (MCBF) 5 million lines
- Interface: RS-232 (TTL 0-5V levels)
- Insert Depth: 50mm
- Physical Outline Dimension: 111 x 65 x 57mm
- Installation Port Size: 103 x 57mm
- Color: Black
- Operating Temp: 5°C ~ 50°C
- Operating Humidity:10% ~ 80%
- Storage Temp: -20°C ~ 60°C
- Storage Humidity: 10% ~ 90%
- Wire Pinout (From Left to Right):
- Black: GND
- Red: VDD (5V to 9V DC)
- Black: GND
- Yellow: Rx
- Green: Tx
Printer Test Procedure (no Arduino / controller required): Hold down the button on top of the printer and plug in to power to print a self test page and ensure your power supply is strong enough and the printer is working properly.
/*------------------------------------------------------------------------
Arduino Code for Thermal Printer TS1828
https://tinkersphere.com/arduino-compatible-components/1828-thermal-printer-for-iot.html
Wire Connections for Black, Yellow, Green Port
Arduino Pin 6 ->Â Yellow Wire
Arduino Pin 5 ->Â Green Wire
Arduino Ground -> Black Wire
Wire Connections for Black and Red Port
5V 10A Power Supply + -> Red Wire
5V 10A Power Supply - -> Black Wire
------------------------------------------------------------------------*/
#include "Adafruit_Thermal.h"
#include "SoftwareSerial.h"
#define TRANSMIT_PIN 6
#define RECEIVE_PIN 5
SoftwareSerial mySerial(RECEIVE_PIN, TRANSMIT_PIN);
Adafruit_Thermal printer(&mySerial);
void setup() {
 //Printer Setup with Serial Baud Rate
 mySerial.begin(9600); Â
 printer.begin();      Â
}
void loop() {
 //Print Text
 printer.setSize('M');
 printer.println(F("Tinkersphere"));
Â
 //Print UPC Barcode
 printer.setBarcodeHeight(100);
 printer.printBarcode("TS1828", CODE128);
 printer.feed(2);
 // Put Printer in Sleep Mode for 3 seconds
 printer.sleep();    Â
 delay(3000L); Â
Â
 // Wake Printer from Sleep Mode     Â
 printer.wake();  Â
Â
 // Restore printer to defaults Â
 printer.setDefault();
Â
 delay(10000L);//Wait 10 seconds before repeating
}