ESP32 | LovyanGFX vs. TFT_eSPI Comparison (ft. 4-wire SPI Interface)

preview_player
Показать описание
Today's video is about to compare the graphics library LovyanGFX and TFT_eSPI in a 4-wire SPI interface environment.

*Updates*
- Both are set the SPI clock frequency 60 MHz, but they’re operating at 40 MHz internally.
- The SPI clock for fill write operation was set to 27 MHz, resulting in slower fill-related parts of LovyanGFX. You can expect faster performance at 40 MHz normally.

[LovyanGFX]

[TFT_eSPI]

[ER-TFTM035-6 Interfacing Document]

#ESP32 #LovyanGFX #TFTeSPI #4wire #SPI #LVGL
Рекомендации по теме
Комментарии
Автор

Great comparison and another example of how powerful the esp32 can be.

GadgetAddict
Автор

Thanks for introducing LovyanGFX to everyone !

The ESP32 cannot set the APB clock to 60MHz.
In fact, either 40MHz or 80MHz is selected.
LovyanGFX selects 40MHz, so we need to check whether TFT_eSPI selects 40MHz or 80MHz.

bondold
Автор

Great! It’s interesting. I'm looking forward to results on a real project with this lovyanGFX.

mはげ
Автор

ESP32 8-bit paralell pins + tocusceen in lvgl please

สุพงศ์เอง
Автор

I hope there is a video using a 8-bit parallel mode!!!

deanstarman
Автор

He had set LovyanGFX's fill operation to 27MHz, so the bench conditions are not right; LovyanGFX's fill score is unreasonably low.

bondold
Автор

Love your videos, please teach how to setup LVGL library and configurations for arduino environment.

nafisahmed
Автор

Hi Eric, can I use Lovyan GFX with LVGL (SquareLine)?

gordsh
Автор

this is not a fair comparison, of course spi is slower than serial. have you bechmarked espi paralell? That would be a better comparisson, I bet you it will be the same...

michaelomode
Автор

Greetings Eric! Thanks for the video, I wanted to ask you about the lovyanGFX library. I'm trying to show a Sprite and it's been difficult, since it only shows the black screen, I'm working with the WT-SC01 module, here is the code:

#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#define LGFX_AUTODETECT
#include <LGFX_AUTODETECT.hpp>

static LGFX lcd;
static LGFX_Sprite sprite(&lcd);

void setup(void)
{
lcd.init();
lcd.setRotation(1);
sprite.createSprite(480, 320);

}
void loop()
{

sprite.fillCircle(50, 50, 50, TFT_BLUE);
sprite.fillCircle(120, 120, 120, TFT_RED);
sprite.pushSprite(0, 0);
delay(100);

}

With the use of the TFT_eSPI library it works perfectly, but I have decided to use the LovyanGFX library since you recommend it in this video for the use of LVGL

paintcob
Автор

I have tried it with a rpi display wich has support for 125 Mhz SPI, the maximum speed for esp32 is 80Mhz, but the results have been really noticeable working with lovyangfx.

alfredopreciadomolina
Автор

hey great video :-)

looks like the 60MHz APB speed is ignored by both drivers, so the benchmark may be invalid.

In the LVGL scroll demo, TFT_eSPI appears to be throttled down by the bus (5% cpu for 33 fps ? naaah), which is symptomatic of setting an invalid APB speed.


May I suggest you re-run the benchmark at 40MHz, then run it again at 80MHz, and compare the results ?

This will eventually show that 80MHz can't be achieved with this display (hardware limitations or secondary effects of using loose cables + breadboard).

tobozo