E-ink Display Driven DIY

E-ink displays are awesome. Humans spent centuries reading non-backlit devices, and frankly it’s a lot easier on the eyes. But have you looked into driving one of these critters yourself? It’s a nightmare. So chapeau! to [Julien] for his FPGA-based implementation that not only uses our favorite open-source FPGA toolchain, and serves as an open reference implementation for anyone else who’s interested.

Getting just black and white on an E-ink display is relatively easy — just hit the ink pixels with the same signal over and over until they give up. Greyscale is made by applying much more nuanced voltages because the pixels are somewhat state-dependent. If the desired endpoint is a 50% grey, for instance, you’d hit it with a different pulse train if the pixel were now white versus if it were now black. (Ever notice that your e-book screen periodically does a white-black flash? It’s resetting all the pixels to a known state.) And that’s not even taking into account the hassles with the various crazy voltages that E-ink displays require, which [Julien] wisely handed off to a dedicated chip.

In the end, the device has to make 20-50 passes through the screen for one user-visible refresh. [Julien] found that the usual microcontrollers just weren’t capable of the speed that he wanted, hence the FPGA and custom waveform tables. We’ve seen E-ink hacks before, and [Julien] is standing on the shoulders of giants, most notably those of [Petteri Aimonen] and [Sprite_tm]. [Julien]’s hack has the fastest updates we’ve ever seen.

We still can’t wait for the day that there is a general-purpose E-ink driver chip out there for pennies, because nearly every project we make with a backlit display would look better, and chew through the batteries slower, with E-ink. In the meantime, [Julien]’s FPGA implementation is pretty close, and it’s fully open.

44 thoughts on “E-ink Display Driven DIY

      1. I know, there should be a law banning vertical videos, banning people who moan about vertical videos, banning people who moan about those moaning about vertical videos and irony!

        1. As some day it may happen that a victim must be found,
          I’ve got a little list — I’ve got a little list
          Of society offenders who might well be underground,
          And who never would be missed — who never would be missed!
          Those buzzword ridden journo hacks who shill for IoT —
          With no concept of usefulness or good security —
          Then the idiot who denounces, with enthusiastic tone, —
          All gadgets not made by apple and every OS but his own —
          And all the persons who on filming vertical insist —
          They’d none of ’em be missed — they’d none of ’em be missed!

      1. Even with square videos, you can probably look at the Bayer pattern artifacts with the proper video forensics tools to determine the original orientation of the cell phone. Then you can complain about how people hold their phone anyway.

        But it is easier to just complain about square video for the same spurious reasons that people complain about vertical video.

      1. Really? I’m seeing 70 GBP for an 8 inch panel, and 10 panels are more like 300 GBP. Prohibitively expensive to a tiled array of them that’s then treated as a computer monitor.

  1. Been waiting 10-15 years for inexpensive FOSS & DIY friendly version of the hardware to be ready, most fo the commercial readers are predatory or insanely expensive for what is the single purpose mp3 player type appliance for books. Print a case maybe a R-pi0, a few hardware buttons to enter-exit books on a SD and a rocker switch to pick form menus would probably do it.

    1. The single purpose nature is less economics* and more technological limitation. e.g. large format content, or something that requires color.

      *One could argue that throwing more money at the problem could resolve those issues. A dubious position at best.

    1. Many of them have web browsers built in. You might be able to hack something up with a personal web server on your machine, and perhaps whatever Javascript the e-reader supports. My Kobo does a decent job of rendering web pages, though it’s not something I’ve used a lot.

      Wouldn’t be as all-encompassing as writing a graphics card driver for it, but you could knock up an app on the PC side that sends stuff to the Kobo. Perhaps have the Kobo load a page with a fixed URL from your personal www server, and have your PC update the contents of that page. I dunno, but it seems like a way in.

      1. I see. I could custom tailor texts to be a webpage, but
        I fail to see how can I wire for example an atom editor’s new file view (into the same file) without being an external monitor.

        In my view the ultimate goal is a hdmi interface.

          1. There are USB monitors. I wonder what the interface is like? If it’s just done using the paradigm of a bitmap, then it’d be pretty easy to implement that on an e-ink screen. It probably only sends areas that have changed, to keep bandwidth demands down. Which isn’t too different from e-ink either.

            As far as using a web browser, modern Javascript supports a Canvas object, which is a bitmap you can do pretty much what you like with. So there’s one level of doing it on. Since e-ink is slow to update, updating is really it’s enemy, then some smartness in the method might be better than just using a raw bitmap. Of course only using 16 colours would cut the bandwidth demands down too. There’s lots of potential to do it.

            It’d be a fair amount of work, but mostly straightforward I think.

    1. It’s not so bad, and it’s the price you pay for the advantages. It’s really easy to read, easier than even mono LCD. There’s no visible gaps between pixels. The contrast ratio isn’t as good as paper but it’s a lot better than unlit LCD. And backlit LCD causes eye strain. It is what it is.

      Also it’s not often a new technology is invented, and an entirely new type of product is created to use it, and is a big success. Of course a few other things, like batteries and CPU advances from mobile phones, were needed, but nobody really bothered with e-readers until e-ink. There are a couple of exceptions like a Sony Discman thing with a small low-res LCD on it meant for reading whole encyclopaedias, but the display is mostly what let that down. That, and using bulky high-power CD storage.

    2. First it is not that bad, second it depends on model.

      My old Kobo needed it pretty bad after each page, otherwise you had ghost images with 10-20% intensity. Per default it had it configured to do it after 6 pages, but then the image looked fast like a stack of transparency papers with different images. So you had to configure it to it at least every second page, better every page.

      Now I have an Amazon Kindle (Paper white 3) and it does it so rarely and/or quick, that I don’t notice it and can’t say how often it does the black page.

  2. Hi,
    Does anyone have a sense of how feasible it would be to modify this project so that it can function as an external monitor to computer/laptop? I want something like the Dasung Paperlike, which is seemingly not available for purchase at the moment. Mainly just want to read PDFs and other text without having to print them out, since it strains my eyes too much to read on computer screens. Transferring to Kindle is a pain and doesn’t work that well for many things. Thanks.

  3. Same problem here. If someone wants to make a kit that uses the EPD060’s on ebay for £12.55 or less, please let me know.
    I have two here of differing types but the big glitch is that without the all important waveform table DIY efforts will fail badly.
    The data is stored on the reader and it seems manufacturers do not like to share this :-(

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.