I made a video about this, if you want to watch it: YouTube (EN) or Bilibili (CN)
The following is the transcript of the video:
Transcript
Hello everyone! Last week I posted a video on reverse engineering this long bar type Eink screen. I mentioned you could categorize Eink screens into 2 different types, one with controller and one without. Last time the screen I reverse engineered has the controller, but of course there are tons of controller-less screens out there. So but this time, I have a screen in that category. A quick recap, the big difference is that with controller, it has internal RAM so you could use a micro-controller to send image through slowly, usually over a serial bus like I2C or SPI. But for screens without controller, it doesn’t has internal buffer so the processor or an external display controller has to send the image at the screen refresh rate consistently, usually over a parallel bus. What it means that, pretty much all controller-less eink screens uses the same protocol, so I only need to know the pinout to use a generic driver to drive them. Kind of like VGA. Let’s get started.
So first looking at the screen, this is a 6 inch screen, with the model number ED060XC8. I have already looked up online but didn’t find any specifications or pinout, so I have to figure out myself. I didn’t talk about this last time, but let’s take a look at what this model number means.
ED060XC8
The first letter E means normal Eink. Other possibilities including P, which means LCD, and A which means ACeP.
The second letter means the specific type,
- D is normal glass based screen,
- T and S are flexible screen,
- L is black/white/red screen,
- C is full color screen.
The next 3 digits represents the diagonal size, 060 means 6 inch, 312 would mean 31.2”.
The next letter represents the resolution. Note they use T for everything non-standard
- V - 640x480 (VGA)
- W - 800x480 (WVGA)
- S - 800x600 (SVGA)
- X - 1024x758 (XGA)
- K - 1448x1072
- U - 1600x1200 (UXGA)
The last 2 is somewhat related to revisions and generations, but I don’t know the details.
So from the model we know that this is a 6 inch screen with 1024x758 resolution. What’s next? This screen uses a 35pin connector, while other 6 inch screens usually use 39pin or 34pin connector. Based on my search it seems like the only other screen uses this connector is ED060TC1 used on Kindle Voyage. I don’t have one, but one potential solution is to buy a Kindle Voyage, use multimeter and logic analyzer or oscilloscope to reverse engineer the pinout, then hope these 2 screen has the same pinout. Or is there another way? Maybe. While it uses the different pinout compared to other 6 inch screens, it might still uses the same chip. Even if I don’t know the pinout of the chip, because I don’t know what chip it is, I could still derive that from the screen pinout from a screen with datasheet. Then we do the same trick as last time, tracing the FPC to get the pinout.
That’s exactly what I have done, I happen to have another 34pin screen with datasheet, that looks like uses the same driver chip. This is an ED060XC3 used in Kindle Paperwhite 1. The next steps are straight-forward, scan both screens, tracing the FPC connections, and now I have a pinout for this screen!
As a sanity check, I can use the multimeter to make sure all the signal lines are indeed connected somewhere.
But to really know if this is correct or not, is to try it out. So I designed a simple adapter board using KiCAD, got it built at JLCPCB, then soldered it. Now I can hook that up to my Eink driver board for testing. I will talk about the driver board in another video in the future. But for now, it just works. The code I had in the board was for a 13.3” inch screen with much higher resolution, but as you can see it also just works fine. Obviously the image got cropped off, but this shows my previous point that for controller-less screens one don’t absolutely need a screen specific driver to get started.
This is about this video. If you liked it, please consider like and subscribe to the channel, or support me on the Patreon, and I will see you next time.