Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
"We have a thermal printer hooked up to the internet, you can send us a doodle" (goodenough.us)
115 points by kome on Oct 19, 2023 | hide | past | favorite | 107 comments


Hi guys, thanks so much for all the love you're showing our thermal printer project! As you've probably seen, the sudden HN traffic has been a bit overwhelming for our site.

I'm with Good Enough, a small collective of six friends. We're not venture backed, and our guestbook is really just a little art project. We honestly made it for the fun of it, and it's not for profit, and it wasn't designed to scale. :)

Please take it easy on our little printer! And do take a moment admire all the lovely drawings people all around the world have created. Each print has to be manually scanned in (I put the prints over old comics and scan them in on a flatbed scanner), so it'll take a while for today's drawings to show up on the gallery.

The technology behind it is quite cool and you can read about it here: https://guestbook.goodenough.us/info (Sorry, but the site might be slow right now...)

And if you're curious about our other work, here's our site: https://goodenough.us Thanks again, and hope the rest of your day is fantastic!


> Each print has to be manually scanned in

Seems like it would be easier long-term to just keep a copy of what the browser sends to your server, then display that instead of the scanned print itself.

Even if you generate the printer bytestream in the browser and just `cat` whatever comes in to your printer device, it would probably be faster (again, long-term) to write software which can render that data stream to an image.

but as an art project, it's perfect. is the source code anywhere?


We can indeed do that, but as you correctly identify, a purely-digital copy would undermine the aesthetic :)


The code for the guestbook is not open source, but it's built on this open-source platform: https://github.com/exciting-io/printer


I've been talking with a few friends as well about forming a group quite similar to this - can I ask how it went or what was the initial motivation for everyone to finally do it? Are you all having backgrounds in software or do other people on the team have engineering / hardware / other focuses? Absolutely love stuff like this - subscribed to the newsletter! Cheers!


Hi there, you can read more about the technical background here: https://guestbook.goodenough.us/info

James Adam was the genius behind the whole project. There's been efforts to make networked thermal printers in the past, like the Berg printer: https://nordprojects.co/projects/littleprinters/

And James has an open-source project here that you might be interested in: https://github.com/exciting-io/printer

The rest of us don't have hardware experience. Four of us can code, one of us is on more of the UI side of things, and I do some doodles for the team.


Cool idea, was wondering if you could automate taking a photo of the thermal paper as it comes out of the printer, using a camera.

I got a little digital camera from aliexpress that's quite fun, as it has an in-built thermal printer.


The guestbook images load very very slowly. Probably because they are quite a bit larger than their preview boxes and also PNG. Simply re-encoding with mozjpeg at 85% (which still looks darn good to my eyes) without rescaling in case you wanted the larger size for retina displays.

    $ ~/git/mozjpeg/cjpeg -quality 85 ge-printer-231017-zenwheel.png  > temp.jpeg
    $ ls -lh temp.jpeg ge-printer-231017-zenwheel.png 
    -rw-r--r-- 1 nemo nemo 439K Oct 18 19:04 ge-printer-231017-zenwheel.png
    -rw-r--r-- 1 nemo nemo  77K Oct 19 09:20 temp.jpeg
Aaand reduced a touch so it still should look good on HD, and cranking up the jpeg compression slightly.

    $ convert ge-printer-231017-zenwheel.png -scale 75% temp_smaller.png
    $ ~/git/mozjpeg/cjpeg -quality 80 temp_smaller.png > temp_smaller.jpeg
    $ ls -lh temp_smaller.png temp_smaller.jpeg
    -rw-r--r-- 1 nemo nemo  41K Oct 19 09:23 temp_smaller.jpeg
    -rw-r--r-- 1 nemo nemo 268K Oct 19 09:22 temp_smaller.png
IMO that would help the page load 10x faster, if you just piped the images through a bit of scaling and jpeg compression.


You're right! Thanks so much for pointing this out, capitainenemo!


Opened stream, immediately saw goatse, you might want to detour `drawImage` and booby trap it to ban anyone using it on the canvas (this is what another website did for a similar project).


If you just want to watch the live stream, you can see it here: https://guestbook.goodenough.us/thanks


The guy spamming all black is funny, as if it's going to run out of ink. It's a thermal printer.


This used to be a fax machine "prank"/DoS-- put black construction paper into the hopper, then tape the out end to the in end as it emerges so it forms a "drum" of black paper that continuously feeds.

Fax that to someone and it ties up the phone line while wasting all the receiver's ink and paper.


haha incredible! for every single system out there, always seems like there is someone trying to exploit it :)


Might cause it to overheat



