Hi,
I am stuck getting my new ED047 (AKA Lilygo T5-4.7 inch ePaper saying “Hello World”. I also have the version with the touch panel installed. I have seen full blown ESPHome configs, seeming to use those lilygos, but I could not get any to run. Mostly I get compile errors, the one that I got running (S3) cannt print anything. I get a display error.
I have ESPHome 2025.3.2 with HA Core 2025.3.4
All Lilygo ESPHome Implementations I found are 2 years old, and refer to older Versions of the Lilygo.
Anyone with a few lines of something like “hello” world, that are known to run with ESPHome 2025.3.2?
Show what you’ve tried - take one of the examples, remove anything irrelevant, test it, post the YAML and the test results (error logs, screenshots, whatever is needed to demonstrate the issue.)
Right now nobody can help since there’s nothing to respond to.
Hi @clydebarrow ,
this is, the closest I can get go somthing. It compiles with a warning:
Compiling .pioenvs/framery1_lilygo/liba68/LilyGoEPD47/i2s_data_bus.c.o
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c: In function 'epd_draw_oval':
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c:446:17: warning: implicit declaration of function 'round' [-Wimplicit-function-declaration]
int64_t p = round(rySq - (rxSq * ry) + (0.25 * rxSq));
^~~~~
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c:446:17: warning: incompatible implicit declaration of built-in function 'round'
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c:446:17: note: include '<math.h>' or provide a declaration of 'round'
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c:20:1:
+#include <math.h>
.piolibdeps/framery1_lilygo/LilyGoEPD47/src/epd_driver.c:446:17:
int64_t p = round(rySq - (rxSq * ry) + (0.25 * rxSq));
^~~~~
Compiling .pioenvs/framery1_lilygo/liba68/LilyGoEPD47/libjpeg/libjpeg.c.o
but gets the WLAN and I see the debug on the USB console but the print to the ePaper fails: So my assumption is, that I get the ESP-S3 running, but the drivers for the ePaper are somehow not working. But this is beyond my debugging/knowledge. ChatGPT assumed it had something to do with the PSRAM
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200
[07:38:28]E (162) psram: PSRAM ID read error: 0x00ffffff
[07:38:28][I][logger:171]: Log initialized
[07:38:28][I][app:029]: Running through setup()...
[07:38:28][E][t574:026]: Could not allocate buffer for display!
[07:38:28][E][component:119]: Component display was marked as failed.
[07:38:28][E][component:164]: Component display set Error flag: unspecified
[07:38:28][C][wifi:048]: Setting up WiFi...
and later on
[07:38:35][C][t574:053]: Rotations: 0 °
[07:38:35][C][t574:053]: Dimensions: 960px x 540px
[07:38:35][C][t574:054]: Update Interval: never
[07:38:35][E][component:082]: Component display is marked FAILED
[07:38:35][C][mdns:116]: mDNS:
[07:38:35][C][mdns:117]: Hostname: framery1_lilygo
[07:38:35][C][api:140]: API Server:
I also “played” wround with the platformio_options but with no luck.
These Are the links I followed:
But none of them worked put of the box any more, to me it looks, as if “old” ESPHome Syntax is used sometimes, this is why I asked if someone has an actual “minimal” example.
ChatGPT was my “helper”; but after turning in circles I hat no idea, what to do more.
So the problem is that your display is not supported in ESPHome. The external component you are using may or may not be suitable for your board, but in any case hasn’t been maintained. You’d be best to raise an issue on that GitHub repo if you want to get that working.
The EPD047TCI driver chip used on the board is apparently supported by the epdiy OSS project, but that’s not directly usable in ESPHome at the moment.
I am actually planning on adding support for this class of display to ESPHome - Lilygo recently sent me a T5 E-Paper S3 Pro, which uses the same display, for evaluation and porting purposes.
It’s likely to be a couple of months before that comes to fruition though.
Hi.
I got this to compile and printing something on the screen:
Maybe this is a place to start. IMHO a very nice “Hello World”.
Not to all: If this S3 is in deep sleep, you cannot wake it up with just compiling like I could with a waveshare board. You have to wait until die S3 is coming up again. So deep sleep during development is not a good idea, IMHO.