Main Content

Telegram-Enabled Thermal Printer w/ Arduino

Via Telegram, control thermal printers remotely to print out notes, shopping lists, URLs, payments, barcodes, and episode release dates.

Even though we do not need handwriting or typing nowadays for taking notes or setting appointment reminders thanks to umpteen web and mobile applications, I am still fond of writing down my records on paper like in the old days :) Thus, I decided to create this project, which allows me to benefit from the advantages of an application while taking my notes and reminders on paper.

Instead of programming a web and mobile application from scratch to send commands to my thermal printer, I wanted to use Telegram, a cross-platform cloud-based messaging service compatible with iOS and Android. In Telegram, it is effortless to create bots with a command list unalike any other messaging applications, which are special accounts that do not require an additional phone number to set up. IoT Thermal Printer, Telegram bot I created for this project, let me print records in six different categories I need frequently:

- Notes (Appointments)
- Shopping Lists
- URLs
- Payments
- Product Barcodes (Manufacturer Product Numbers)
- Series (New Episode Release Dates)

To fetch commands transferred by IoT Thermal Printer, I developed an outgoing webhook for the Telegram bot, which interprets and replies commands or texts when updated by the Telegram Bot API.

Then, to receive commands from the webhook and print out records with graphics (bitmaps) for each category mentioned above, I used an Arduino Nano 33 IoT and a tiny (embedded) thermal printer.”

Link to article