Skip to content
Martin edited this page Jan 9, 2021 · 46 revisions

CALE-IDF wiki

E-paper component driver for the ESP-IDF v4.0 framework and compatible with ESP32 / ESP32S2

CalEPD is the name of the epaper component and has it's own repository. This component supports 12 epapers, three models with 3 colors, and PlasticLogic models with 4 grays support. It also the only known ESP-IDF component that supports big multi-SPI epapers like Waveshare/Goodisplay 12.48 inches and touch panel interfaces.

Requirements:

  • ESP-IDF v4.3 or higher.
  • ESP32 test boards. For bigger Epapers like 12.48 inches a WROOVER-B with PSRAM
  • Epapers, SPI adapters, and some patience to connect this elements together

We are planning to add gray support for other einks but there are also DRAM memory restrictions so many will require an ESP32 with PSRAM capabilities for grayscale support. It's open for collaboration so feel free to add Issues and suggest a push request in case you want to make a correction or add a new model that we don't have. We will only add models that we have in our workbench, so if you really need to add a new epaper, you need to add it yourself or send to me the epaper and the SPI interface. Please open an Issue so we can track the implementation and testing of new models.

Team

Martin Fasani, C++ programming
Carlos Fasani, electronics, testing and SPI optimization

Latest news

  • Model plasticlogic021.h (2.1 inch) Epaper added. Partial update issues
  • Model plasticlogic014.h (1.4 inch) Epaper added. All 3 update forms work great in 1.4 & 1.1" from this manufacturer.
  • Model plasticlogic011.h (1.1 inch) Epaper added. Manufacturer is plasticlogic.com
  • New class gdew075T8 (640*384) is added to the supported epaper displays

CalEPD first tests

Eureka moment when the 2.13" Flex display class got his RAM Buffer filled and GFX displayed_

This repository is the start of a new CALE Firmware for ESP-IDF and it's also where CalEPD, a component to drive epapers, is built and tested before landing in the it's own repository.

That way it can be used for another projects as a submodule.

CalEPD requires

Adafruit GFX as a component.

Development is still in course

I'm working every weekend and some nights in order to finish version 1.0 as soon as possible. But the good news is that the first drivers are already testeable on the last days of May 2020. And there are instructions coming so you can add your Epaper module too.

The goal is to support most Epaper displays that are >= 400*300 pixeles including:

Both in b/w and with their Black/Red Black/Yellow variants. A little note about this two.

It come my attention that I asked for the Controller for a 12.48 inches epaper to Waveshare and I got the following response:

"We are unable to offer you data about the IC controller of the e-paper, according to our engineer."

A bit more research confirmed why: And of course I found what controller it uses. But I also realized that Waveshare, apart of making great hardware in the Eink division is mostly an agent reselling Good display epapers, and adds electronics on top to make our lives easier. That's the reason that GxEPD classnames all start with GDEW*. So it's useless to write an email to Waveshare asking for support with epaper Controllers, just check the Good Display page and download the examples provided for different platforms. Good Display has a very nice and helpful support that heavily contrasts what I experienced trying to ask questions to Waveshare. Note: This applies to most of their epapers but not all of them, some like the 7 colors is for sure from another manufacturer. As always, they won't reveal what Controller it has, so I'm not going to loose my time fighting with the unknown when that are the preambles </rant ends>

If this sparks your interest you can read more about this EPD driver in the CALE-IDF section.

Please note this is meant to work only with ESP-IDF if you are using Espressif32-Arduino framework just check out GxEPD library that has many good examples and supports most common Eink displays.

Clone this wiki locally