Little Printer Server

Quick note: the code for this server is not yet public as I'm still fixing some things, but it will be very soon, at which point the text below will be correct ;)

BERG Little Printer

The Little Printer is a small internet-connected thermal printer originally created by BERG in London. This quirky device can print little receipts with news, weather updates, games, photos, drawings or anything else you can think of. It was released in 2012, and discontinued in 2014, but it still has a small but passionate community of users and developers.

There have been attempts to make the printer work again, most notably by Nord Projects, who built a new mobile app and hosted an updated server for the printer to connect to. This new setup however did not support all features of the original printer - like its face updating and changing over time - and required users to reflash their bridge device. Not everyone was able to do this, either due to technical skill or their bridge devices' firmware getting corrupted over time.


This project

This updated server and the alternative bridge device based on a Raspberry Pi and Zigbee adapter is a labour of love by Jasper van Loenen, and an ongoing effort to fully revive the Little Printer.

Update or replace the bridge

There three ways to update or replace the bridge device:

  1. Use a Raspberry Pi with a Zigbee adapter to emulate the bridge device. Just follow the instructions.
  2. Use the ESP32-C6 based bridge device. Instruction will come soon as it is still being tested, but this should be the easiest and cheapest way once available.
  3. Untested by me, but following Nord Projects' guide you should be able to reflash the original bridge and update the server address to this server (without changes you can use it with Nord Projects' server).


Support

If you're as excited about reviving the Little Printer as I am, consider supporting the project! You are absolutely welcome to use both the server and bridge code for free, but any support is greatly appreciated.

Github Sponsor Buy Me a Coffee

Data collection

I've tried to keep the amount of data stored to a minimum. We only collect the data necessary to communicate with your Little Printer and (optionally) up to 10 prints for reprinting. Below is a list of all the data stored.

The code for this server will be shared and made open source on GitHub.

  • Admin note: The admin of the server is able to see a list of all printers and their claim codes for debugging purposes. Prints are not visible to the admin.
  • Stored prints: By default we store the last 10 prints for each printer, so you can easily reprint them. You can change this in your account settings.
  • Account information:
    • date created
    • username: used for login only.
    • display name (optional): can be shown on prints
    • password hash: used to verify your password, not stored in plain text (but you should still never reuse passwords!)
  • Printer information:
    • date created
    • name: used to identify your printer
    • claim code: used to link printers to your account
    • hardware xor: unique identifier for your printer hardware
  • Bridge information:
    • date created
    • unique ID: used to identify your bridge.

Thank you

This project would not have been possible without the help of many people. Thank you to everyone who has supported, encouraged, tested, and given feedback on the Tiny Printer Club Discord.

And of course, thanks to everyone who used to work on Little Printer at BERG

While this whole project was built from scratch, it does lean heavily on knowledge from the Sirius server and the dumped bridge firmware by kpeeem.

The Sirius server has been through some iterations, so I'll just mention them in order of forks: