Skip to content

TiMini Print is a desktop app for Bluetooth thermal mini printers (often sold as “cat printers”). It’s a replacement for apps like “Tiny Print”, “Fun Print” or “iBleem”, enabling easy printing of images, PDFs, and plain text.

License

Notifications You must be signed in to change notification settings

Dejniel/TiMini-Print

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TiMini Print Bluetooth Printer Tool

Alternative desktop software for Chinese Bluetooth thermal printers that use proprietary protocols (not ESC/POS), as a replacement for apps like “Tiny Print”, “Fun Print”, or “iBleem”. It supports almost all mini printers! Check the huge list of supported Bluetooth printer models, or report missing ones.

It lets you print images, PDFs, or plain text from your computer. It supports both a GUI and a “fire-and-forget” CLI mode. These printers are often sold on AliExpress and under generic names such as “thermal printer”, “POS printer”, “mini printer”, or “cat printer”.

TiMini Print LOGO EMX-040256 Printer Psi Patrol

We need you!

  • This project is open source! Your small monthly support on Buy Me a Coffee can make a real difference and help keep it going—even a one-time donation helps. Building and maintaining a project like this takes a lot of time; if you find it useful, please consider supporting it so I can keep improving it: support the project
  • If you're a developer, contributions and bug reports are always welcome—please jump in. Especially if you use or build on non-Linux systems, please consider contributing fixes or improvements

Requirements

  • Python 3.8+
  • pip install -r requirements.txt

Quick start (GUI)

  • If no arguments are provided, a GUI opens. You can scan, connect/disconnect, choose a file, and print. Run with no arguments: python3 timiniprint.py

Quick start (CLI)

  • Print to the first supported Bluetooth printer: python3 timiniprint.py /path/to/file.pdf

  • Print to a specific Bluetooth printer: python3 timiniprint.py --bluetooth "PRINTER_NAME" /path/to/file.pdf

  • Print via a serial port (skip Bluetooth connection): python3 timiniprint.py --serial /dev/rfcomm0 --model A200 /path/to/file.pdf

  • Print raw text without creating a file: python3 timiniprint.py --text "Hello from CLI"

  • List available printer models: python3 timiniprint.py --list-models

  • Scan for supported printers: python3 timiniprint.py --scan

Notes

  • Any CLI option/argument disables the GUI (no arguments = GUI mode)
  • If --bluetooth is omitted, the first supported printer found is used
  • For --serial, you must pass --model (see --list-models)
  • For Bluetooth printing, you can pass --model to override auto-detection
  • --force-text-mode / --force-image-mode force the printer protocol mode

Supported formats

  • Images: .png .jpg .jpeg .gif .bmp
  • PDF: prints all pages
  • Text: .txt (monospace bold, word-wrapped by default)

Notes

  • I test builds only on Ubuntu-like systems—if you need to run this elsewhere, please report issues or submit a fix :P
  • Windows + Python 3.13+: installing winsdk may require building binaries during download
  • Protocol integration guide: docs/protocol.md

PDF rendering dependencies (optional)

  • PyMuPDF: pip install pymupdf
  • pdf2image: pip install pdf2image (plus system poppler)
  • Or system pdftoppm (poppler-utils)

Supported printer models

A200, A33, A41II, A41III, A42II, A43, A4300, CMT-0510, CP01, D1, D100, DL GE225, DL X2, DL X2 Pro, DL X7, DL X7 Pro, DT1-0, DTR-R0, DY03, DY49, EMX-040256, FC02, GB02SH, GB03PH, GB03PL, GB03SH, GB03SL, GL-VS9, GT09, GT10, GV-MA211, GW08, GW09, HD1, HT0125, IM.04, IprintIt Printer, JRX01, KF-5, LGM01, LP6, Label Printer CPLM10, Luxorp.PX10, ML-MP-01, MPA81, MV-B530, Mini Printer CTP500, P2, P4, P5, P6, P7H, PT001, Pocket Printer, Professional Printer CTP100LG, QDID, QDX01, ROSSMANN, RS9000, SC03H, Seznik Echo, Seznik Neo, Shipping Printer CTP800BD, Shipping Printer CTP750BY, TCM690464, U1, UXPORTMIP, WL01, X103H, X103h, X16, XC9, YK06, YT01, ZHHC, ZP801, ZP802, ZPA4Z1, 0019B-C, 0019B-D, 15P3, 58P5, AI01, AN01, DY01, Ewtto ET-Z0504, FL01, GB01, GB02, GB03, GB04, GB05, GB06, GT01, GT02, GT03, GT04, GT08, JX001 JX01, JX002 JX02, JX003 JX03, JX004 JX04, JX005 JX05, JX006 JX06, JXM800 GG-D2100, LP100 LY10, LT01, LY01, LY02, LY03, LY05, LY10, LY11, M01, M2, MX05, MX06, MX08, MX09, MX10, MX11, P1, P10, P5AI, P7, PR02, PR07, PR30, PR35, PR88, PR89, PR893, RT034h, S01, S101, S102, XiaoWa, SC03, SC03h, SC04, SC04h, SC05, wts07, X1, X100, X101H, X102, X2H, X2h, X5, X5H, X5HP, X5h, X6, X6H, X6HP, X6h, X7, X7H, X7HP, X7h, X8, X8-L, X8-W, X9, XW001 PR20, XW002 PR30, XW003 PR25, XW004 PR35, XW005 PR88, XW006 PR89, XW007 PR893, XW008 PR02, XW009 PR07

Alias-based Bluetooth name prefixes (mapped to GT01-/GT02- defaults): YT02, MX01, MX02, MX03, MX07, MINIPRINTER, JL-BR22, URBANWORXKIDSCAMERA, CYLOBTPRINTER, MXTP-100, AZ-P2108X, MX12, PD01, XOPOPPY, MX13, BQ01, BQ02, EWTTOET-Z0499, BQ05, BQ06, BQ07, BQ7A, BQ7B, BQ08, BQ95, BQ96, MXW009, MXW010, EWTTOET-N3689, EWTTOET-N3687, MXPC-100, KP-IM606, BQ95B, BQ03, BQ95C, BQ06B, K06

About

TiMini Print is a desktop app for Bluetooth thermal mini printers (often sold as “cat printers”). It’s a replacement for apps like “Tiny Print”, “Fun Print” or “iBleem”, enabling easy printing of images, PDFs, and plain text.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages