Technical details: - Supports any ESC/POS compatible printer (Epson, Star Micronics, etc.) - Handles paper widths from 58mm to 120mm - Automatic image dithering and scaling - Built-in failover protection for high-volume scenarios
Don't have a printer yet but want to try it out? I've got you covered! When you sign-up you get 300 free prints and you can watch your creations come to life on my printer via Twitch live stream (https://twitch.tv/printercow). Perfect for testing your integration before committing to hardware.
I'm particularly excited about the AI integration possibilities. Instead of yet another chat interface, you can have AI generate content that exists in the physical world – artwork, poems, todo lists, custom receipts, etc.
Would love to hear your thoughts, feature requests, or creative use cases you can think of! Also happy to answer any technical questions about the implementation.
It would be nice to try it with SAAS and then buy a local license.
It is similar to the Tydbit device [0] where you can program the device but it runs on their cloud. That is fine unless Tydbit goes out of business. That fear of loss stopped me from doing too much programming with it.
I think the same may be true here.
I mean, it would be a waste of _your_ resources to host it for my use case too!
Raspberry pi connects to the printer, pi runs a daemon, Daemon connects to a central server and downloads stuff to print, server runs an API with a friendly endpoint.
Difference with mine is that I used CUPS on the pi and generated PDFs for it. I supplied a custom PPD to make the printouts extra crisp, but other than that the OS handled it for me. What I wrote was little more than a PDF generator and a basic spooler.
I can attest that this method is very reliable, if you're looking for confirmation that this architecture can be used in production.
I do question whether it's worth paying for this as a SaaS though. Speaking as someone who has built this, I'd probably build it again and it doesn't take long to get "good enough". The bulk of my time was spent on improving the printout quality from the built-in driver. Which was fun but unnecessary.
You know, the cheap toy-like printers? Like this: https://www.amazon.co.uk/Portable-Instant-Bluetooth-Wireless...
I was trying to hack mine to use it with an app I want to create for personal use. Currently only prints using the official Fun Print app over a bluetooth connection.
There are projects[0]that are supposed to work with a cat printer but mine specifically isn’t. It identifies itself as “MXW01” , which is different that the printers tested.
[0] https://github.com/NaitLee/Cat-Printer https://github.com/bitbank2/Print2BLE
If it supports ESC/POS commands then yes, otherwise no.
Looking at the code you shared, it seems like the cat has quite a different protocol than the bear. The opcodes seem different, and there seems to be some sort of crc happening that is completely absent in the bear. So I doubt my code will work without major adjustments.
In case you missed it, the first link you shared also has a "test unknown printer", so maybe yours is just a minor hardware iteration but might work nonetheless!
The printer shows up in the USB tree, but (maybe?) needs a driver to be recognized as a “printer”? I was trying to follow tutorials that treated it as a line printer, but unsuccessfully.
Any idea how much luck I will have if I try this out? Does this project rely on working drivers? Or does it handle the raw USB communication?
It’s an IBM-branded Type 4610 Model TF6.
I also decided to make a text file for my daily progress report and shoot that over to the printer with `nc`. The only ESC/POS code I'm using is to send the cut command.
I'm also surprised how FAST these printers are now.
Everyone I told I was buying a thermal receipt printer gives me an inquisitive look. I expected that from a lot of people but I was surprised to get the same response from the tech people I work with.
Anyway, they are lovely little devices.
I like the twitch stream, fun approach.
I've wrote quite a few labels in ZPL, which is used for Zebra printers. The reason I've used ZPL code is that serialization happens on the printer itself. Therefore, it is an easy fire and forget.
Can this integrate with a zebra printer? Can this handle large number of prints? Serialization?
In case you need a very basic version of this, I've created a project some time ago, where you can print text over a template, also trough an API and using ESC/POS compatible printers:
https://magic.wizards.com/en/formats/momir-basic https://imgur.com/gallery/momir-basic-irl-g2S3hJT
The portability of the whole setup makes it easy to bring to an LGS, it's always a treat to see people's reactions when I pull out the printer and they see how the deck works!
What's the tech? (I'm crossing my fingers for Elixir/Nerves but I suspect that's still a bit niche)
Edit, I'm now signed up - though I'm struggling to find the install instructions for the RPi.
Edit: had a look at the firmware and it's not Nerves - but that's fine! I was just curious :)
The fact that they make a loud noise every time an order comes through is useful for a restaurant kitchen, too.
The Epson TM-U220 is one model to consider.
https://www.epa.gov/sciencematters/are-bpa-substitutes-any-s...
The alternative chemicals for thermal paper are totally different. That's not to say that they are guaranteed safe, but that study is inapplicable.
E.g. one type of paper claims to use Ascorbic Acid (vitamin C). No idea what else is in it of course, but it's not a BGA-analogue plasticizer.
How would you know it doesn't, if you don't know what's in it?
Regardless, my point is that many BPA-analogue containing products advertise their BPA-free status.
Or, there are apparently at-home testing chemicals that look simple to use. I haven't done it myself though.
I do get the impression companies are beginning to move back to traditional printed receipts, at least a bit, here in the UK.
Alas it seems built around a specific thermal printer, isn't generic.
https://nordprojects.co/projects/littleprinters https://github.com/nordprojects/sirius?tab=readme-ov-file https://github.com/nordprojects/littleprinters-ios-app
Incredible. Instead of just creating online trash that nobody wants to read, it can create physical trash too! For maximum art, it can feed directly into a shredder.
Mom? Are you cooking crystal meth at home, what is all this for? And why did you bought 500 boxes of condoms?
I currently use a local LLM to scan my notes, meeting transcripts, todo list and calendar. I currently have an iPad that displays some items (e.g. if I have important personal tasks to do today that I might have forgotten) and I would love it to be printed out like this.
Nothing to do with generating novel text, it's just used as a flexible API to my existing text and items.
I’m sure YC will fund it.
I wouldn't worry though, I have a feeling this is going away by the end of the decade.
A dumpster fire works well too: https://gizmodo.com/watch-your-feelings-about-2020-burn-in-a...
I could see myself using something like this to print recipes. I’d like to avoid getting my fancy cook book dirty, but have still have recipe in the kitchen to reference. Phone works okay until you have to scroll with dirty/wet hands.
You can also use lp, lpr, or nc to send text and codes to it.
Mine is connected to my network via Ethernet. No RPi is required to send stuff to it from any computer on the network.
1. A plain text "progress report" that tells me some personal stats about my week last week.
2. Full designs created in Affinity Designer, which print with the simple "print" menu. These can have any font, graphic, or whatever.
I was able to send everything from plain text with a scroll and cut ESC/POS command on the end (my automated progress report), to an image sent directly to the printer queue, to a pixel perfect desktop design document.
The home equivalent of a fast food kitchen ticket printer!
I think this is a fun little project, but only until people discover how annoying thermal printers are in actual use, combining all the user-hostility of printers with a tiny form factor.
If you want a really unique gimmick, you can get wireless bluetooth thermal printers that have belt loops. Intended as table-side receipt printers for waitstaff or ticket printers for transit.
Another unique feature receipt printers often have that regular ones don't: a 24V pulse "kicker", intended for firing the release solenoid on cash drawers. I'm sure someone can find a use for that.
(I spent some time in the POS software mines)
Exactly where my head went haha, next thought was having a clip to hold the recipe up :p
I don’t want mementos, I want disposable references.
It’s also not that big of a deal if this isn’t feasible, because the binder works fine, the phone works fine. This is just sparked a “hey, what if…” idea is all.
// Hardcoded token for authentication $authToken = 'your-secure-token-here';
// Set the printer name (adjust to your printer's name) $printerName = 'YourPrinterName';
// Allow only POST requests if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); echo json_encode(['error' => 'Method not allowed. Use POST.']); exit; }
// Check for token in the request if (empty($_POST['token']) || $_POST['token'] !== $authToken) { http_response_code(401); echo json_encode(['error' => 'Unauthorized: Invalid token.']); exit; }
// Check if a file was uploaded if (empty($_FILES['file']) || $_FILES['file']['error'] !== UPLOAD_ERR_OK) { http_response_code(400); echo json_encode(['error' => 'No file uploaded or file upload error.']); exit; }
// Get the uploaded file path $uploadedFile = $_FILES['file']['tmp_name']; $fileName = basename($_FILES['file']['name']);
// Use lp command to print the file $command = escapeshellcmd("lp -d " . escapeshellarg($printerName) . " " . escapeshellarg($uploadedFile)); exec($command, $output, $status);
// Check the status of the command if ($status === 0) { http_response_code(200); echo json_encode(['success' => "File '$fileName' sent to printer '$printerName'."]); } else { http_response_code(500); echo json_encode(['error' => 'Failed to print the file.']); }
Ah, printer drivers. One of the things we do not yet rent. Makes sense.