This is an follow up For the previous post in which i demonstrated how you can drive kindle E-ink display with a microcontroller.
previously i was using a MSP430FR5739 , which is really low power mcu but has very little RAM and bit low speed to do anything related to graphics. E-ink has 800×600 pixel resolution so it required minimum 60Kbyte of RAM to store Frame Buffer. although you can easily getaway without frame buffer by directly doing incremental drawing on to screen but there are few issue in that because of the way E-ink display works. one more issue with there with MSP430 , it has very low program memory so we need some sort of external memory to store font data and icons.
so i have decided to use PIC32 microcontroller , PIC32MX795F512H to be exact. which has enough of ram and flash can go up to 80Mhz. which is more than enough for our purposes.
Schematic E-ink Driver
Figuring out schematic was very easy as there are may service manual available of e-readers . one of them is Sony PRS-505 , i have ordered one old bad battery one from ebay took it apart and good thing about this e-reader there are test points available for every single point we need. Schematic available from my github account with link
Schematic from service manual describe ever test point , so i just soldered few wires to
My schematic has basically no change since FPGA driver board , except VCOM voltage Opamp Circuit.
Wave form Reverse Engineering
Image give blow , show a complete screen change. it consist of 38 individual frames .
One Full Screen change
one frame (First) from 38 Frames Required for screen change
Start Of one frame
Start of One frame Zoomed
|one line writeof 800 pixel
|End of Line Write
Schematic MCU Board
Processor board schematic is From my old project , download pdf from my github accout
Outdoor Temprature Sensor ,
as you can see on screen there are two Temperatur readouts . one of them on the top comes from local Temperatur sensor another one comes from a Wireless temperature sensor. which i build in previous project.
as there is no user interface , i have serial port running at baud 115200 available to configure time.
time setting application is written in C++ with qt 5 . source is available in the github repo
Firmware Source available on my github account. i am using xc32 compiler free version with optimization enabled to O1 level , this is maximum allowed with Free compiler.