Skip to content

Building epdiy using Arduino IDE

Martin F edited this page Sep 3, 2023 · 10 revisions

Adding epdiy as an Arduino library

Please use latest branch, still not merged: s3_lcd, since there are the latest updates (soon in master) Add it as a library navigating to that folder, in mine since I use Linux, is the following:

/home/martin/Arduino/libraries (Depending on your OS this can be different)

There entering by command line, clone the repository:

cd /home/martin/Arduino/libraries
git clone https://github.com/vroland/epdiy.git
// Let's switch to our desired branch
git checkout s3_lcd

That's it! Restarting the Arduino IDE you should already have the epdiy library installed and you should see examples.

BOARD and Config settings:

  1. Make sure you have the latest board updates from Espressif. Just open Boards Manager and search "Espressif". Then update to the latest version of ESP32 by Espressif Systems (At the time of writing this: 2.0.11)
  2. If you are using the latest epdiy v7 then you need to use ESP32S3 with PSRAM. And also an additional important setting: Tools -> PSRAM -> OPI PSRAM

Updating the cache line size to 64 bytes

cd .arduino15/packages/esp32/hardware/esp32/2.0.11/tools/sdk/esp32s3/

Attempt to add this to the sdkconfig editing the file and adding manually in the sdkconfig file:

# Comment this line
#CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y 
CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y
CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64

Sadly even trying to set this data cache line size this is not working correctly for Arduino IDE.

Temporary solution:

Downgrade the speed on src/displays.c for the displays you are using. Example:

const EpdDisplay_t ED097TC2 = {
    .width = 1200,
    .height = 825,
    .bus_width = 8,
    .bus_speed = 22, // 16 works with data cache lines 32 bytes (Arduino IDE)
    .default_waveform = &epdiy_ED097TC2,
    .display_type = DISPLAY_TYPE_ED097TC2,
};

This display works super fast using 22 Mhz parallel bus_speed in ESP-IDF v5. But will only work at 16 Mhz using Arduino IDE latest esp32 package.

Clone this wiki locally