Show HN: Printercow – Turn any thermal printer into an API endpoint

lionpixel | 127 points

I work with restaurants— i think this could be quite usefull for them and for our product.

Do you have an email i can reach out on, ideally would like to have a quick chat. The sooner the better. I think i have some people who could use this right now

gurveer_singh29 | 5 minutes ago

I can see the value in this, but I don't get why it needs to be a SaaS. Don't get me wrong; a revenue stream for something this obviously useful is great! But why not just make it dual licensing; non-commercial projects get it under AGPL or some custom license that prevents them from using it commercially. Everyone else gets a bog-standard yearly license or such... Why not?

black_puppydog | 19 hours ago

This is a great idea, and it looks like you've done a great job! I share your enthusiasm for these printers. I have a Rongta receipt printer sitting on my desk that I like to play with :-)

I have a business usecase for something like this (now that Chrome doesn't allow printing to ESC/POS), and exposing the printer interface as an HTTP API is a clever and great solution! But, sending the data through a third party is a complete no-go for us for reasons of compliance. For this architecture to work for us we would have to host it on our VPN and serve it from our own domain as our customers have a strict whitelist.

As cool an idea as this is, honestly though I don't think this should be a SaaS. Certainly it doesn't fit the typical mold of SaaS where there's nothing to install because it's all delivered through the web. Given you have to install a local Pi or other, you lose all the benefits of SaaS and also incur all the downsides of SaaS. It feels like it was shoehorned into a SaaS because otherwise it would be very hard to monetize. I don't blame you for that because it is indeed a hard problem to figure out how to get paid (in fact I've abandoned good ideas prevously because it was either SaaSify something that shouldn't be a SaaS or else face huge obstacles getting paid), but I wanted to share my thoughts honestly.

freedomben | 9 hours ago

Okay, the question is: Can it print with a Cat Printer?

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

mrtksn | 15 hours ago

Interestingly I made this same exact thing a few years ago for a company I worked at.

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.

RadiozRadioz | 11 hours ago

Inspired by other receipt printer projects on HN, I just purchased a MUNBYN P075 printer last week. I thought it was going to be a lot more complex than it was. I thought I'd have to write ESC/POS codes manually to generate images, for example. But, it's actually quite simple, since there is a printer driver.

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.

codazoda | 18 hours ago

Nice! you've built a whole product around and the Twitch demo is great.

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://github.com/emi420/esc-pos-server-print

sometinsome | 19 hours ago

This is nice! Was looking for exactly a similar feature in a previous HN discussion [0]. Want something that I can integrate with IFTTT/Zapier.

I was looking to buy one of ESC/POS compatible printer but none of the official sites seem to sell directly on the site and have to contact their sales to get a quote. I see a few on ebay and from third party sellers in Amazon.

Does anyone have a recommendation on where to buy an official / new one without going through the sales call hassle? Or buying from 3rd parties is the only option?

[0] https://news.ycombinator.com/item?id=42599784

irs | 8 hours ago

Interesting project. I am assuming this is not geared towards business clients who print thousands of labels a day, but more of a fun things to print to thermal printers for individuals? Correct me if I am wrong.

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?

avgDev | 15 hours ago

In case you don't want to create an account, you can just comment with your prompts and I will enter them myself. You can watch let it print on https://twitch.tv/printercow then. :)

lionpixel | 20 hours ago

Aww, I was hoping you'd done something fun with the actual firmware of the printer to turn it into something that can receive requests, but its just printing from a pi

voidUpdate | 19 hours ago

This could be plain software on any computer with network and a serial port. Not sure if the product is tied to RP hardware but it certainly wouldn't have to be. I work with thermal printers controlled by significantly less powerful hardware still running Linux, and still easily hit physical speed limits. I'd rather see this as a pure software daemon that can run anywhere.

JJOmeo | 9 hours ago

Very cool. I created a thermal printer project a few years back that prints (low quality) proxies of Magic: the Gathering cards based on the rules for "Momir Basic". It was a fun project, though formatting images to work with the various ESC/POS image formats was quite a challenge.

https://magic.wizards.com/en/formats/momir-basic https://imgur.com/gallery/momir-basic-irl-g2S3hJT

Toxygene | 13 hours ago

I do not have a Raspberry Pi laying around, but I do have an Ubuntu computer. Can the Printercow code be executed on my Ubuntu computer?

dougi3 | 8 hours ago

long shot: I’ve got a USB-based ESC/POS printer, but couldn’t get my mac nor RPI to recognize it as a printer through CUPS.

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.

e28eta | 10 hours ago

What's the story if you want to self-host?

rounce | 19 hours ago

This is awesome! I have a very hacky prototype doing something similar, you've put way more effort into PrinterCow and it looks great.

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.

heeton | 19 hours ago

I'm not sure what the point of this really is. Many of those printers and POS systems have OpenCUPS support already, which is more or less "one command". If it requires a Raspberry Pi I have no idea what you are selling. Can you please elaborate on this?

nexus_six | 16 hours ago

This is really cool. I used to enjoy toying with thermal printers until I found out the paper is coated with a very fine dust of BPA. Still they sell thermal printer cameras on Amazon marketed for children

smokeydoe | 19 hours ago

Love the idea about a demo on twitch. Simple yet effective! Next up, develop a twitch bot interface so you can handle everything directly there

maalber | 19 hours ago

The whole twitch demo thing is genius and fun. Do printer companies usually not provide a first party apps or integrations?

ksdme9 | 20 hours ago

Reminds me of BERG's Little Printer (2012). Someone updated the software stack for em! Nice app, great system, lots of sweet social features & good tools.

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

jauntywundrkind | 16 hours ago

The demo is great, would give a try asap.

ricenb | 19 hours ago

> 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.

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.

dmd | 19 hours ago

Is there something out there like this that is self-hosted? It’s ridiculous that this isn’t, and it’s going to become a pay-per-print model?! I don’t care about the AI nonsense, it’s a printer.

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.

corytheboyd | 18 hours ago

> everyone gets 300 free prints per month during our beta

Ah, printer drivers. One of the things we do not yet rent. Makes sense.

xorcist | 19 hours ago

I'm going to be the party pooper and point out that thermal paper isn't great for your health: https://pmc.ncbi.nlm.nih.gov/articles/PMC5453537/

pavel_lishin | 18 hours ago

[dead]

Dromadie | 19 hours ago

The "Delete Account" button does nothing. Very clever user retention technique.

rescripting | 18 hours ago

[flagged]

sleepybrett | 16 hours ago