NiimPrintX: Print to Your Niimbot Label Printer from Linux, macOS, or Windows with Python

niimprintx

If you’ve ever used a Niimbot Bluetooth label printer (like the D11 or B21) and thought, “I wish I could automate this from my computer,” you’re in luck. NiimPrintX is an open-source Python library that gives you full control of your Niimbot label printer—whether you’re using Linux, macOS, or Windows.

This tool is perfect for tinkerers, small businesses, makers, and developers who want to move beyond the Niimbot mobile app and start integrating label printing into their own workflows.


🔧 What is NiimPrintX?

NiimPrintX is a cross-platform Python tool that lets you design and print custom labels using Niimbot label printers over Bluetooth. It supports a wide range of printer models (including D11, B21, B1, D110, and B18) and comes with both a Command-Line Interface (CLI) and a Graphical User Interface (GUI)—so whether you’re a developer or just someone who likes things visual, you’re covered.


🌟 Key Features

  • Cross-platform: Works seamlessly on Linux, macOS, and Windows
  • 🔗 Bluetooth printing: Communicates directly with your printer
  • 🖼️ GUI & CLI: Choose between a graphical label designer or command-line control
  • 🖨️ Multi-model support: Compatible with D11, B21, B1, D110, and B18 printers
  • 🎨 Custom label design: Build custom designs tailored to your label size
  • ⚙️ Fine-tuned settings: Adjust density, rotation, quantity, and offsets

🧰 Requirements

Before you get started, you’ll need:

  • Python 3.12 or later
  • ImageMagick (used to process images)
  • Poetry (for dependency management)

🚀 How to Install NiimPrintX

Here’s a quick start guide:

# 1. Clone the repo
git clone https://github.com/labbots/NiimPrintX.git
cd NiimPrintX

# 2. Set up a Python virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# 3. Install dependencies
poetry install

🔧 macOS Note: You may need to install some additional packages:

brew install libffi glib gobject-introspection cairo pkg-config
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
export LDFLAGS="-L/usr/local/opt/libffi/lib"
export CFLAGS="-I/usr/local/opt/libffi/include"

🖥️ Using the Command Line (CLI)

You can print an image to your Niimbot printer right from the terminal.

🖨️ Print a Label

python -m NiimPrintX.cli print -m d110 -d 3 -n 1 -r 90 -i path/to/image.png

Options:

  • -m Printer model (e.g. d110, b21, etc.)
  • -d Print density (1–5)
  • -n Number of copies
  • -r Rotation (0, 90, 180, 270 degrees)
  • --vo / --ho: Vertical/Horizontal image offset

📋 Printer Info

python -m NiimPrintX.cli info -m d110

🖼️ Using the GUI

Prefer to design your labels visually? Just run:

python -m NiimPrintX.ui

This launches a clean graphical interface where you can:

  • Choose your printer model
  • Set label dimensions
  • Design and preview the label
  • Send it directly to the printer via Bluetooth

💡 Why Use NiimPrintX?

NiimPrintX empowers makers and small business owners to automate and customize their label printing workflows. Whether you’re batch printing for inventory, creating QR-coded stickers, or labeling cables—this tool saves you time and gives you full control.

Plus, it’s open source and welcomes contributions!


🤝 Contributing

Got a feature request, bug fix, or cool idea? Fork the repo and open a pull request! You’ll be joining a growing community of users making Niimbot printers even more powerful.


📦 Project Info

  • License: GPL-3.0
  • Languages: 100% Python
  • GitHub: labbots/NiimPrintX
  • Latest Release: v0.0.47 (June 1, 2024)

🔗 Try It Now

Ready to ditch the mobile app and level up your Niimbot printer?

➡️ Visit the GitHub repo to download, contribute, or start printing today.

Post Comment

You May Have Missed