Github | Niimbot
A command-line utility written in Rust for lightning-fast printing. Perfect for scripting and batch jobs.
This is where comes in.
Python developers, automation scripts, and integrating with home automation (Home Assistant, Node-RED). 2. NIIMBOT Web Bluetooth – Browser-Based Printing Repo: mikeage/niimbot-web niimbot github
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.
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 : A command-line utility written in Rust for lightning-fast
Niimpy is a pure Python library that reverse-engineers the Bluetooth communication protocol of NIIMBOT printers. It supports the D11, D110, B21, and several generic thermal label printers.
import niimpy import qrcode from PIL import Image printer = niimpy.NiimpyPrinter("AA:BB:CC:DD:EE:FF") printer.connect() Generate a QR code qr = qrcode.make("https://github.com") qr.save("qrcode.png") Print it printer.print_image("qrcode.png", density=15, copies=2) Print plain text printer.print_text("Made with GitHub", font_size=24, alignment="center") It works well for basic tasks like printing
niimbot --address 11:22:33:44:55:66 print-image label.png --copies 5 niimbot scan # find nearby printers It’s single-binary, cross-platform, and significantly faster than Python for large batches. 4. Home Assistant Integration Repo: duhow/hass-niimbot