A project log for Pico Printer

An open-source portable mini thermal printer

xiaXIA 11/14/2018 at 09:370 Comments

Yo!  I'm a designer and electronics hobbyist living in Shenzhen, China.  Forgive my shitty English writing :P

This is my first hackaday project.  In a nutshell, this project aims to create an open source portable mini thermal printer (also knows as POS/receipt printer). 

Ever since NCR Corporation developed the earliest thermal paper and Texas Instruments invented the thermal print in the late 1960s, those printers have been widely used in computers, stores, banks... you name it. They are light-weight, consume less power and require no ink, making them ideal for portable and retail applications. Although the printed text/image would fade rapidly compared with inkjet printing,  the paper refill is very cheap and accessible. 

So you may ask, why? why another thermal printer?  

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. 


- 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.


- 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 in this "connected" era.

I'm not happy with current open source  solutions. 

Last but not least, as a non-professional electronic engineer, I'd like to challenge my skills in research, execution and communication. It's my personal goal.