> We've had too many offensive messages to keep this stream going.

We can't have nice things.


So interesting everyone's unique doodle like the split centipede thing


For backup purposes, I'd like to print some encrypted secrets as QR codes.

I don't have much room for a typical printer.

Could a small thermal printer print a QR code that encodes 500-1000 bytes?

If not, anyone know of a decent, durable, low-volume alternative?


Yes although any thermal printing I've ever done creates a print out that fades over time, so probably a horrible solution for backup codes.


There are variants that claim to be long-lived, but they're in a tiny minority.

Edit: I seem to be misremembering; direct thermal transfer printers aren't available with long life prints, only thermal transfer printers are.

https://www.zebra.com/us/en/resource-library/faq/difference-...

Which is also thermal printing, but not the kind used here.


Good point. Thanks!


You can get small inkjets too...


Would that happen even if you laminate it + stick it in a dark place?


In my experience yes. Old receipt roles fade even stored in a warehouse. I would try that anyway, as an experiment.

A cheap thermal printer for kids is around 10-20 USD (got one for such price with 10 rolls of paper, half of which is sticky paper), has bluetooth, usb and battery. Fits in a pocket. Would be fun to stick such qr code inside some not important book left lying around.


I would caution about giving children receipt paper. It may contain a lot of BPA (or replacements).

https://www.smh.com.au/business/consumer-affairs/controversi...


The laminating process would probably blacken the entire paper


Yes I found this out the hard way just last week - thought I was being pretty clever with my inside-the-box packing label.


There are laminators that don't use heat ;)


Others comment that thermal prints don't last long, but that's all dependent on the print material. The typical receipt fades after a couple of months, but Brother has small label printers that are often used in archiving and those labels can last for decades.

So just take some time to find the right medium for your needs and thermal printers can be a decent option.


One type of brother label printer (the ones that take "tze" cartridges) are thermal transfer printers, which last very well. They transfer pigment from a separate ribbon, rather than chemically change the label.


Do these require a specific software to be able to print or can they take anything and just print? Like, is it a regular driver, could I connect to this brother printer from my iPhone?


the one i've got (brother p-touch) seems to require a proprietary software suite, but i haven't really put any effort into figuring out whether there's an alternative way to print to it.

it definitely does not "just work", it's not detected as a printer in windows.


A small thermal printer would probably be direct thermal, which uses a heat head and heat sensitive coated paper. This fades away naturally, even if kept in the dark. Glue from tape will accelerate it, in case you're thinking about it to protect from abrasion.

There's also thermal transfer printers, which use a ribbon as "ink", similar to typewritter. These labels can endure much harder conditions, like scratches, high temperatures and fade. They're used all over the industry. But these aren't usually small printers and have a high cost. At that point I think you have better solutions on printing services (I understand if you don't want to have the files outside of your environment, though.)


1000 bytes is also a huge QR code. Sure, you can do it, but I'd bet that scanning it will be very hard and impossible with some apps where that usecase hasn't been tested.


I tried to find one, but failed; did find this HN comment: https://news.ycombinator.com/item?id=18498434

It says a QR code is specified as being up to 177 pixels wide (and high I presume, because square), where they can have 2 kB of data with medium error correction.

It's a bit of a chore, but manageable to do if the data is important enough. Plus, with error correction built in, you can make some mistakes.


a small laser engraver perhaps? looks like you can get one from china close to 100usd


If you need to encode 1000 bytes in a durable way, have you considered writing them by hand? Would take me about three-four minutes in each direction.


I considered just writing them, but I was concerned that I'd make a mistake, or be too lazy to do regular test decryptions/restores.


Funnily enough I'm doing something similar, but QR codes don't quite work out because their density is not enough for me (even after compression..), I've been printing using a laser printer and a software called PaperBack from the OllyDBG guy! It works surprisingly well for backing up data in paper.


You could draw it by hand; get some grid paper and a pen or marker, copy the QR code from your screen. There's plenty of error correction in a QR code that you could make some mistakes, I believe.


Thermal prints fade pretty quickly


What about one of those "pocket" photo printers?


Bold. I imagine they get a lot of phalluses.


I've had an open doodle program at https://max.io/bash.html for 10 years. About 5 years ago I realized all the shared doodles went into the nginx logs as urls. So I extracted them to see what people were drawing. 90% phalluses.


Everybody acts surprised about this, but nobody bothers to cater to what is clearly an underserved market of men who want to draw and exchange crude drawings of penises.

Rename the app to "Gloryhole" and watch as all interest evaporates despite explicit permission.


... that would still be one of the best case scenarios.


