Hacker News new | past | comments | ask | show | jobs | submit login
Cat Printer (github.com/rbaron)
301 points by newman314 on March 25, 2022 | hide | past | favorite | 75 comments



This is insanely cute! But please strongly consider not buying one. Especially if you have kids, or are planing to have kids.

This printer uses thermal paper, which uses BPA or BPS to develop the print, which rubs off easily [1]. BPA and BPS are absorbed into the body through the skin [2]. The amount used is 250-1000x the amount found in plastic bottles [3]. BPA and BPS are endocrine disruptors, and prolonged exposure to even low levels can result in severe endocrine and reproductive health issues (including birth defects); high levels are associated with a huge range of health issues [4].

Lobbying has clouded this issue in public perception [5]. But it's telling that supermarket cashiers have elevated levels of BPA in their systems, and the associated markers of health damage [6].

[1] https://www.webmd.com/cancer/news/20101207/bpa-can-rub-off-f...

[2] https://www.plasticpollutioncoalition.org/blog/2016/12/23/is...

[3] https://www.pca.state.mn.us/green-chemistry/bpa-thermal-pape...

[4] https://www.medicalnewstoday.com/articles/221205

[5] https://www.paperrolls.com.au/why-is-phenol-free-thermal-pap...

[6] https://pubmed.ncbi.nlm.nih.gov/27729163/


They make phenol-free thermal paper.


Interesting - that looks like it could be safe, though I don’t know enough to be certain (we all know how “BPA free” turned out).

But either way it’s absolutely not the default when you buy online, which it looks like people in this post are doing, hence my comment.


Doing a little research, the fully phenol-free options use either vitamin C or a urea-based mixture.


I don’t see much reference to “BPA free” anymore. Why is that?


Because it was bullshit - manufacturers simply switched to BPS or other alternatives that hadn't specifically been tested yet, but were the same or worse. It turns out BPA is very hard to find a safe alternative for. And people started to realise it was bullshit. Lots of articles like this online if you google - https://www.discovermagazine.com/health/many-bpa-free-plasti...


This is quite a tangent on label printing in general, but what I really want is a computerised label printer that does mechanical punched labels, like the classic Dymos and knock-offs.

I still have and use one, basically because I don't use it enough that I need an electronic one, it'd just be handy, but I can't quite shake the appeal of the ~85% fully formed raised lettering.


Open printers of any kind are very welcome.

I dream on an OSHW laser printer, engineered to be cheap, durable and easy to repair, with none of the bullshit manufacturers have been pushing on people for decades.


I find that giant office printers have given me a lot fewer headaches than "consumer" printers. I have a fifteen year old HP that I bought used on Craigslist for like $100, and it just magically worked upon plugging it into my router. I just use the generic Postscript driver on Macos.

I don't think that driver is open source, but I suspect that you could fairly easily get a generic Postscript printer working with CUPS.


Did it come with a hard-drive filled with copies of every corporate document it had ever printed?


LOL. The amount of shit I've bought off eBay and Craigslist that hasn't been wiped is significant. And that's without being totally bogus and actually putting any effort into data recovery which would surely work on most devices.

Phones were crazy. So. Much. Homemade. Porn.


I've purchased used laptops that weren't wiped, and found fairly elaborate tax documents and other identifiable info on there that I could easily have abused.

I'm not a douchebag, so I just wiped the disk and didn't do anything with it, but I suspect that there must be an entire industry of people buying used computers or hard drives on Ebay and stealing data off there.


I just want to definitively confirm that such an industry exists. For some time, there were people buying used phones, recovering sexts, and extorting the sellers (whose name, email, phone, and address they now had courtesy of eBay).


> Phones were crazy. So. Much. Homemade. Porn.

Any of it good?


Hopefully they did the right thing and factory reset it.


Yes. I needed the phones clean. I had to buy up large numbers of random different handsets for testing SMS gateways.


You know, I don't know...it might? I never opened it up enough to look for a hard drive.


I don’t know about repair but the $99 Brother laser printer doesn’t require any malware. You can print wirelessly from Windows/Mac/iOS without installing anything


I recently became much less enamored with my $99 Brother. There are certain paper types that it has issues pulling from the paper tray, but it can use it from the manual feed. However, the manual feed will not pull it straight and everything comes out at an angle.


If you get a cheap printer you have to buy expensive paper.

I have the worst time printing in my house because the relative humidity level is very high in the summer. In the summer when my hair is curling and curling and curling from the humidity I have prints curling and trying to come off the walls. (In the winter I complain that static electricity is making my hair stand up on end.)

You can't save money by buying 20 reams of paper on discount from Staples because the paper will soak up water and misbehave when you try to use it.


Maybe a large plastic container and a desiccant would help?


