Skip to content
/ niimblue Public template
forked from MultiMote/niimblue

🖨 NIIMBOT custom web client/app. Design and print labels with NIIMBOT printers directly from your PC or mobile web browser! Development is temporarily on hold due to lack of free time, hotfixes only.

License

Notifications You must be signed in to change notification settings

danielrosehill/niimblue

 
 

Repository files navigation

NiimBlue

NIIMBOT printers webui. Design and print labels right from your browser.

Uses NiimBlueLib for communication.

Project is deployed here: niim.blue

Fork Modifications

This fork includes several enhancements specifically for the NIIMBOT B1 printer:

✨ New Features

  • 30x20mm Label Support: Added a new 30x20mm label preset for improved label size options
  • NIIMBOT B1 USB Detection: Implemented automatic B1 printer detection via USB (Vendor ID: 0x3513, Product ID: 0x0002)
  • Smart B1 Connection: Custom USB connector component that validates device compatibility before connecting
  • Print Direction Fix: Automatic print direction adjustment based on printer metadata to resolve offset issues

🔧 Technical Changes

  • Added B1Connector.svelte component for specialized B1 USB connection handling
  • Enhanced LabelDesigner.svelte with automatic print direction synchronization
  • Updated PrinterConnector.svelte to use the new B1 connector component
  • Added 30x20mm preset to default label configurations in defaults.ts

✅ Testing & Validation

  • Platform: Ubuntu Linux 25
  • Connection: USB connectivity verified
  • Hardware: Tested with NIIMBOT B1 printer
  • Features: Label printing, size presets, and USB detection all validated

These modifications ensure seamless integration with NIIMBOT B1 printers while maintaining compatibility with the original codebase.

Note

If you have printing problems, try different print task versions in print preview dialog. Make if default by pressing "Lock" button.

If you found version suitable for your model, please write here.

Also read Frequently asked questions.

Features

Key features:

  • Privacy first! This application works completely offline and does not send any data (except for downloading application files and importing ZPL labels). Label data is stored in your browser.
  • Support for both Bluetooth and USB connections.
  • Rich label editor. Label saving, import/export.
  • Print preview. You can see how your label will look like after post-processing. Several post-processing algorithms are available.
  • Android App (Capacitor based).
  • Most complete implementation of NIIMBOT protocol.

You can see the full list of implemented and planned features on the Wiki.

List of tested models you can find in niimluelib repository.

Demonstration video:

demo video

Browser support

Your browser must support Web Bluetooth API: supported browsers.

For serial communication: supported browsers.

In some systems you need to enable Chrome Experimental Web Platform Features (navigate to chrome://flags).

Feedback needed!

I only have D110 and B1 printers. If you own other models, please write a comment here describing your model working or not.

Bluetooth dumps are MUCH appreciated. How to make it.

Images

Images may be outdated, interface is changing constantly.

ui

labels

print_preview

dither

templating

batch

printed_b1

printed_d110

Launching development server

Skip steps you have done.

  1. Install git

  2. Install nodejs

  3. Clone repository

    git clone https://github.com/MultiMote/niimblue.git
  4. Install dependencies

    npm i
  5. Run dev server

    Check code and open browser:

    npm run dev-check

    Or just run:

    npm run dev

Eslint not included. Install it with:

npm install --no-save --no-package-lock [email protected] globals @types/eslint @eslint/js typescript-eslint eslint-plugin-svelte

Translation status

translation

Other

Links
Boosty (support project)
Discord (dev news, troubleshooting and other, en)
Telegram (ru/en discussion)

About

🖨 NIIMBOT custom web client/app. Design and print labels with NIIMBOT printers directly from your PC or mobile web browser! Development is temporarily on hold due to lack of free time, hotfixes only.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 52.1%
  • Svelte 44.1%
  • Swift 1.2%
  • JavaScript 0.8%
  • SCSS 0.7%
  • HTML 0.6%
  • Other 0.5%