NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
How to build a printer (nishantjosh.dev)
ValdikSS 2 hours ago [-]
>penguin would shrink the result to fit its screen. >I declared A5 and Letter paper, media type stationery, and an output bin called face-up.

You can (and should!) define exact dimensions of your screen in `media-size-supported`. It will probably be a non-standard IPP name, that's why you should define that in `media-supported` as `om_NNNmmxYYYmm` or `oe_NNNinxYYYin`

That way you don't need to scale the incoming data, the PC will format it exactly to the dimensions of the screen.

Both PWG Raster and Apple Raster support 1-bit-per-pixel mode (instead of 8-bit-per-pixel you use), that's why the input could be 8 times less in size. Use `print-color-mode-{supported,default}=bi-level` instead of `monochrome` for that. And also tune `urf-supported`'s `W` option, use `W1` for this case.

The screen/dithering could be ass in 1-bit mode, see https://github.com/OpenPrinting/libcupsfilters/pull/160 where I added more dithering options (Linux-only though, Apple seems to abandon their CUPS).

Neywiny 2 hours ago [-]
This is why I like it here. Somebody does irrefutably incredible work outside of their comfort zone, and somebody else goes "yeah actually I was born in that zone. Moulded by it. Here's how to improve it" (in a positive way)
ValdikSS 2 hours ago [-]
Oh no, I wasn't, and that's definitely not my comfort zone. I mess with the printers and printing stack due to anger, not because I like it.

It's bugs on bugs, with bugs chasing bugs! So little developers, so complex stack with 25 years of technical debt, and little community around because it's not a sexy technology to be involved in.

That's why I have to dive deep and fix my bugs myself if I want to make it work properly as I would like it to. I also ended up making my own print server device, because China did not make a proper one for some reason for all these years.

cat-whisperer 2 hours ago [-]
lovely, this would save me a bunch of memory during transformation and dithering. Will do!
alternativeworl 2 hours ago [-]
Very cool. I was expecting to learn about the ins and outs of ink, printheads etc but instead learned "How to build a paper that acts like a printer" which turned out much more entertaining.
cat-whisperer 2 hours ago [-]
glad you liked it!
ks2048 3 hours ago [-]
Good job, but I’m left wanting to know how to build a printer.
tdeck 28 minutes ago [-]
If a DIY plotter would do, this site has a long list of different projects

https://mattwidmann.net/notes/pen-plotters/

cat-whisperer 3 hours ago [-]
I'd say it's an eco-friendly printer
jarboot 4 hours ago [-]
This is amazing!!! It just makes sense. And its just how you would want to use a e reader.
cat-whisperer 4 hours ago [-]
if it looks like a paper, it should act like a paper
nomel 4 hours ago [-]
You can even fold it, once!
cat-whisperer 3 hours ago [-]
It's also not effective against rock
valleyer 3 hours ago [-]
Funny. But... paper covers rock.
sudo_cowsay 3 hours ago [-]
Jan Ken Po!
greazy 3 hours ago [-]
I don't understand the purpose. What am I missing?

The author "prints" to the eink display. Why not load say the pdf directly?

stdatomic 3 hours ago [-]
From the 4th line in the article:

> But getting stuff onto it was tedious. I had to join its hotspot and open a little upload website in my browser. Yuck.

Anyway, very creative, I like the idea a lot.

cat-whisperer 3 hours ago [-]
> I was thinking of this, but rendering PDF takes a lot out of a 400KB RAM'd device. It also needs a ton of things to actually work which the ROM can't hold.

> Kindles have a ton of RAM, this one didn't.

ghostly_s 2 hours ago [-]
It's an e-reader. According to the specs it has native support for PDF.
mrheosuper 2 hours ago [-]
It's an esp32 MCU, even if it can somehow run the PDF render pipeline, it won't be more ideal than just accept the raw byte stream and display.
joshmarinacci 3 hours ago [-]
I love the concept, but I wonder why he wasn’t printing to PDF. Can this device not render PDFs?
ValdikSS 2 hours ago [-]
PDF is very, very complicated standard which can't be handled properly on tiny MCUs with reasonable performance and spec conformance:

    - 4 font formats
    - 9 image formats
    - blending with transparency
    - different colorspaces, each image could use its own on the page
    - different dithering algorithms, each image with its own
    - the page can have elements from another pages (global elements)
This is only a small part from the top of my head.

Common simple home printers absolutely should not accept regular PDF as an input: thanks to Apple and IETF we now have Apple Raster and PWG Raster for printers, as a part of AirPrint and IPP Everywhere/Mopria driverless printing standards, which are very similar but have slightly different options and headers. It's a simple raster input for printers specifically.

Some companies, such as HP, invented a "raster PDF": PCLm / PCLms. Don't be confused by the name, it's a regular standard-conforming PDF which contain nothing but a full-page JPEG on each page, and don't use any other features. It's created only to be able to open "printed page" (driver output) in a standard PDF viewer on a PC for debugging or business logging needs, but otherwise it's like a regular JPEG with additional per-page metadata.

ghostly_s 2 hours ago [-]
This thing is an e-reader with 16GB of flash and an SD slot. It has native support for PDF.
cat-whisperer 2 hours ago [-]
cat-whisperer 3 hours ago [-]
I was thinking of this, but rendering PDF takes a lot out of a 400KB RAM'd device. It also needs a ton of things to actually work which the ROM can't hold.

Kindles have a ton of RAM, this one didn't.

bluGill 3 hours ago [-]
Probably not. It doesn't appear to have enough ram. I'm not sure the CPU is up to that either.
NDlurker 3 hours ago [-]
Very cool. I'll be updating to this fork
cat-whisperer 3 hours ago [-]
Thanks. It's rough around the edges, so PRs are open, and there's a recipe in the repo if you want to build your own apps.
andyfilms1 4 hours ago [-]
We finally have PADDs from Star Trek!
cat-whisperer 4 hours ago [-]
Wow!! I didn't think of that.
sho_hn 4 hours ago [-]
This is a fantastic idea!
stavros 4 hours ago [-]
I've been seeing the Xteink a lot lately. Should I get an X3 or an X4? I don't really know why I want it, but I have an eInk addiction, so I just need it.
a2dam 4 hours ago [-]
I've owned all of them and the answer is the X4 Pro IMO. It has a backlight, which is the only thing I really missed on the others.
cat-whisperer 4 hours ago [-]
It's funny that X3 is a successor of X4. Only downside is that X4 has a USB-C port and X3 doesn't
stavros 4 hours ago [-]
What about the back light? Are they otherwise identical?
cat-whisperer 3 hours ago [-]
X3 isn't backlit, but the battery lasts 7 days. So, it's pretty good for me
hamaluik 3 hours ago [-]
I bought an x4 a month or so ago, zero regrets. It sounds hyperbolic but it’s finally been the thing to actually decouple me from my phone. Whenever I’m out and about, bored, I just slide it out and pick up where I left off reading last. It’s a nicer reading experience on my kobo but the portability and.. frankly charm just can’t be beat.
Brian_K_White 5 hours ago [-]
Outstanding! This is so...correct.
phoenixtao 14 minutes ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 03:46:26 GMT+0000 (Coordinated Universal Time) with Vercel.