Interesting... what are you printing?

I've had my brother laser for just about 10 years now, it's been awesome, regular paper, 80# cardstock and shipping labels being no problem from tray or feed.

Envelopes haven't been great.


Labels of various types that have specific places to print on the page is the issue for me.

There's a test page that can be printed that shows alignment. The docs say to try something if it comes out skewed, but if that doesn't work then to take it to a certified place blah blah. It's clearly out of warranty, so that's a no go.

I recently upgraded capabilities as doing more than could honestly be expected of a $99 printer. It has been well worth the expense of a higher model printer.

Outside of that, I still love my $99 Brother B&W laser with scanner for anything not specialty labels. I look at it like not getting upset that a 1980s Yugo doesn't get nearly the same lap times as a 2000s model supercar


Fun fact: did you know that you can netcat firmware to a Brother printer?

It's both cool and terrifying.


Well, you can literally print a firmware on some printers, and it will install it. Not sure what's worse



Surely it would verify signatures before installing the firmware?


You would think so but no.


$99 Australian dollars for second hand brother MFC-9330CDW colour wifi laser printer / scanner, needed new drums ($100 for the set of four) and one toner cartridge ($15), others are low but ok.

Retails new for AU$550.

$30 second hand monochrome laser printer at work I put by my workbench in a metal fabrication workshop, outside is filthy now, have run about 3000 pages through it, so about three toner cartridges, and a new. No issues.

The software seems to be fine, light enough, unobtrusive.


If you keep an eye out, you can snag one for much cheaper on eBay! The one I used back in college was great, and I picked it up for around $40.


Are there any printers with open source firmware at least?


I'd love to print to a Cat Printer from an iOS device via AirPrint. I see a ton of AirPlay to CUPS projects on Github, but I'm not quite sure how CUPS would be configured to simply call the Cat Printer python script. Any pointers on how to leverage CUPS or should I simply focus on an AirPrint server that directly calls Cat Printer?


I would take a look at https://en.opensuse.org/SDB:Using_Your_Own_Backends_to_Print.... Going off a quick glance at the code examples, I think it might be fairly straightforward to hook into CUPS. https://github.com/jsmeix/cups-backends also has some useful looking tools.


It’s pretty easy to add backends to CUPS. They are just shell scripts. I’ve written a few ruby ones. Here’s an example of one I adapted for my own purposes:

https://ofosos.org/2018/10/22/printing-to-remarkable-cloud-f...


I just bought a Phomemo D30 thermal label printer to label my electronics component boxes last week, and I was wondering if I can hack things to send it images from my PC instead of the phone app it comes with.

I found this repo, but I don't know if that's compatible with the D30 (the chassis pictured is of a different printer): https://github.com/vivier/phomemo-tools

Someone in Issues asked the same question, but the author wasn't able to answer for lack of hardware. I guess I need to try and/or contribute!

The "Print master" phone app is uploaded under a different brand name (QUIN LLC), and other brands also seem to sell a D30 printer. I didn't really do the work of finding out where these truly come from. Perhaps someone's got a repo up under a different name.

I've done 0 comparisons to other models in practice, but FWIW it does what I wanted it to do very well. All my stuff is obsessively well-labeled now. In fact, I labeled the printer in a mad-with-power move ... https://eikehein.com/stuff/label_printer.png


I actually just picked up the exact same printer but hadn't yet had time to see what OSS libraries were available yet. I had a previous project where I printed photos on a low res thermal printer. The images sucked, but people loved it.


The perfect accessory to go with your bear computer: https://i.gzn.jp/img/2009/07/13/rilakkuma/rp_001.jpg


The design is as cute as Nabaztag / Karotz: https://en.wikipedia.org/wiki/Nabaztag


The design is Rilakkuma, and seems to predate Nabaztag. https://en.wikipedia.org/wiki/Rilakkuma



bear computer


Well that's the fastest I've purchased anything in a while.


I would love to learn more about the reverse engineering process for a bluetooth device like this. It's too bad there is no link to a blog or additional documentation in the repo.


You can decompile android apps, which will give mostly the original Java Classes / functions with anonymized names (class A, function b, etc...). Framework classes and methods usually stay pretty much the same.

See for example https://github.com/robertohuertasm/apk-decompiler and https://github.com/vaibhavpandeyvpz/apkstudio (only used the first one but the seconds looks practical)


The repo states that they reverse engineered the Android app. So potentially 0% BLE specific reverse engineering and 100% of android Java. In some cases reverse engineering java code, which decompiles relatively well, can be easier than trying to sniff bluetooth packets, potentially dealing with standard bluetooth encryption and guessing what the raw bytes do.


