Thursday, 18 September 2025

How to Interface a Thermal Printer with ESP32 – Print Receipts, QR Codes & Image


Want to add printing to your ESP32 projects, receipts, invoices, barcodes, even logos—without using a full PC? Using a thermal printer like the PNP-500 with an ESP32 lets you do just that. Thermal printers are popular because they print quietly, need no ink, are simple to interface, and work fast. In this guide, you’ll learn how to wire up a thermal printer to an ESP32, use ESC/POS commands, print text, images, barcodes & much more.

What Is a Thermal Printer & Why Use It?

Thermal printers use heat on special thermal paper to produce text or graphics. Since there are no rollers or ink cartridges, they’re cheaper in maintenance and more compact. You’ll often find them in:

  • Receipt printers in shops
  • Label printers for barcodes
  • Small embedded displays in IoT devices

With ESP32 thermal printer, you can create custom printing applications, say a QR code receipt printer, smart home logs, industrial data logs, and so on.

Hardware You’ll Need

  • ESP32 Development Board 
  • PNP-500 thermal printer module
  • 2 Push Buttons 
  • 2-cell Li-ion battery 
  • Resistors 


How to Wire the Printer to ESP32

  • Use the TTL (UART) interface of the printer. This is simpler than RS232 in many cases.
  • Connect the TX/RX pins of ESP32 UART2 to the printer’s RX/TX pins.
  • Power the printer from a stable voltage (around 7-9V preferred; 5V works for simple text).
  • Optionally, add buttons: one button to move through demo image printing, another for full format/demo prints.


Make sure to use pull-ups on signal lines if wires are long to reduce noise, and common ground.

Applications & Use Cases

Here are some ideas where an ESP32-thermal printer combo can be useful:

  • Printing sales invoices / receipts
  • IoT monitoring dashboards that print logs spontaneously
  • Barcode/QR code tickets or labels
  • Smart lockers or access control systems printing QR codes
  • Portable printing for outdoor data collection

Wednesday, 3 September 2025

Raspberry Pi Pico GPS Tracking Project with SIM800L & Neo-6M – Step by Step Guide

Cellular GPS Tracker with Raspberry Pi Pico


The Raspberry Pi Pico makes it easy to create your own real-time GPS tracking system. With just a few parts and some basic programming, you can build a fully functional IoT GPS tracker thanks to reasonably priced GPS and GSM modules.

We'll demonstrate how to construct a Raspberry Pi Pico GPS tracker in this tutorial using:
  • Neo-6M GPS module to gather location data in real time,
  • cellular communication using the SIM800L GSM module, and
  • Data can be sent to the cloud and shown on an interactive map using the GeoLinker API.


After following this tutorial, you will have a GPS tracker that can record and send real-time location updates, even with offline buffering in case of network outages.

Components Required

Component

Description

Quantity

Raspberry Pi Pico / Pico W

Microcontroller (RP2040)

1

SIM800L Module

GSM/GPRS module for internet access

1

Neo-6M GPS Module

For GPS data Collection

1

GPS Antenna

External GPS antenna with SMA/UFL

1

GSM Antenna

External GSM antenna

1

LED

Red, Yellow, Green

3

SIM

2G Capable SIM (Airtel)

1

Jumper Wires, Breadboard

For prototyping

as needed


How Does It Work?

Pico GPS Tracker concept


  • Neo-6M GPS Module picks up latitude & longitude from GPS satellites and sends them as NMEA sentences.
  • Raspberry Pi Pico reads these values over UART and parses them.
  • SIM800L GSM Module transmits this data to the internet using HTTP POST requests.
  • GeoLinker Cloud API stores the location data and plots it on a real-time map.
  • If the GSM connection drops, data is stored offline and automatically synced once the network is back.

This way, no GPS point is lost even in areas with weak coverage.

Applications of Raspberry Pi Pico GPS Tracker

Pico GPS Tracker with Offline Data Sync

This tracker can be adapted for many real-world uses:
  • Vehicle Fleet Tracking – monitor cars or delivery vans in real-time.
  • Asset Tracking – keep an eye on shipments, parcels, or equipment.
  • Pet Locator – attach it to a collar to track pets.
  • Bike/Scooter Tracking – prevent theft and track movement.
  • Emergency Alert System – send SOS + live location on button press.
Building a Raspberry Pi Pico GPS Tracker, SIM800L, and Neo-6M GPS is not only affordable but also highly customizable. The GeoLinker library removes most of the complexity, letting you focus on logic instead of low-level AT commands.

GitHub Repository with Arduino Code and Circuit for Raspberry Pi Pico GPS Tracker