GxEPD2_PP : Particle Display Library for SPI E-Paper Displays

I have sent an e-mail to Good Display to ask if they are willing to sponsor me with a GDEH0213B72 panel, to support it in my libraries.

If I get a GDEH0213B72 panel, I will support it in my libraries.
Otherwise I am not willing to put any effort in this.

They have been very responsive and supportive to me. Whilst you are awaiting a reply from Good Display - would you be able to answer my 2 questions:

  1. for the 4.2" BW display > To clear this to the background is there something I should use like this;

display.drawImage(GxEPD_WHITE, 380, 278, 24, 24, false, false, false); ?

Is there an obvious reason why the GDEH0213B72 display is showing as bottom to top rather than top to bottom?

Just looking for something I can narrow my search to fix it - like this is set by a command 0x11 for data entry sequence?

To answer question 2 - I found that in GxEPD2_BW.h _reverse = true; in the constructor solves the issue. In the original code you had set this true if the panel was a GDE0213B1.

I will now move onto debugging the partial update mode as this does not appear to be working. Probably to do with the initialisation commands and data - I am seeing no output.

I’m having a blast playing around with https://rop.nl/truetype2gfx/ - easy way to change the font to a custom front.

The only issue is that the resolution could be better on some of them. Is there a way to increase the resolution and get some sharper and more crisp characters?

1 Like

I have published Version 1.1.0.

  • corresponds to GxEPD2 Version 1.1.6
  • added support for GDEH0213B72 2.13" b/w, replacement for GDE0213B1

I have tested compile, upload and execution with Particle Desktop IDE.
Testing with Particle WEB-IDE was not possible, as selection of the library hung on Loading…
I have no time to find out why the Particle environment doesn’t work for me.

The e-paper panel GDEH0213B72 is the first free sample I received from Good Display.
I had asked for a free sample, as the GDE0213B1 is no longer available.

I thank Good Display and Waveshare for making affordable e-paper displays available for the Arduino community.

Jean-Marc Zingg

4 Likes

I finally completed one of my goals with the e-ink display

Thank you so much @ZinggJM :hugs::dizzy::coffee::clinking_glasses::rainbow::tada::confetti_ball:

(another goal is to print some photos via the internet - but that don't seem to possible)

3 Likes

Printing photos via (from) the internet would require 1. an http: site with 2. photos in .bmp format since conversion of .bmp to display on the e-ink displays is possible - just a lot of processing.

Nice project.

Just seen this post - I am glad Good Display gave you a free sample to develop against.

Something must have gone wrong with the library. When I tried to open it (from Web IDE), I just see Loading… other libraries are OK.

Thank you all for the feedback, it is a pleasure to learn that this library is useful and used on the Particle platform.

Please note that I also have published a version of GxEPD2 for Particle, there is now a common source on GitHub, only the example(s) are different. The example for Particle is under extras/Particle on GitHub. This version also does not load in the Particle WEB-IDE.

@Norfeldt
GxEPD2 has an example GxEPD2_WiFi_Example for loading bitmaps from the WEB. It uses the classes WiFiClient and WiFiClientSecure. It should be quite easily portable to the Particle environment, but I don’t have the time for it.

@armor
The failure to load in the WEB-IDE is known and reported in my post above. You need to use the Desktop-IDE instead. Most likely the library has too many files for the WEB-IDE now; I didn’t have the time to investigate.

Whoever wants to investigate the WEB-IDE loading issue can compare the versions on GitHub, and/or load a previous version as private library. I learnt that you can simply upload a private library, for test or as replacement for a published library.

For me it is every time an abnormal amount of effort to test and verify a version for the Particle environment. So the published versions for Particle will usually lag behind the Arduino Version.

It would be desirable to have a paged organisation of forum topics, as in the Arduino Forum, to avoid the unpleasant scrolling to the end of a lengthy topic!

I find the here used Discourse approach superior to the paging approach.
By means of the "scrollbar" on the right side of the thread, you can quickly navigate to the desired post without having to scroll over and load the intermediate ones.
image
Just grab the thumb (e.g. 77/77) and drag to where you want and release it at the post you desire. I find that to be quicker and more intuitive than the paged approach used by the Arduino forum.
You even get immediate feedback what post number and what posting date you would find yourself when you let go of the handle.
This all-in-one approach also makes searching in one topic simpler (IMO).

1 Like

@ScruffR, thank you, I hadn’t discovered that “thumb”, it works well, and I can get fast to the end.

I admit that I am prejudiced in favor of the Arduino Environment, as I use it daily, whereas I rarely use the Particle Environment.

1 Like

I understand. Thank you again for making it possible to use ink-display with particle devices.

Hosting .bmp files wouldn't be a problem - it's how to transfer it to the device (currently I use web-hooks and REST calls - so only strings of certain length allowed)

Hi Norfeldt, I think you misunderstood my post.

An example is there for users to learn from and adapt to their needs.
I thought you could easily find out if there exists something similar to WiFiClient for Particle, or get help for this in this forum. I do not decline to help you, but you could start with searching on Particle.

GxEPD2_WiFi_Example

Jean-Marc

I have started a topic in this forum to get help for me to help:

2 Likes

There are numerous httpclients in the library and now httpsclients so strike requirement 1.

I have done a HTTP download to an SD card of a .bmp file but never got around to getting it to work for HTTPS.

It should be possible to combine the GxEPD2_WiFi_Example (where all the hard work in processing the .bmp format to write to the EPD has been done by Jean-Marc) with the httpsclient to get something that can would on the Particle platform.

Version 1.1.0+

  • added GxEPD2_PP_WiFi_Example, for bitmap download from web
  • only download from http: works, would need help for https:
  • only on GitHub, to avoid the need to increase the version for publish
  • this is preliminary!

Your example code has been a big help for me and I have used it to print the quotations with different colors.

It's just that this example is over 1300 lines of code and I'm not so good at Arduino code at this level - I'm much stronger with JavaScript.

I thought that it would be too big of a question to ask for help with this example on the community - since it would essentially be "can you help me to code this for me?".

I don’t know your exact requirements, but maybe you just need the function showBitmapFrom_HTTP() from the GxEPD2_PP_WiFi_Example to start with.

You are right, that seems like a good start.

I was thinking of using Firebase storage to host the .bmp files (and Firebase functions to do the conversion from .jpg to .bmp via JIMP) - that would use HTTPS.

But just to get some experience your example would be an excellent start.

Has anybody here used this version of the Waveshare display?

I’m wondering if the library will drive this display or if it’s incompatible?