Can confirm, reverse engineering Android apps is decently easy if you aren't afraid of manually parsing Java bytecode (it's not that bad). I tried to reverse engineer the encryption/decryption mechanism for a digital book app (it was garbage, and I just wanted to read my books in a nice app :( ) and was almost successful.


You can buy a Nordic Semi usb devkit and their software can sniff. Maybe you can have the Android sw run in a virtual device and catch api calls


How would one go about reverse-engineering Bluetooth LE? Is it looking at packets through WireShark?


Cheap device that can sniff BLE and send it to Wireshark:

https://www.adafruit.com/product/2267 ($20)

Overview on using it as a sniffer: https://learn.adafruit.com/introducing-adafruit-ble-bluetoot...

Still a lot of work though, if it's anything like LED signs I've reverse engineered. Trying to figure out if it's length encoded payloads or delimited payloads, what obscure checksums it might use, weird encoding of images, etc. And experimenting often hangs the device, or changes it's behavior significantly.


Not reverse engineering, but I'd used free iOS/macOS apps that could inspect the traffic content. I also had access to the spec sheet from the manufacturer ("smart" BLE scale) that had where in the long payload digits were the weight, body fat, and water content, etc. Kinda fun and frustrating at the same time. If you truly wanted to punish yourself, you'd be doing this while trying to write a React Native app that communicated with the scale over BLE. :)


Using something like this[0].

[0]: https://greatscottgadgets.com/ubertoothone/


If there is an android app for the device, you can easily log the BLE data and load into wireshark

https://www.mybluetoothreviews.com/what-is-bluetooth-hci-sno... shows how to capture the packets (you just go to the developer settings to turn it on)


For those who bought one, is this the correct product page? I couldn't find any links on the github - https://www.aliexpress.com/i/1005002722811359.html


There's a ton of them. I went for this one: https://www.aliexpress.com/item/1005003341930695.html


This reminds me of the printer cat character from left-handed toons.

http://www.lefthandedtoons.com/series/printercat


great now make it print github issues



I bought one of these because it was advertised as usb, but it being Bluetooth-with-special-(mobile-only!)app-only meant that I returned it. Nice to see someone jailbroke it :)


I wonder, if I wanted to recreate the Gameboy Camera with an emulator...has anyone done this with a webcam and a thermal printer? How hard was it?


Most emulators are able to export a PNG that you could then print with something like this project! They don't support using a webcam with the ROM for the Game Boy Camera though.

If you buy the real thing, there are lots of projects for extracting and printing the pictures though.

This project implements a fake GB Printer that you can then access via WiFi to download the prints: https://github.com/zenaro147/NeoGB-Printer

This project I wrote a while ago allows you to use a printer very similar to the one in this submission as an actual Game Boy Printer, connected to an original Game Boy: https://github.com/iamjackg/esp32-phomemo-gameboy-printer


Yes, emulators support the gameboy printer. In hardware it is implemented very close to the way the screen is written.


That might be fun then; have the emulator write to a thermal printer, relive a bit of nostalgia I have for the awful printouts of Pokemon characters I used to have (and might still have in a box somewhere actually).


Next step: make a DIY gameboy printer that works with a real gameboy


looks like this is a variant of the other "portable mini thermal printers" available on aliexpresss https://www.aliexpress.com/item/1005002247175933.html

possible these are compatible or at least similar enough, many similar products re-use modules and microcontrollers.


Did anyone else notice that title of word document in the second product image is "From spyware with love"?


Searching “Cow Tipping Championship in Vegas” eventually led me to this page: https://web.archive.org/web/20061117144904/http://www.spywar...

Though how a 2005 blog post from a website selling antivirus software ended up being used as mock copy in a product photo is still a mystery to me...


I bought mine! Excited to try it out. I think I'm going to hook it up to a scheduler and have it print a to-do list for me every morning


Does anyone know how the printhead elements are able to heat and cool rapidly enough? Is it just a very thin amount of a particular alloy and a precise amount and duration of voltage? Especially the cooling off part seems like it would require a really specific material. Unless all of the heat is someone removed as the paper scrolls.



There’s also PPA6 for PeriPage thermal printers, a Python library using reverse engineering of the Bluetooth messages intercepted to the device: https://github.com/eliasweingaertner/peripage-A6-bluetooth


I've been trying to find a good, portable impact printer for ages that has relatively easy to source paper.

In a dream-scenario, I'd be able to cut A4 or 8.5x11 in half vertically and use that (or any other size) with some sort of rubberized feeder.


This is absolutely adorable!


Can it print GitHub issues though?


The HN collab I never knew I needed, although I doubt the whole issue could fit on there. Maybe the repo name, issue name and issue number instead?


Lol'd at "Mean Threshold:" and then Grumpy Cat.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: