I did some research on related thermal printer hardwares/softwares. FYI:
1. Adafruit TTL Serial Mini/Tiny/Nano Thermal Printer
As I mentioned in my last log, Adafruit offers a series of ready-to-use thermal printer modules with different size options.
- For Product ID #597 "Mini Thermal Printer" The optimal length of the paper will be 50 feet (about 15 meters)
- For Product #2751 "Tiny Thermal Printer" The optimal length of the paper will be 33 feet (about 10 meters)
- For Proudct #2752 "Nano Thermal Printer" The optimal length of the paper will be 16 feet (about 5 meters)
- For our Thermal Printer guts kit, there's no paper bay so you can use any size.
The great thing about these OEM printers is that they have built-in driver board with TTL Serial interface. If size is not a problem for your project, you might just embed the plastic box in your project, hook it up to any microcontroller (eg. Arduino/Raspberry Pi) and pass in printing commands. Adafruit also provides a detail tutorial and matching Arduino library.
In comparison, it should be fairly hard to modify/customize the enclose as well as its firmware. As this "hacking" section mentioned. there're some issues regarding buffer overflows and print speed. The driver board works as a separate close-source system which supports standard ESC/POS Printing Command Set.
I cannot tell which chip/microcontroller it uses from the image, but I noticed that some of other Chinese driver boards use STM32. I'm thinking of buying one and learning how it works because it might be a great starting point for my project. It would be even better if I can find the source code of its firmware.
So basically what I want to create is a single board solution base upon ESP8266/ESP32 that supports standard command set, barcodes, qrcode, etc. Moreover you don't have to(but still can) use an Arduino or Pi to control it.
2. AS-289R2 Thermal Printer Shield
Introduced by NADA ELECTRONICS, AS-289R2 thermal printer shield is a two-inch (58 mm) thermal printer. Similar to Adafruit's printers, you can connect it to Arduino, ARM mbed, Raspberry Pi, and Gadget Renesas. Its print speed is 25 mm/sec and effective printing area is 48 mm.
Printer is a software system that makes it easy for you to:
- build your own small internet-connected printers,
- produce customized content for them, and
- share that content with other people who also have small internet-connected printers.
This explorational project is more focused on the software/architecture aspect of the "connected" print system rather than hardware. It might be interesting/useful for my fourth step.