I am working with a group at my school and our task is to basically create an electronic post-it note that can be updated from anywhere using Wi-Fi. We Chose to use the Photon connected to a Waveshare e-Paper 4.2inch module while being powered by a 4300mah lipo battery.
We have our code working with a function that lets us send a message to the screen using either the app or the function call in the console. However, we are having some power consumption issues. One of the main constraints for our project is low power consumption and we are having trouble getting the screen to update quickly. For some reason the screen takes up to about 15 seconds to update before the message is displayed.
I have attached our code and a quick video to show what the screen looks like when its updating. Please let me know if you have any clues as to how we can fix this! Thank you
What library are you using for the e-paper display? [Edit: I see from github you are using GxEPD2]. Also, what is the model number for the display? [Edit: 420C - 3 colours]. The issue with some e-paper displays and certain driver software is that they can take a while to update and 15 seconds is not unusual. Generally, Black and White rather than 3 colour displays are quicker and displays with partial update support will allow a smaller area of the screen to be updated much quicker as well.
I just ordered and received an Adafruit 3-color e-ink display, and was very disappointed to learn that it can only be written to every three minutes, lest it might be damaged! The heck.
That sounds a bit disappointing. I bought a couple of 2.13" W/B/R displays and one 4.2" W/B/R - was disappointed at the update speed and then did some research I should have done earlier. I thought the issue with 3 colour e-ink (according to a helpful Good Display sales person) was that if an image is left on some of them for >24 hours it can become permanent - the issue is called ghosting. This can be managed by clearing the display to all white at least once every 24 hours. Newer displays have faster update times but the display transfer process with 3 colours always takes longer. I can’t put my hand on it right now but I have seen a table that outlines the update speed for different displays.
The driver software might be part of the issue. The GxEPD2_PP library has come from the Arduino/micro controller world with very restricted RAM and hence it uses a paged display model and is limited by the SPI bus speed the display can handle. If the display you have is a Good Display model then you might want to visit their website www.good-display.com and download a simple driver example to get an idea of the fastest the display can update.