Go Down

Topic: Using E-Paper Displays (Read 171 times) previous topic - next topic

epicface2304

Hello all!

I have been doing some research on e-paper displays for a DIY e-reader. Because I wanted a larger display (>8in), I started to look at displays like these:

- 8 inch e-paper
- 9.7 inch e-paper

But I've been having trouble understanding how they work. They both use the HX8705-B driver (datasheet here), but I can't figure out how on Earth do they work? From my understanding, the driver acts like a multiplexer/gate driver. Does that mean I have to create my own waveforms for the e-papers? If so, how do I figure out what waveforms to use and how do I implement it all in a microcontroller?

I get that there are no standalone Arduino boards that can even remotely support this display (in terms of RAM usage), because the smallest display requires at least 768K of RAM. I'm thinking that I can use this with an ESP32 with external RAM.

This is a confusing topic to me. Any help would be greatly appreciated.  :)

Sincerely,
epicface2304

GoForSmoke

Interface is parallel port. You won't be sending waveforms but rather digital data.

You don't have to fill 768K to write to the screen and you don't need 768K of RAM to pull data off SD and deliver it via parallel port however ---- no Arduino has a parallel port. You can make a Mega2560 or a 1284P emulate one but will have to add circuitry, parallel ports are 12V and have 25 pins though you might not need them all.

Guarantee: no AVR Arduino can fill that screen with image fast. Text, it can make text fly but not images.

1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

epicface2304

Does the driver automatically refresh the display? What I meant by waveform was the AC voltage being sent to specific pixels to refresh the display. From what I know, epaper displays require a dual buffer because you need a different driving pattern to change between different pixel states, i.e. b->w has a different driving pattern compared to w->b.

GoForSmoke

What AC voltage? Something internal to that display or driver? Arduino does not do AC.

That display alone is $88 and a bit light on documentation in English. I won't be getting one.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

epicface2304

Epaper displays consist of colored charged particles suspended in an oil capsule. There is a metal panel below the oil capsules which when applied with a voltage, attract certain particles. In order to drive the display, you need a 40 volt AC voltage. I could use a boost converter o generate that voltage and an h-bridge to make it AC. I was wondering exactly how to use that AC voltage alongside the driver to get an image.

GoForSmoke

I expect all of that to be contained within the module and controller board with the 40V AC confined to the display module. If it needs to switch patterns and doesn't do that through harware logic then someone should make a module that does. But I doubt that step was missed.

Principles of Operation are all fine to know about but that module already deals with the gnarley bits, check and see. For one, there's no mention of 40V or AC in any of the -product- datasheet. For another, the interface is a parallel port.

I can go no further.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

epicface2304


GoForSmoke

You might think of modules as libraries made of hardware. Do you know of the details of using the serial port when you use Serial.print()? I don't! I just use it!
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

Go Up