Kinda like the old oekaki boards, eh? Forums where you drew your posts with tools embedded on the page. The pen here ought to draw without anti-aliasing for authenticity ;)

Here's a page from a Japanese board, 20 years ago to the day: https://coolier.net/oekaki/173.htm

From the nearly sequential unmoderated post IDs, one surmises its visitors were a little more... civil than HN has been today. ^_^

Here's a western one, 2008-2015: http://archive.tewi.us/tegaki/showtags.php

This forum had no text entry! All comments were handwritten and drawn. Its last days saw what might be the most expressive biddings of farewell ever posted on the web: http://archive.tewi.us/tegaki/sortbytag.php?t=1&p=2

Is it a coincidence both sites are Touhou-themed? What we can see is that the second had a lot of tumblr users...

Right! 4chan still has an oekaki board, one of two boards with special UI. The editor (tegaki.js) records lossless replays as proof that posts are original. Fitting the theme, you can watch a Reimu being drawn here in 39m51s: https://boards.4chan.org/i/thread/699320#p737995

-

That kind of linework with no anti-aliasing is something special when displayed unscaled at the right DPI. I think it's the crispness that makes it pop. Same with Easytoon animation: 1-bit 160x120 GIF can look this good? (https://danbooru.donmai.us/posts?tags=easytoon_%28medium%29+...)


Not sure how this is hooked up, but there can be quite a bit of heat generated if it's possible for people to print (lots of) fully black pages, like wasting someone's fax toner/ink but with a risk of fire.


Finally an chance for the good old "lp0 on fire" error message to be true:

https://en.wikipedia.org/wiki/Lp0_on_fire

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...


Receipt printers are thermal and they print all day long.

Thermal printers use a thin wire that heats up in certain sections. The paper is heat sensitive. Funny though I discovered you can erase a thermal image using a highlighter pen (at old job where clerks had to highlight a section. Ooops!)

The paper is probably more of a danger since thermal paper supposedly is loaded with BPA.


I'm not saying there is a risk of fire but

> Receipt printers are thermal and they print all day long.

Not continuously, and not fully black pages.


> The paper is probably more of a danger since thermal paper supposedly is loaded with BPA.

Apparently not the case any more.


There are several types still in circulation from what I gathered.

The common white/greyish ones might still be a health risk.

Supposedly these blue ones that some shops have adapted is a lot better (and even recyclable?).

https://www.koehlerpaper.com/en/products/Thermal-paper/TH_Bl...


> The paper is probably more of a danger since thermal paper supposedly is loaded with BPA.

That's been banned in the EU since 2020, the question is if its replacement BPS isn't just as bad... [1]

[1] https://echa.europa.eu/de/-/bisphenol-s-has-replaced-bisphen...


I think this is just a regular thermal printer. No risk of fire.

Source: I'm doing something similar with a Cat Printer: https://untested.sonnet.io/TIL/weekly/40#Cat+printers


Oh, you did https://sit.sonnet.io/! I love "useless" websites like this, there's just something comforting about them that I can't quite place. For whatever odd reason, this particular one randomly reminded me of this brilliant package: https://www.npmjs.com/package/emdash-extending-forever-into-...

Keep up the good work :)


Recently bought that same printer on Temu for like $5 so this is very interesting. Would love to connect it to something allowing me to control it remotely.


This might help: https://untested.sonnet.io/Cat+Printer+–+tools+and+resources

Easier to set up if you're using a PC/Linux/Intel Mac as there are some issues with ARM/Apple SoC. Start with the repo in bold.


I imagine the engineers of the printer thought of this and that there is a thermal cut off.


They're designed to be able to print solid black. Some printers even have an 'invert' mode which prints white on black. It doesn't look very good though (uneven), which is why it's rarely done.


502 - Bad Gateway. Is the whole internet trying to print on their printer? ;)


Yeah, I think they got hugged to death.

I took a screenshot of the page: https://imgur.com/a/5mYanzV there's also this twitter thread: https://twitter.com/goodenoughllc/status/1714780523011121340

They cut and scan each message manually, so this is labour of love.


Surely they could grab a digital representation along the way? I see scaling issues, will struggle at Series A...


I went on a bit of an odysee creating "smart" thermal printers this summer in an attempt to build something suitable for giving Bitcoin payment notifications to merchants.

I started with battery-powered Bluetooth-enabled printers but found that the ESP32 microcontroller I was working with had trouble connecting to both WiFi and Bluetooth at the same time.

I ended up going with another printer model that supported TTL serial connections and landed on the ESP32 C3 board which has a very small form factor and was able to squeeze inside the case that comes with the printer.

