I unfortunately found this out after buying 20 panels There is a GreyScale version of the 4.2" which according to waveshare support, does support partial refresh.
I have the 4.2" RAW panel. it is 400 x 300 pixels
400 x 300
I suppose monochrome is ok. the idea was just to use color from some detail to make it look better, but at this stage (as much as I love aesthetics) functional needs to be top priority.
As I mentioned, coding is my achilles heel, but I have a special level of dislike for displays in the best of scenarios This EPD just took it to a different level. The VERY limited number of fonts and sizes also blows my mind.
I have successfully worked with smart displays (4D and Nextion) but in this case battery life was an issue.
Thank you for all the help Paul, it is much appreciated!!
@friedl_1977, the grayscale version of the display supports a 4s full refresh rate and (faster) partial refresh. However, the Waveshare panels have a limited life:
Also:
When using the e-Paper display, it is recommended that the refresh interval is at least 180s, and refresh at least once every 24 hours.
If that works for your application then I would use the GxEPD2 library (which supports this display) since it uses the Adafruit_GFX library which supports lots of fonts (including custom ones) and has great community support. You do have to remember, however, that the bigger the font, the more flash storage it takes so you have to plan the fonts you use carefully.
This panel use 2 bytes per pixel to support 4-level grayscale, needing 30K of RAM for a full screen buffer, not unlike the 3-color panels.
If you want to use this panel, I can certainly help you with it though we should start another thread for that.
Unfortunately I already bought 20 of the other panels. This project has been plagued with issues all stemming from this display. It also cost me three reworks of PCBs in which the only problem was a lack of proper support. I am afraid buying 20 new panels is not within the budget sadly
Thank you for the offer though!! I will still try to make the GxEPD library work as soon as I have all the other components of this design working as intended.
@friedl_1977, I just ordered the grayscale version of the display but it uses the same underlying controller as the displays you have. I should get it tomorrow. However, I'll be away next week so I will only have a day or so to work on it before I return. I intend to get it working with GxEPD2 also.
Ok, so I changed my order to the same 3-color unit you have and will work on using the GxEPD2 library with it. The catch is that I will only get it some time between Feb 20 and Mar 4. Is that timeframe too late for you?
Also, can I assume you are using Workbench to develop with? My intention is to use the newest version of the library, not the ones in the WebIDE. If the timeframe is too long, I can get the latest GxEPD2 configured and compiling for your display and get you some code to test with.
I will finish the rest of the firmware in the meantime, there is quite a bit happening. I still need to order the B404x's from Particle as well as have the new enclosures 3d printed professionally, so that will take some time to arrive as well.
I am yes. Moved away from WebIDE quite some time ago. Just seems like a more compressive IDE.
This can work as well, which ever is easier for you. My challenge usually with the Adafruit display libraries are all the dependancies. Seems like going down the rabbit hole. Of course there is a high probability that it is me doing something wrong
@rickkas7's Adafruit_GFX_RK library is straight forward with no external dependencies though I will check against Adafruit's latest. The fonts make up most of the files.
@friedl_1977, I staged the code as a github repo. The code is a demo configured for the Waveshare 4.2" color e-paper. However, I am not convinced the deepSleepTest() function will work as expected since the display does expect to be re-initialized after it is hibernated as per datasheet: