ESP32 Thermal Printer
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
A compact ESP32-based thermal receipt printer running ESPHome. Forked from lyntoo/esphome-thermal-printer — thanks to ly
- Rating
- 0 / 5
- Likes
- 4
- Downloads
- 5
- Makes
- 0
- Views
- 135
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Other Ideas
- License
- GNU General Public License v3.0
Features
Versatile – Print weather reports, shopping lists, receipts, or small images.
On-demand power control – The printer is only powered when an action is triggered. You can add a Home Assistant automation to turn it off again.
Bitmap printing – Print arbitrary images by generating C array code with image2cpp. Inspired by the Circuit Digest ESP32 thermal printer tutorial.
Hardware
Component | Specification |
MCU | ESP32-S2 Mini (or comparable) |
Power | 2× buck converters (5 V for ESP, 9 V for printer) |
Printer | PNP500 or similar, TTL interface |
PSU | 12 V / ~2 A (currently 2.5 A) |
Switch | MOSFET (switches 9 V printer supply via GPIO3) |
How to print Bitmaps
Generate the hex array with image2cpp https://javl.github.io/image2cpp using these export settings:
Format: Horizontal, 1 bit per pixel
Output: Plain bytes, no comments, no prefix, no separator
Bytes per row: 200000 (single line, no newlines)
You may need to rotate or invert the image depending on your setup. Call the Home Assistant function with the image width, height, and hex data.
Repository
Code for esphome. You can flash this file with esphome builder.
git.swablab.de/projects/thermal-printer
Description in german: