Esp32 + waveshare e ink 3,7 inch

Hi,

I'm a rookie. Nico, 42y, Rennes, France.

I want to make a eink works.
I'm trying to do it from 3 days. I'm learning code since 4 days by myself :joy:

test blink on esp32 works
i'm trying to compile a code for waveshare and there is the error :slight_smile:

Arduino : 1.8.19 (Linux), Carte : "ESP32 Dev Module, Disabled, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, Core 1, Core 1, None, Disabled, Disabled"

ATTENTION : La catégorie 'Sound' dans la bibliothèque ESP_I2S n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Sensor' dans la bibliothèque ESP_NOW n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Sound' dans la bibliothèque ESP_SR n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque ESP Insights n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque ESP RainMaker n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque TFLite Micro n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque WiFiProv n'est pas valide. Définition sur : 'Uncategorized'
In file included from sketch/GUI_Paint.cpp:78:
sketch/GUI_Paint.h:81:10: fatal error: ../Config/Debug.h: No such file or directory
   81 | #include "../Config/Debug.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Erreur de compilation pour la carte ESP32 Dev Module


Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Linux mint on macbookpro 13' mid 2009 + esp32 + arduino 1.8.19 + waveshare 3.7inch e-PAPER HAT

Can you explain me what I have to do please ?

Welcome to the forum

As your topic does not relate directly to the installation or operation of the IDE it has been moved to a more relevant category of the forum

Hi @couscoussiere.

Did you write this code yourself, or is it something you found on the Internet?

If you found it on the Internet, please post a link to the web page where you found the sketch. That will allow the forum helpers to examine the code, and also any associated resources that might provide important context.

hello, thanks for your answer.

From examples of library from

I see you are using the "Arduino_R4" sketch:

I tried compiling it and did not encounter that error. This makes me thing that your copy of the sketch is corrupted in some way. The sketch consists of multiple files, which are organized into subfolders. All those files must be in the locations established by the developers of the sketch. If you tried to download the files individually, you might have missed some, or might not have replicated the correct structure.

You can ensure the correct structure by downloading the full content of that repository from GitHub. Unfortunately the repository is an utterly ridiculous 317 MB :unamused_face:. In order to save you and any other forum helpers who might like to assist from having to download the full repository, I will attach a ZIP file of just the "Arduino_R4" sketch alone:

Arduino_R4.zip (723.6 KB)

Please try this:

  1. Click the "Arduino_R4.zip" link above.
    Your web browser will start a file download.
  2. Wait for the download to finish.
  3. Extract the downloaded file to any convenient location on your computer.
  4. Start Arduino IDE.
  5. Select File > Open... from the Arduino IDE menus.
    The "Open an Arduino sketch..." dialog will open.
  6. Select the Arduino_R4.ino file from the extracted folder in the dialog.
  7. Click the "Open" button.
  8. Select Sketch > Verify/Compile from the Arduino IDE menus.

Hopefully this time the compilation will be successfull.


You should note this:

https://github.com/waveshareteam/e-Paper/blob/master/Special%20Reminder.txt#L5

The program in the Arduino_R4 folder in this program package is written based on the Arduino UNO R4 Minima development board and supports the Arduino UNO R4 WiFi development board. Does not support ESP32, ESP8266, Arduino UNO R3 and other development boards; To use the Arduino UNO R3 development board use the program in the Arduino folder

So, even after you manage to compile the "Arduino_R4" sketch, it is not at all certain that it will actually work on your ESP32 board.

The " WaveShare" developers provided the following information regarding ESP32:

https://github.com/waveshareteam/e-Paper/blob/master/Special%20Reminder.txt#L2

ESP32 development board use: https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board

Thanks a lot for your answer !

The lib does not here. Nothing in tool/sketch/lib. Arduino does not see the files.

Arduino creates a library folder here
home/Arduino/libraries

when I want to compile, soft tells me there is no file from lib.

The link you gave me, i'm not sure I've the same stuff. The link you gave me is for an ESP32 for e-ink no ?

I do not find sketch for e-ink via esp32.

Keep looking

Please follow the instructions I provided in post #5 exactly. Make sure to read them very carefully. If there is something you don't understand in those instructions, let us know.

Which link? My post contains multiple links.

Please make a stronger effort to communicate clearly. You are being very vague in your posts. You might think you are saving time by quickly typing a low quality post, but I can assure you that it is just the opposite.

Yes you right.

I'll try to make goods returns now.

Hard for me but i'll try.

Hey,

so I did 100% what u wrote in post 5. It does not work.

this link shows another board than mine. I dont understand.

And it's clearly written, the sketch you gave me Arduino_R4.zip to dl does not work for esp32.

Sorry for my newbie questions...

Could be better to start with arduino R4 board no ?

there is what happen when I want to compile your file

Arduino : 1.8.19 (Linux), Carte : "ESP32 Dev Module, Disabled, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, Core 1, Core 1, None, Disabled, Disabled"











