Notifications
Clear all

Problems with LilyGo e-paper

36 Posts
4 Users
1 Likes
831 Views
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@christine86 If you could send me the entire compile log, not just errors I can try to determine what the heck is going on. I understand you will take the approach of using either Win or *nix to prove/disprove the sample code for your purposes but if you send me the original compile log I can try to determine what is wrong if anything with regards to Macs and possibly raise an issue with the authors.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@dronebot-workshop @christine86 Normally I hate to recommend this, but it will help to pinpoint what the cause of the errors are. Rename Library/Arduino15 (so we can see what's different) and re-install the IDE, and boards. First take a copy of the 'Additional Boards Managers URL' though.

I just tried the 'button' sketch on Win10 and no issues. Also no issues with my M1 Mac (current).

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Christine86
(@christine86)
Member
Joined: 4 years ago
Posts: 45
Topic starter  

@Dronebot-workshop I downloaded the usb-UART driver from Silicon Labs

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads

Restarted the mac, then wound back the ESP32 by Espressif to 2.0.11

Changed board to ESP23 Dev Module NOT ESP32S3 Dev Module

Turned on PSRAM.

From there, "Button.INO" compiled, loaded & is running on the 4.7inch LILYGO e-paper screen here as I write this. Certainly harder than I thought it would be, and as Lilygo would have you believe.

IMG 1343

 

 


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@christine86 Glad to hear you are making progress, but sad to hear you are now stuck with a back release. As mentioned, I have successfully compiled with an M1 Mac Air and Win10 with an esp32s3 board selected and ver 2.0.14. Since you mention the board and version, I assume using the correct board and/or the latest ver does not work. If you could post the compiler output of the latest ver and the correct board, it would help Bill and me to identify the problem in case others encounter it.

 

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Christine86
(@christine86)
Member
Joined: 4 years ago
Posts: 45
Topic starter  

Here's the output;

Sketch uses 480133 bytes (36%) of program storage space. Maximum is 1310720 bytes.
Global variables use 23944 bytes (7%) of dynamic memory, leaving 303736 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port /dev/cu.usbserial-0242F6CA
Connecting.........
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 34:ab:95:5e:50:54
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00085fff...
Compressed 18992 bytes to 13112...
Writing at 0x00001000... (100 %)
Wrote 18992 bytes (13112 compressed) at 0x00001000 in 0.4 seconds (effective 375.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 513.1 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 732.3 kbit/s)...
Hash of data verified.
Compressed 480848 bytes to 319104...
Writing at 0x00010000... (5 %)
Writing at 0x000180ca... (10 %)
Writing at 0x0001c1bd... (15 %)
Writing at 0x00020a1c... (20 %)
Writing at 0x00024b09... (25 %)
Writing at 0x00028bd8... (30 %)
Writing at 0x0002cc2b... (35 %)
Writing at 0x00030c66... (40 %)
Writing at 0x00034c9b... (45 %)
Writing at 0x0003f871... (50 %)
Writing at 0x0004b9fd... (55 %)
Writing at 0x000511fc... (60 %)
Writing at 0x0005689b... (65 %)
Writing at 0x0005bdf3... (70 %)
Writing at 0x000611e3... (75 %)
Writing at 0x0006667b... (80 %)
Writing at 0x0006cc7d... (85 %)
Writing at 0x00077a44... (90 %)
Writing at 0x0007d2dd... (95 %)
Writing at 0x00082acd... (100 %)
Wrote 480848 bytes (319104 compressed) at 0x00010000 in 5.1 seconds (effective 758.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@christine86 Is that on your Mac or Windows setup?

 

 

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Christine86
(@christine86)
Member
Joined: 4 years ago
Posts: 45
Topic starter  

It's on my iMac, I didn't want to go through Parallels, if at all possible. I think @Dronebot-workshop tried it on Windows & Linux. This is my Tools drop-down

Tools Menu

   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1697
 

Hi all,

  I have only glanced at this trail, but I looked to see what the Liliygo product was and found:

https://www.lilygo.cc/products/t5-4-7-inch-e-paper

which includes:

image

and perhaps a reason for confusion

image

But Version 3 does not (normally) mean S3.

Looking up

esp32 d0wq6

https://www.espressif.com/en/products/socs   shows:

image

indicating the Lilygo photo is showing a 'simple' ESP32 chip, not the S3 variant.

------------------------

Obviously, it might be an old photo, etc, but on the evidence, this is a 'simple' ESP32, so trying to compile with the S3 variant software is likely to go badly.

I see you have had some success using the 'simple' ESP32 software.  I think this may explain some of the problems that are reported above, and at least allow you to focus on remaining issues.

Good luck, Dave


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@davee But it did compile clean for me using the ESP32S3 on an M1 Mac.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1697
 

Hi Ron @zander,

  I am only reporting what I can see on screen from the web ... which may be totally wrong.

 And it is often possible to compile code 'borrowed' from another processor or board, especially if they are cousins.

Personally, until other information surfaces, like updated data from Lillygo,  I would regard this board as a simple ESP32, and if you can find anything for the particular WROVER shown, better still.

Good luck, Dave


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@christine86 Yep, I tried that too and it did upload, BUT I see two minor compile errors and weirdly my Com port just says COM4. When I saw your com at that weird address I thought it was virtual. Do you know why it is "Serial port /dev/cu.usbserial-0242F6CA"?

Regardless, it should not cause a compile error, especially the first one you posted which was basically a missing IRAM_ATTR macro contained in esp.h for all variants of esp32. Below is the find for the macro and it shows only esp32, esp32c, esp32s2 and esp32s3 as having the macro defined.

I am really confident the original problem is connected to this in some way but am at a loss to explain why Bill had a different error and I had none.

I understand you just want to move on with your project, but if the true bug isn't found, eventually your ver fix will cause you a problem. I know of at least 2 members of this forum who have been tripped up by that.

Sorry, I have seldom been outfoxed by any bug, but if this is no longer worth your time, just let me know.

Screenshot 2024 01 17 at 12.41.57

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@davee I used the esp32s3 board with PSRAM set to the right value and the exact same code on equivalent hardware compiled clean for me. Christine had a lot of errors and Bil had a different error. NOTE these are all Mac computers and I think all Apple Silicon but I done't expect the platform to affect the compile at least. 

AFAIK Bill (@dronebot-workshop) and Christine (@christine86) downloaded the same code from github as me yet we get 3 different compile results. Mine is clean other than warnings re deprecated etc while Bill and Christine get different errors. I also was successful on a Windows 11 PC.

Very mysterious.

Here is Christines initial error, there were many more.

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'epd_output_row'
Here is the source
114 | void IRAM_ATTR epd_output_row(uint32_t output_time_dus);

and here is the macro
#define IRAM_ATTR _SECTION_ATTR_IMPL(".iram1", __COUNTER__)

It looks very much like the define was not found.

Thoughts? And why does Bill get a totally different error, and why do I get no error?

I downloaded the zip file from the blue code box at https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/tree/esp32s3 /a>

I am almost stumped.

EDIT The instructions other than the usual are

Screenshot 2024 01 17 at 13.22.18

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@christine86 Can you check and see if the file in the screen print exists, and if it contains the #define IRAM_ATTR define? If so, then verify in the LillyGo library that the following are there in the src folder.

 

Screenshot 2024 01 17 at 13.57.07
Screenshot 2024 01 17 at 14.00.49

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1697
 

Hi Ron @zander

   Different compile experiences because it is a different Apple machine are indeed unexpected and bizarre ... I have never used an Apple box of any sort, so I'll keep away from theories that Apple hardware is causing issues.

--------------------------------------------------------------

Lillygo also seem to be playing rather loosely in terms of build control and product descriptions.

The data I used came from their sales website, combined with the matching of 'dowq6' with 'simple' ESP32 on the Espressif site, which one might have hoped should both be authoritative regarding their contributions.

------------------

I note there are (at least) two LilyGo Github 'sites' with confusingly similar appearances:

https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/blob/master/README.MD
https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/blob/esp32s3/README.MD

The first one appears to be aimed at a 'simple' ESP32 based module, the second the ESP32-S3 variant. Could any of the different experiences relate to following different 'sites'?

------------------

I note your Github reference   ( https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/tree/esp32s3 ), obviously points  to an ESP32-S3 in the link, and flicking through the README.md at that address shows a board photo with the printing

image

referring to a version V2.3 and S3. The readme also includes "arduino-esp32 needs to be upgraded to 2.0.3 version to support ESP32-S3."

Sadly, the photo resolution isn't clear enough to read the printing on the ESP-32 metal can module.

The latest commit for the Readme seems to be September 2022, so this is not just a very recent change.

--------------------------------------

@christine86 's listing of code upload etc, above includes

esptool.py v4.5.1
Serial port /dev/cu.usbserial-0242F6CA
Connecting.........
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme

I would hope, but not be surprised if the contrary is true, that this shows that the board @christine86 has, is actually a 'simple' ESP32, not an S3.

Googling "ESP32-D0WD-V3" took me to https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

which includes: (click on image to enlarge)

image

reinforcing that this a 'simple' ESP32 board, not S3 one.

----------------------------------------------------

Clearly, compiling for the wrong type of ESP32 is unlikely to be productive, so unless there are other 'similar' boards also giving issues, I would respectfully suggest just trying to identify the one @christine86 has actually acquired. To do this, it is clearly important to try to identify the board.

@christine86, it would be helpful if you could check your board for:

1/ Any printing like the snip

image

. For context, the whole photo is:

image

2/ the printing on the rectangular metal can, shown bottom left in the photo above.

Either of these items, if they exist may be in different places, including on the other side of the board.

---------------------------------------------------------

Of course, identifying the processor may not solve the problems and enigmas, but I would hope it would reduce the level of confusion.

Best wishes, Dave


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7018
 

@davee Actually that's 3 github references. The one I used was the one Christine posted in her OP. I just tried it again with a LilyGo module, an S3 with a display and it worked fine. The board looks superficially like the one you posted.

The only way I can explain Christines original issue is if she had not used any variant of esp32. I did a scan on the IDE folder and the IRAM_ATTR onoy shows up for 4 files all called esp.h but located in 4 directories. They represent the esp32, esp32c3, esp32s2, and esp32s3. See attached. From what I have seen of Christines work I am quite sure she did not make that kind of a mistake and how does it explain Bills error as well which is a different error.

I will download all the github references you posted to see if any of them fail. Stay tuned.

BTW, I also got a successful compile with just a generic esp32dev board selected. The writing on the can is seldom useful in these cases.

EDIT: The two links you posted are not the library folders, when I navigated to them they are identical. The link provided by Christine is esp32S3 specific so the other two are older and of no interest to her as she has an S3 as I do.

Here are pics of my LilyGo esp32s3 module.

IMG 8142
IMG 8143

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Page 2 / 3