It’s hard to deny that label printers have become more accessible than ever, but an annoying aspect of many of these cheap units is that their only user interface is a proprietary smartphone app connected via Bluetooth. The Fichero-branded label printer that [0xMH] obtained for a mere 10 Euro at a store in the Netherlands was much the same, with an associated app that doesn’t just bind it to smartphones, but also requires no fewer than 26 permissions. Obviously this required some reverse-engineering of the BLE protocol.
The fruits of this reverse-engineering effort can be found in the GitHub repository, with the most interesting part probably being that this Fichero is just one of many relabeling of generic label printers, this one being an AiYin D11, by Xiamen Printer Future Technology. This means that other iterations of this D11 will work exactly the same, as they all use the same ‘LuckPrinter’ SDK.
[0xMH] provides a Web GUI to talk with a local D11 printer, though you can also use the Python scripts, or of course implement the protocol using your favorite language and frameworks, so that you can finally control a cheap label printer from a PC or even BLE-equipped MCU like the software gods intended.
Thanks to [T-ice] for the tip.

Huh, I was just thinking this is even cheaper than the one I got from Ali a while ago that looks like the exact same thing under a different brandname (niimbot), but then I checked and the Ali one was only 15 euros at the time, so the price makes sense (as the 10 euro price here is a temporary reduction and I think it’s normally sold for 20).
Anyway if it’s the same on the inside then I’m very happy with it, besides of course the horrible app. But the Niimmbot version already had some alternative control methods from a PC via bluetooth (Niimblue), which I see from the github the web versionof this one is also based on.
I just recently bought it because I thought it was super cheap and wanted to maybe spend some time reversing it. And now, there is already simple program to use it from pc. Best buy ever :D
Thank you China for releasing hackable cheap hardware, and for the community to release backs. Countless gizmos can be rather easily severed from their cloud and be used not exactly as intended, but fulfilling totally hackers purpose.
Cool! Love it if this could become akin to the CYD (cheap yellow display) project but for small label printers. Need table of AliExpress printers with compatibility status and price.
Interesting, cheap device. I should pick one up and also open it up. Wondering on the internals. Bluetooth is nice, but wiring it directly into your project can be useful as well.
While you can buy serial thermal printers, they cost a lot more for some reason…
Dear Hamza, thanks for your great work. The Software runs fine.
Awesome! I saw these printers in the dutch cheapo store we all know and love and was wondering whether I should grab one, but the app repelled me. Now I will definitely do.
That’s Action-able intelligence!
Regarding thermal printers, and especially the label printers, I wonder is there any clone for a mini printer (BT or wifi enabled) than can print on heat shrink sleeves cartridges. That would be awesome to tag cables (the Brady M211 and Brother PT750W are too expensive and their carts have embedded DRM).
Yeah. I gave up on these label printers. I bought fine Sharpies and rolls of white heatshrink: the type that comes flat. Easy to write on. Quicker than the printer and a whole lot cheaper. Can even do color.
The cheapest Brother PTouch will print on heat shrink tubing. Brother “compatible” heat shrink cartridges are available cheaply with no DRM. There are probably Brother “compatible” labellers too.
You need an inkjet mechanism
No, you don’t. Please stick to things you know.
I have a thermal receipt printer but I have not found a practical use for it… I wonder about this.
I use my receipt printer all the time for printing things like notes, small pinout diagrams & shopping lists. Pretty much anything I don’t want to waste an entire sheet of paper for.
I have a pack of rolls of calculator paper (shape of a roll of thermal paper, but it is non-thermal paper) that I use for shopping lists, with a pencil.
Also, for my work I produce about 200 pages of single-sided printed paper yearly, which I take with me when discarded and both sides (printed and not) become my notepads.
The hack we need is some simple process that solidifies the print after it’s printed so it doesn’t fade with time.
“Thermal paper is impregnated with a solid-state mixture of a dye and a suitable matrix, for example, a fluoran leuco dye and an octadecylphosphonic acid. When the matrix is heated above its melting point, the dye reacts with the acid, shifts to its colored form, and the changed form is then conserved in metastable state when the matrix solidifies back quickly enough, a process known as thermochromism.”
We know the chemistry, now to improve it.
I agree that the chemistry isn’t stable in time. In the meanwhile, heating up slowly a faded thermal paper reveal the previously printed text
Always the same shite with Linux and BlueZ. It pairs, but does not connect to the printer (using the webgui).
Android: works right away.
To fix it:
sudo nano /etc/bluetooth/main.conf
Find or add this line:
ControllerMode = le
Save and exit then run:
sudo systemctl restart bluetooth
And in the browser goto URL brave://flags/#enable-experimental-web-platform-features and set «Web Bluetooth API» to true.
Thanks Dave on https://blog.dbuglife.com/reverse-engineering-fichero-label-printer/