{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/KunalBhargava182/OpenNiimbot-NiimBridge/blob/ee1de755120f38734680f233a21eb38e1e970bc9/docs/PROTOCOL.md"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "NiimBridge reconstructs the NIIMBOT D110_M printer's Bluetooth print exchange from HCI captures of the vendor Android app. Its Kotlin driver implements packet framing, checksums, row encoding, transport, and print-state handling; a separate SDK and diagnostic app expose printing and packet inspection. The author reports byte-identical packet comparisons for two captured jobs.",
  "description_zh": "NiimBridge 从厂商 Android 应用的 HCI 抓包重建 NIIMBOT D110_M 打印机的蓝牙通信。Kotlin 驱动实现数据包分帧、校验和、图像行编码、传输及打印状态处理；另有 SDK 和诊断应用提供打印与数据包查看。作者报告两次打印任务的输出包逐字节一致。",
  "entry_url": "https://awesomerea.org/resources/niimbridge-d110m-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/niimbridge-d110m-case/",
  "evidence_class": 1,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/KunalBhargava182/OpenNiimbot-NiimBridge/blob/ee1de755120f38734680f233a21eb38e1e970bc9/README.md",
  "group": "cases",
  "id": "niimbridge-d110m-case",
  "json_url": "https://awesomerea.org/resources/niimbridge-d110m-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/niimbridge-d110m-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/niimbridge-d110m-case/index.md",
  "name": "NiimBridge: reconstructing the NIIMBOT D110_M print protocol",
  "name_zh": "NiimBridge：重建 NIIMBOT D110_M 打印协议",
  "preview_kind": "image",
  "preview_url": "https://awesomerea.org/previews/niimbridge-d110m-case.png",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "license"
  ],
  "requirements": [
    "Android Studio, JDK 17, and a NIIMBOT D110_M paired with the test device are required.",
    "The primary Bluetooth Classic SPP transport requires the printer to be bonded in Android settings.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要 Android Studio、JDK 17，以及与测试设备配对的 NIIMBOT D110_M。",
    "主要的 Bluetooth Classic SPP 传输要求先在 Android 设置中完成设备绑定。",
    "MIT 许可证。"
  ],
  "scope": "partial",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/KunalBhargava182/OpenNiimbot-NiimBridge",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