Here's a video showing the end result: https://www.youtube.com/watch?v=JiGoOJZUrP8

Skip ahead to 2:40 if you don't want to hear me talk and just want to see the build video where I connect the ESP32 to the printer.


Wow! That's much fancier than the one I made. I got bored and never implemented anything other than text. [http://alnwlsn.com/printer/]


It appears I'm about five hours late on the internet hug of death you guys are experiencing. Looking forward to reading when I can access it :) Congrats on making something interesting enough to cause you this pain.


Update: I made it in! I added a drawing! Hello from Vermont :)


Hey folks, the live stream of doodles is shut down for now.

While some of you created some really beautiful doodles, or silly doodles, or both doodles, some other folks decided it was a great place to spew racist and vile imagery, and it's not right that we broadcast that back into the world.

This is why we cannot have nice things.


There's definitely some internet rule out there that states as soon as users can submit artwork to some publicly visible forum, racism and nsfw imagery will show up.

Thanks for this project though, it's pretty neat :)


Remember when the #Agile2013 conference told people their tweets at that hashtag would be displayed in public? and 4chan jumped to help? Internet Historian remembers: https://youtu.be/ROaj3bCpZEM

It was pretty recently in history, it really took a long time for everyone to establish settled rules of the internet.


penis graffitis date to thousand years ago, obviously as a species we haven't learned shit all.

If something is public and accessible, someone will draw something nasty on it, no exceptions

Internet just makes accessible part easier


With this sort of thing, there's a 100% chance of getting pictures of dicks


Those were nothing compared to some of the stuff people sent.


Well yeah, dicks aren't sufficiently shocking anymore. It's the same style of edgy trolling.


It was never edgy, but always stupid. Let's not elevate it.


Nope, definitely edgelord behavior


Drawing dicks has been around since cave paintings so it's as old as humans. Can't loose such a tradition.


Can confirm, recently saw all the dick etchings in the wall in Pompeii



If anything the surprising fact is people being surprised when someone does something like that on publicly accessible medium


Basically the same as the walls of any random public lavatory.


Probably less about the dicks and more about the n-bombs and Nazi symbols (Schwarze Sonne etc).


It's real rare for me to see people just casually drop the black sun in conversation, though I've heard it previously called the Sonnenrad


The first thing I thought when I saw the title was this. Very predictable


Came here to look for this comment. Sad, but predictable.


It would be interesting to feed the doodles to ChatGPT (or such) and ask it if they were offensive.


Aw I didn't get to see my crudely drawn space marine get printed out


var c=document.getElementById('imageView'),ctx=c.getContext('2d'),i=new Image();i.onload=function(){ctx.drawImage(i,0,0,c.width,c.height);};fetch('your-image-url').then(response=>response.blob()).then(blob=>{var r=new FileReader();r.onloadend=function(){i.src=r.result};r.readAsDataURL(blob)});


With my WACOM tablet and stylus I cannot "lift" the pen off of the page.

Once I start marking with the pen, it continues to draw continuously from point-to-point even when lifting the pen.

It acts as if I never lift the pen, once I have made contact and start drawing.


Same here on my Android phone running Bromite. As a workaround, you can switch to the eraser tool and then back everytime you lift your pen/finger — although its not really ideal ^^'

Edit: Pressing the "Redo" button also works


I hope safeguards have been put in place. Immediately, I thought about "black faxing."

https://en.m.wikipedia.org/wiki/Black_fax


Not much of a danger. Thermal printers don't use ink, only paper, and are typically for industrial uses so should have no problems with that.


Anyone remember little printer? https://nordprojects.co/projects/littleprinters/


Anyone notice where that request goes here: https://printer.exciting.io/

Very cool stuff!


Reminds me of 20th century web! Nice. Not working on iOS :-(


iOS didn't exist on the 20th century web, so... ;)


we called it macos then :)


It should work on your phone. But the site is being slammed right now... Sorry about that!


The backends accepts raw HTML markup and people have (unsurprisingly) busted it now, you need not trust the client to send sane data.


Is the time(zone) coming from users? Would make more sense if it was local to printer.


Lmao I love this. Is there a collection of these sorts of real-time experiments? Every so often a remote control robot to printer will come up on here/back in the day Slashdot/Reddit/Fark and it's loads of fun. I remember having a great time as a kid trying to flip the Plantraco remote control car by driving up the corner of the wall


The Big Bang Theory - 01x09 - Turn on a lamp through the internet: https://www.youtube.com/watch?v=onZ4KMM94yI


What was the TTP for this experiment?


better hope 4chan doesn't get a hold of this


lp0 on fire


*had




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

Search: