# NiimBlue NIIMBOT printers webui. Design and print labels right from your browser. Uses [NiimBlueLib](https://github.com/MultiMote/niimbluelib) for communication. Project is deployed here: [niim.blue](https://niim.blue) > [!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](https://github.com/MultiMote/niimbluelib/issues/1). > > Also read [Frequently asked questions](https://github.com/MultiMote/niimblue/wiki/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](https://niim-docs.pages.dev/documents/NIIMBOT_printers_protocol.html). You can see the full list of implemented and planned features [on the Wiki](https://github.com/MultiMote/niimblue/wiki#features). List of tested models you can find in [niimbluelib](https://github.com/MultiMote/niimbluelib/issues/1) repository. Demonstration video: [![demo video](https://img.youtube.com/vi/u8QX-5e3W_A/mqdefault.jpg)](https://www.youtube.com/watch?v=u8QX-5e3W_A) ## Browser support Your browser must support Web Bluetooth API: [supported browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility). For serial communication: [supported browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API#browser_compatibility). 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](https://github.com/MultiMote/niimbluelib/issues/1) describing your model working or not. Bluetooth dumps are MUCH appreciated. [How to make it](https://github.com/MultiMote/niimblue/wiki/Making-packet-capture). ## Images Images may be outdated, interface is changing constantly. ![ui](about/ui.png) ![labels](about/labels.png) ![print_preview](about/print_preview.png) ![dither](about/dither.png) ![templating](about/templating.png) ![batch](about/batch.png) ![printed_b1](about/printed_b1.jpg) ![printed_d110](about/printed_d110.jpg) ## Launching development server Skip steps you have done. 1. Install [git](https://git-scm.com) 2. Install [nodejs](https://nodejs.org) 3. Clone repository ```bash git clone https://github.com/MultiMote/niimblue.git ``` 4. Install dependencies ```bash npm i ``` 5. Run dev server Check code and open browser: ```bash npm run dev-check ``` Or just run: ```bash npm run dev ``` Eslint not included. Install it with: ```bash npm install --no-save --no-package-lock eslint@9.x globals @types/eslint @eslint/js typescript-eslint eslint-plugin-svelte ``` ## Translation status [![translation](https://weblate.mmote.ru/widget/niimblue/web/multi-auto.svg)](https://weblate.mmote.ru/engage/niimblue/) ## Other | Links | | |--------| -- | | [](https://boosty.to/multimote) | Boosty (support project) | | [](https://discord.gg/jXPAfZVd8a) | Discord (dev news, troubleshooting and other, en) | | [](https://t.me/niimblue) | Telegram (ru/en discussion) |