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.

My earliest interest in thermal printers was my bachelor degree project back in 2009. I designed a physical "email-box" in an effort to bridge the gap between the analog and the digital worlds. I decided to build a 1:1 working prototype and fit all electronic components inside it, which was a crazy plan for me at that time as a design student with almost zero knowledge in electronics and microcontrollers. My first thought was to buy a commercial POS printer and tear it apart but they're either too bulky or too hard to hack in terms of close-source protocols. Luckily I found an old SiPix's pocket size printer. They were made for those retired PDAs.

The cool things about this printer was that it supports infrared wireless communication and has a fairly big thermal print head (A6 / 10.5cm wide). I finally managed to retrieve mail data from Gmail API and send the data to the printer through infrared communication by running python scripts on my laptop. However, I was wondering why it's so hard as an individual to utilize an old technology which has been invented and widely used for almost half a century? and why there's no open source solution people can refer to?

Later in 2012, Berg, one of my favorite product invention studios, released the "Little Printer" and its cloud API. I was amazed by its teeny size and creative ways of using this old technology by connecting it to the internet. Though the LP was discontinued after 2015, this project has inspired a lot of people and products. For instance, two Chinese printer brands Memobird and Paperang created a fairly successful niche market for note-taking. They are very popular among Chinese students.

Today, in the year 2018, commercial thermal printers have become even more compact and portable. You can buy a wireless bluetooth receipt printer with iOS/Android apps support and built-in battery for around $50. So I asked myself the same question: Is it possible to DIY my own "connected" thermal printer? and is there any great open source project? The answer is Yes and No.

Yes:

- The commercial ones become smaller and more accessible. You could buy and hack them. Once you figure out its wireless/serial protocols, it should be possible to fit your own needs.

- If you choose to build one from scratch, there are some really cool thermal printer guts you can purchase online from Adafruit / Sparkfun / Alibaba ($40 ~ $60). Those ready-to-go components have TTL serial/ USB interface with which you can connect them to Arduino, Raspberry Pi or computers.

No:

- There is still no decent and well-supported open source thermal printer project including both hardware and software.

- There is still a lot of room for improvement for the "Arduino/Pi+OEM print guts" solution in terms of size, efficiency, cost and aesthetics.

In short, my motivation for this project is:

I have long been interested in thermal printing and I'd like to explore alternative possibilities/applications of this old technology...