# AH-M2 Bluetooth thermal printer: Reverse engineered the AH-M2 Bluetooth thermal printer protocol and created a web controller with Claude

> Source: <https://reversedwithai.com/p/ah-m2-bluetooth-thermal-printer-9df98b1d>
> Published: 2026-11-05 12:31:46+00:00

## Evidence at a glance

Loading source evidence…

## What was done

The author reverse engineered the AH-M2 thermal printer protocol from the Funny Print Android app and built a Web Bluetooth controller. The project includes protocol documentation, a web interface, and Node.js unit tests.

The author reverse engineered the communication protocol for the AH-M2 Bluetooth thermal printer, also marketed as the XenGro Mini Sticker Printer, by analyzing the Funny Print Android application. The project provides a browser-based controller that communicates with the device via Web Bluetooth. Documentation in the repository details the GATT layout, command structure, CRC-16/XMODEM handshake, and bitmap formatting. The controller supports printing text, images, and test patterns, while providing status updates for battery and paper levels. Claude Opus 5.5 is credited as a co-author on commits related to protocol documentation, the implementation of lead-in settings, and the configuration of the GitHub Pages deployment workflow. The project includes a protocol module in JavaScript and a suite of Node.js tests for verifying packet construction and bitmap processing. The controller requires a secure context and is compatible with Chrome and Edge browsers. [https://raw.githubusercontent.com/sajingeo/blethermal/HEAD/README.md](https://raw.githubusercontent.com/sajingeo/blethermal/HEAD/README.md)

## Reproduce it

Open https://sajingeo.github.io/blethermal/ in a supported browser, turn on the AH-M2 printer, and select the device via the Connect button.

## Community

Ask a question, share what worked, or follow the next milestone.

[Your library](https://reversedwithai.com/library)
