GameBoy on E-Paper ESP32 at 30FPS [video]

(youtube.com)

134 points | by pizzaiolo 14 hours ago

12 comments

  • Lerc 12 hours ago
    This is insane. Almost everything done here to make things fast were things that I had assummed that e-ink displays aready did, because they are so slow, I figured their behaviour was the best that could be achieved after trying all these kind of tricks.

    It makes me what other things could be much better if they received some attention from someone who cares about it.

    • ThrowawayR2 28 minutes ago
      Increasing the refresh rate means much higher power consumption, negating the advantage of an e-ink display requiring zero power when not being refreshed. I've used an e-ink reader with fast refreshing enabled to browse the web and observed that it burned through battery as fast as a tablet with an ordinary illuminated display; at 30 FPS, power consumption would undoubtedly be even worse.
    • jdiff 7 hours ago
      There may prove to be reasons (longevity?) that they don't.
      • guyomes 7 hours ago
        Power longevity might not be the reason since in this project, having faster transition seems to be done by using less change waves, which probably uses less electricity.
        • jdiff 2 hours ago
          Not power longevity, longevity of the display itself. You drive things harder, they tend to die faster.
  • aix1 12 hours ago
    Great work. I loved the technical innovations.

    For the grayscale, I'm guessing each physical display would need to be individually calibrated? I also wonder whether the calibration is sensitive to environmental factors, i.e. gets out of whack if the display is too hot or too cold.

    • eternauta3k 12 hours ago
      Or with aging.

      There has to be a reason the e-ink industry hasn't done this yet...

      • rationalist 4 hours ago
        Maybe not, it could have just been, "Good enough, ship it and move on to the next thing."
    • RossBencina 9 hours ago
      I think the standard drivers take temperature into account.
      • aix1 5 hours ago
        But if a display only officially supports black & white, its driver just needs to know the duration of the slowest transition across the operating temperature range. It could then use that duration for all transitions, regardless of the temperature.
      • gblargg 8 hours ago
        It would be interesting if the driver could sense whether the pixel had fully transitioned or not, allowing it to measure transition time and accurately generate greys.
        • aix1 5 hours ago
          I have no idea whether it's feasible, but having a direct feedback mechanism would be pretty awesome.
  • y1n0 12 hours ago
    I don’t know if this particular display is magnetic particles or not, but epaper is not synonymous with eink. Something can be called epaper and still be lcd based. So I feel the video is misleading by declaring epaper is particle based.
    • Lerc 12 hours ago
      Ok I'm confused now. So is this thing considered epaper, eink, both or neither?

      Is one a subset of the other? If so which is the superset?

      • y1n0 12 hours ago
        E ink is a trademark name for electrophoretic displays (magnetic particles) by the company also called E ink.

        E-paper is an informal category that anyone can use for any display type.

        The display in this video/article is also electrophoretic, but not all displays called e-paper are and it’s aggravating. An example: https://kentdisplays.com/products/color-epaper-displays/

        • 1317 10 hours ago
          if this display is one that everyone understands is epaper then what's the problem
          • mdp2021 9 hours ago
            > if everyone understands ... then what's the problem

            "E-paper" means very little. It may mean "static" (and yet not necessarily "bistable", not even necessarily "efficient"), it may mean "reflective"... It is a marketing term.

            So no, there is no real "agreed understanding" in it.

            • cubefox 8 hours ago
              It's not just a marketing term. Everyone agrees that it means reflective screen, with reflectivity somewhat approaching real paper.
              • mdp2021 4 hours ago
                > Everyone

                I would not be sure about that "everyone" - yes, clearly it should mean "reflective" (or similar, i.e. "improving visual conditions"), but it also may mean bistable or approaching that ("efficient"). (Paper has many different advantages.) Technologies to approach "better reading" features vary - in the tricks and in the gains. The term "electronic paper" is so slippery that in fact online news brodcasters can call their web distributed content (online news-/non/-papers and magazines) "epapers". All considered, avoidable term, unless we are clear about the point in the specific context we mention it.

                > not just a marketing term

                I meant, "so easily employable as a simplification for the customers".

    • cubefox 8 hours ago
      Technically true, but I'm pretty sure the great majority of "e-paper" displays are in practice electrophoretic displays, most of which are made by the company E Ink.

      Some 15 to 20 years ago there were a lot of other companies trying to create reflective (= e-paper) screen technology based on principles other than electrophoresis, some with native color or fast pixel response times, but they all closed shop.

      The only other major type of e-paper that is still used is simple reflective greyscale LCDs. These are not bi-stable but achieve fast pixel response times. The main disadvantage is that they have significantly worse reflectivity, resulting in rather greyish whites.

  • karim79 3 hours ago
    For e-paper and e-ink enthusiasts I would highly recommend my friend Larry's GitHub:

    https://github.com/bitbank2

    He has some crazy optimization work going on.

  • hiisukun 7 hours ago
    I've been reading on an X3 (small eink display driven by esp32), and although I don't need better display performance, it would be cool! I wonder how long until these sort of driver improvements for e-ink filter down to other devices.

    Great stuff.

  • novia 10 hours ago
    I know e-ink has a whole lot of limitations, which is what makes this video impressive, but, what were the limitations on the hardware used in the original gameboy screens that prevented them from remaining popular? Wikipedia says that they were STN LCD.
    • weltensturm 7 hours ago
      Transflective LCDs are used nowadays (as opposed to just reflective), my Pebble has one and the Daylight Computer is another modern device with one.

      They're great if monochrome IMO, but the color variants suffer with brightness as each subpixel can only reflect 1/3 of the light, which makes the backlight necessary in more situations.

    • cubefox 8 hours ago
      The original Game Boy and the Game Boy Pocket had very poor pixel response times, resulting in heavy ghosting, perhaps not much different from the ghosting achieved in the video. Later, LCDs fixed the ghosting, but LCDs never achieved the reflectivity of electrophoresis-based e-paper screens. Reflective LCDs are always more grey than white.

      LCDs are inherently transmissive rather than reflective (like the electrophoresis-based screens from E Ink) or emissive (like CRTs or OLED screens). To make them reflective, the ambient light has to go through the liquid crystals and a polarization filter twice, since it is only reflected by a mirror surface behind the screen.

      Unfortunately they are not strongly transmissive, so they absorb a lot of light, especially when it has to pass through twice. This is not a problem for LCDs with emissive LED backlights, because the light has to pass through only once, and LEDs are highly power efficient anyway, so you can just make them brighter. But you can't simply dial up the ambient light on reflective screens.

      • NBJack 2 hours ago
        I recall some Gameboy games actually took advantage of the slow response times for subtle effects. For example, in Metroid II, pausing the game results in a slow, subtle pulse of the whole screen. In reality, and emulators, the screen is just flashing pixels at such a rate that the transition of the old LCD naturally smoothes out the intensity over time.
        • cubefox 17 minutes ago
          I didn't know about Metroid 2, but the slow pixel response time was also used in Chikyū Kaihō Gun ZAS (a Japanese shooter otherwise known for being enormously expensive) to achieve transparent background layers: https://youtube.com/watch?v=c8wXaiaYGAg
  • somat 11 hours ago
    Perhaps a stupid question, But I always thought the whole point of e-ink displays was to have non-volatile display, that is, a mostly static display that persists when the power is out. These projects that focus on driving them at high speed, Is there any actual advantage in using e-ink tech at that point?
    • RossBencina 9 hours ago
      It's a niche use, but if backlit screens trigger migraines (as they do for mine), then high-speed e-ink is almost a pre-requisite for using traditional interactive UI. At ~15fps typing is OK but using a mouse cursor sucks. Outdoor use is a bonus. RLCD is another option.
    • kogens 10 hours ago
      Great readability in direct sunlight without needing to compensate with a powerful front/backlight is one good argument.

      Reading a book on e-paper in daylight is so much nicer than on a phone, for example.

    • versluis 5 hours ago
      In the video is explained that the reason to build this project was a faster response time. I would love a quicker response time on my ereader. The emulator is just a demo. He explains at the start and end of the video he is building a project with fairly static screens. It sounds like a project where using epaper makes sense.
    • mdp2021 9 hours ago
      > the ... point

      Is also "reflective" (natural) vs "emitting" (a compromise idea that worked but should not have you take it for granted - we do not "read fire" in nature).

    • sehw 11 hours ago
      They claim e-paper doesn't rape your eyes due to it being passive.
  • landgenoot 9 hours ago
    Why didn't the manufacturer invent this themselves?
    • anonymous_user9 8 hours ago
      Driving e-ink displays faster usually wears them out more quickly.
      • gsliepen 8 hours ago
        But that's not what's happening here. If anything, it's driving the e-ink display less. The main risk is that grays are not well-defined. Given a pulse train to get a certain gray level, that gray level might change over time due to aging of the e-ink panel, or it might change directly with temperature or other environmental factors.

        Another issue I heard, but I don't know enough about the physics of e-ink to know if this is correct, is that if you are at a gray level, the white and black particles are mixed and might exchange charge, thereby causing some particles to not move correctly anymore.

  • RossBencina 9 hours ago
    Awesome work. I wonder whether the four grey-level calibration could have been fully automated rather than keeping human in the loop.
  • larodi 12 hours ago
    Dither and LUTs - my best friends on ESP32 and paper. Great work also!
  • tomtomistaken 12 hours ago
    Amazing project, thank you! Keep us updated!
  • hobo123 11 hours ago
    Amazing. Now I want my Kindle to use this driver and run stock Android.