Python library to control mini thermal printers connected to devices like the BeagleBone
Latest commit 695739a Feb 25, 2016 @luopio Merge pull request #14 from BoboTiG/master
Several changes
Failed to load latest commit information.
.gitignore Initial commit Jun 20, 2012 updated contributors Feb 1, 2016
example-lammas.png included an image for testing Jun 20, 2012 More pythonic check Feb 23, 2016

Python Thermal Printer Library

Thermal printing library that controls the "micro panel thermal printer" sold in shops like Adafruit and Sparkfun (e.g. Mostly ported from Ladyada's Arduino library ( to run on BeagleBone and Raspberry Pi.

If on BeagleBone or similar device, remember to set the mux settings or change the UART you are using. To enable the defaults for example:

# MUX SETTINGS (Ängström 2012.05 on BeagleBone) 
echo 1 > /sys/kernel/debug/omap_mux/spi0_sclk
echo 1 > /sys/kernel/debug/omap_mux/spi0_d0 

If on a Raspberry Pi and using the GPIO UART pins, remember to use a level shifter between the printer (5V) and the RPi (3V3).

For more detailed step-by-step instructions see this tutorial.

UART can be changed by passing the device path to the constructor: p = printer.ThermalPrinter(serialport="/dev/ttyUSB0")

Thanks to Matt Richardson for the initial pointers on controlling the device via Python.

Author: Lauri Kainulainen


  • Jonathan Harlap
  • Owen Mundy
  • bodiedoo
  • Mickaël S. (BoboTiG)

Licensed under the MIT license