Hi. Today I introduce memory block with SD card and serial RAM of the EPD project.
The SD card is very useful to stock the data like an image data and audio. These data is too huge to stock on flash ROM of microcontroller. And also we can change the data anytime with the PC after the program was written on the microcontroller.
The ESP8266 Arduino library has a SD card library. So we can use SD card easily. The wiring is simple too. The only 4 wires of The SPI and CS connect with ESP8266 and SD card like a figure below.
But I met a problem. The program was stop infrequent when it accessed SD card. I added pullup resistor at SPI wires. Don’t add it at CS because CS connected IO15 of ESP8266. IO15 is needed to keep Low level when ESP8266 is booting. So IO15 was connected pulldown resistor yet. The added pull up resistor circuit is below.
Then the problem is solved.
It was no needed if the image data was read quickly from SD card.
The EPD have to repeat writing the same image many times because it cannot change the color well only one time writing. It was needed to write repeat at least five times or something.
The read time was around two seconds the 800 pixels by 600 pixels monochrome bmp image data from the SD card. I have to wait around ten second for finish the image writing on EPD.
So It needed cache the data on memory for writing faster but ESP8266 had no much memory space because the image data size was 60kBytes. I added 1Mbit serial SRAM(microchip 23LC1024) as the cache memory. It can keep two screens image data. The circuit is below.
The time is around 0.2 seconds to transfer data from serial RAM to EPD. It needs only one second to repeat writing five times on EPD. It is nice.
So the program is consisted two parts. First, the image data is read from SD card and written to serial RAM. Second, it is written repeat five times on the EPD.
The time of writing on EPD is around three second.It is faster over three times than the no serial RAM.