SkillAgentSearch skills...

Catprinter

A central repository to link to documentation and projects related to cat-shaped bluetooth thermal printers. PRs encouraged.

Install / Use

/learn @JJJollyjim/Catprinter
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Cat Printer

"cat printer 🥺"

A central repository to link to documentation and projects related to cat-shaped bluetooth thermal printers. PRs encouraged.

Protocol implementations

In chronological order:

| Name | Comments | Bluetooth Library | Platforms verified working | |---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|-------------------|----------------------------| | WerWolv / PythonCatPrinter | WerWolv's original implementation bassed on their blog post | Bleak (Python) | | | amber-sixel / PythonCatPrinter | AmberSixel's fork of WerWolv's implementation. | Bleak (Python) | | | the6p4c / catteprinter | the6p4c's Rust library | btleplug (Rust) | Windows<sup>1</sup> | | JJJollyjim / PyCatte | A barebones Python implementation | Bleak (Python) | Linux | | xssfox / print_server.py | Featureful Python implementation with an HTTP API, text rendering, and PostScript printing. | Bleak (Python) | Linux |

<sup>1</sup>: Appears to be broken on Linux due to an issue where btleplug never correctly recieves the dbus property-change message which notifies it that a connection has been established, even though "Connected" and "Services Resolved" are displayed in bluetoothctl. I'm guessing this is a locking issue involving the CondVar, or something like that?

Protocol docs

WerWolv's blog post contains initial docs from RE of the Android app, however more is now known.

TODO: consolidate what is now known.

Hardware

Four different model names (included in bluetooth advertisements) have been observed:

GB01

Known owners

  • WerWolv (blue)
  • Iris (blue)

Internal photos

See WerWolv's blog post.

Notable components

  • JL MCU with built-in Bluetooth (model number not clearly readable)

GB02

Known owners

  • the6p4c (pink)

Internal photos

| Front (assembled) | Back | |---|---| | 1 | 2 |

Notable components

  • JL MCU with built-in Bluetooth (model number not clearly readable)

GT01

Known owners

  • JJJollyjim (pink)
  • xssfox (pink)

Internal photos

| Front (assembled) | Back | JL Chip (closeup) | |---|---|---| | 1 | 2 | 3 |

Notable components

  • JL MCU with built-in Bluetooth. Markings: JL BP02989-56C4

USB Behaviour

Does not enumerate. Data lines are routed, however. perhaps it's used for programming, as described here?

YHK-C200

Known owners

  • Stary2001 (blue)

Internal photos

| Front (assembled) | Back | Back (closeup) | |--------------------------|--------------------------|--------------------------| | 1 | 2 | 3 |

Notable components

  • GD32F303 (STM32 clone)
  • BARROT bluetooth module
  • Fentech SPI Flash
  • Unpopulated UART header

USB Behaviour

Enumerates as an HID device!

[15361.648980] usb 7-3: Product: Print-M200
[15361.648981] usb 7-3: Manufacturer: Pintron-M200
[15361.648982] usb 7-3: SerialNumber: pintronhid0000001
View on GitHub
GitHub Stars73
CategoryDevelopment
Updated1mo ago
Forks7

Security Score

80/100

Audited on Feb 27, 2026

No findings