{"slug": "ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a", "title": "AH-M2 Bluetooth thermal printer: Reverse engineered the AH-M2 Bluetooth thermal printer protocol and created a web controller with Claude", "summary": "A developer reverse engineered the Bluetooth protocol of the AH-M2 thermal printer, also sold as the XenGro Mini Sticker Printer, by analyzing the Funny Print Android app, and published a Web Bluetooth controller at sajingeo.github.io/blethermal along with protocol documentation and Node.js unit tests. The repository documents the GATT layout, command structure, CRC-16/XMODEM handshake and bitmap formatting, and the controller prints text, images and test patterns while reporting battery and paper status; it requires a secure context and runs in Chrome and Edge. Claude Opus 5.5 is credited as a co-author on commits covering the protocol documentation, lead-in settings and the GitHub Pages deployment workflow.", "body_md": "## Evidence at a glance\n\nLoading source evidence…\n\n## What was done\n\nThe 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.\n\nThe 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)\n\n## Reproduce it\n\nOpen https://sajingeo.github.io/blethermal/ in a supported browser, turn on the AH-M2 printer, and select the device via the Connect button.\n\n## Community\n\nAsk a question, share what worked, or follow the next milestone.\n\n[Your library](https://reversedwithai.com/library)", "url": "https://wpnews.pro/news/ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a", "canonical_source": "https://reversedwithai.com/p/ah-m2-bluetooth-thermal-printer-9df98b1d", "published_at": "2026-11-05 12:31:46+00:00", "updated_at": "2026-11-05 13:26:17.627906+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["AH-M2", "XenGro Mini Sticker Printer", "Funny Print", "Claude Opus 5.5", "GitHub Pages", "Chrome", "Edge", "Node.js"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a", "markdown": "https://wpnews.pro/news/ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a.md", "text": "https://wpnews.pro/news/ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a.txt", "jsonld": "https://wpnews.pro/news/ah-m2-bluetooth-thermal-printer-reverse-engineered-the-ah-m2-bluetooth-thermal-a.jsonld"}}