Github — Niimbot

For smart home enthusiasts, this custom integration adds NIIMBOT printers to Home Assistant. You can trigger label printing from automations.

This project leverages the Web Bluetooth API to print directly from a browser—no drivers, no installation.

bluetoothctl scan on Look for a device named Printer_NIIMBOT_D11 and copy its MAC (e.g., AA:BB:CC:DD:EE:FF ). pip install niimpy Step 3: Create a Python Script Save the following as print_label.py : niimbot github

| Problem | Solution | |---------|----------| | Connection timeout | Put printer in pairing mode – power off, hold power + feed button for 5 sec. | | Image is mirrored | Add mirror=True in print_image() for Niimpy. | | Web Bluetooth not detecting printer | Must visit the page via HTTPS (or localhost) – HTTP is blocked. | | Printing very slow | Reduce print density (10-12 is optimal). | | Python bleak error on Windows | Install pip install pywin32 and run as admin once. | Reverse engineering Bluetooth protocols is legally gray, but the NIIMBOT community operates under clean-room principles and independent research exemptions in many jurisdictions.

These GitHub projects do not contain proprietary NIIMBOT code. They are built from packet sniffing and public documentation. Use at your own risk, but thousands of users have done so without issues. For smart home enthusiasts, this custom integration adds

Start with Niimpy for Python scripting. Move to the CLI for speed. Deploy Web Bluetooth for zero-install web apps. And if you build something great, push it to GitHub—the community is waiting.

This is where comes in.

If you own a NIIMBOT label printer—such as the popular D11, D110, or B21—you are likely familiar with the official mobile app. It works well for basic tasks like printing address labels, price tags, or kitchen storage stickers. However, for developers, makers, and small business owners, the official software often feels limiting. It lacks batch processing, API access, desktop controls, and open-source customization.