ATTENTION : La catégorie 'Sound' dans la bibliothèque ESP_I2S n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Sensor' dans la bibliothèque ESP_NOW n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Sound' dans la bibliothèque ESP_SR n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque ESP Insights n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque ESP RainMaker n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque TFLite Micro n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie '' dans la bibliothèque WiFiProv n'est pas valide. Définition sur : 'Uncategorized'
sketch/src/Examples/EPD_2in13_V2_test.cpp:31:10: fatal error: ../e-Paper/EPD_2IN13_V2.h: No such file or directory
   31 | #include "../e-Paper/EPD_2IN13_V2.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Erreur de compilation pour la carte ESP32 Dev Module


Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

I see the problem now. There is a bug in the code. The filename specified in that #include directive is EPD_2IN13_V2.h, but the actual filename is EPD_2in13_V2.h. Note the different case of the IN in the first filename vs. the in in the second.

I happened to be using Windows when I tested the sketch. Windows has a case-insensitive filesystem, so even though the #include directive is wrong, both filenames are technically equivalent as far as Windows is concerned and so the bugged code is able to compile. But the Linux operating system you are using has a case-sensitive filesystem, and so the compilation fails for you.

The WaveShare developers must have been using Windows, and so did not notice the effects of their sloppy work.

There are a large number of occurrences of this problem. You will need to go through the code and correct the filename case in every #include directive.

The board is different, but it uses the same ESP32 microcontroller. So code that is written for the WaveShare "E-Paper ESP32 Driver Board" will likely also be usable with your ESP32-based board.

I don't have a definitive answer to that question.

The Arduino framework is designed to allow a given Arduino sketch to run on any board (so long as the hardware has the requisite capabilities), as long as the sketch only uses the high level API of the standardized Arduino core API and libraries.

However, some sketches and libraries use more low level code that is specific to one microcontroller architecture. Those libraries only work with boards that have one of the microcontrollers the author of that code targeted it to.

Likewise, the developers of the cores and bundled libraries of the platforms that add support to Arduino IDE for specific boards have deviated from the standardized API (whether intentionally or accidentally), and those deviations can also result in incompatibilities between certain code and a given board.

So we can't always count on being able to use any sketch and any library with any board.

The best chance of compatibility comes from using a board the developer of the code has explicitly stated their code is intended to be used with. Since the WaveShare developers have stated that their code is intended to be used with the UNO R4 Minima and UNO R4 WiFi boards, that does give a good level of confidence that the code will work with those boards. However, the realities of the code doesn't always match the claims made in the documentation. We have already seen clear evidence of the sheer incompetence of the WaveShare developers. Beyond the immediate amateur level errors we discovered, the code is quite convoluted and disorganized, which indicates the project is not being managed in an ideal manner. So we may have some doubts about any claims they make.

That said, the UNO R4 Minima and UNO R4 WiFi are very nice boards. It is likely you would be able to use either of them in all sorts of other amazing Arduino projects even if you did find that you were unable to get them working with the e-paper display specifically.


Something you should note is that there are often multiple options of Arduino libraries and sketches supporting a given display. So you should not become excessively focused on this specific sketch you found if you discover it is not well suited to your project. With a bit of searching, you might discover better code for this display elsewhere on the Internet.

Hey,

so I did 100% what u wrote in post 5. It does not work.

Hey,

so I did 100% what u wrote in post 5. It does not work.

Wouahouuuuu what an aswer.

Thanks for all and thanks to u to don’t be sarcastic with a newbie :slightly_smiling_face::+1:

I was desapointed with my esp32 so i've bought an arduino R4 wifi. I've found it earlier today.

Download arduino ide v2, clean older version. Ive made some test (blink led and serial monitor to check the board’s answer, everithing was good.

When i've tried to plug my screen I'Ve just check voltage from the board. 5v and the screen wants 3.3. I'd the idea to take the 3.3 from esp32 but ther is not only ONE GPIO 5v but all digital pins from the board are 5v... :joy: to late to get back in town but i'll buy a "dimmer" or something like that or use a led to get 3.3 instead 5v.

It was hard for me because Uno R4 has worked perfectly for the 3 things I've asked.

Thanks a lot for your support !

Nice!

Are you sure of that? You are wise to consider whether the display is rated for the 5 V logic level of the UNO R4 WiFi board. However, from looking at the WaveShare documentation it seems that it is fine:

https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Hardware_Connection_2

Hardware Connection

Use an 8PIN cable to connect, please refer to the pin correspondence table below:

Connect To Arduino

e-Paper Arduino UNO Mega2560
VCC 5V 5V
GND GND GND
DIN D11 D51
CLK D13 D52
CS D10 D10
DC D9 D9
RST D8 D8
BUSY D7 D7

https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Question_about_Hardware

Question: Can Arduino 5V drive the e-Paper screen?

Answer:

  • Yes, now there is a level conversion chip onboard, supporting a 5V drive.

You are my sunday goat.

I dreamt 100% what are you saying me in your answer.

My project is really cool !

I'm singing "sunday morning" from Velvet in my head now :sun::sun::sun:

Sundaaaaaaay Morniiiiiiiing :joy:

Thanks !!!