Jumpy Touchscreen - Xiao Round Display

The Xiao Round Display’s touchscreen is erratic with any LVGL sketch I try, Seeed examples too. The touch point seems to jump around when it’s pressed on certain areas of the screen. And with LVGL logging on it looks like it’s registering points outside the screen area:

[Warn]	(8.491, +8491)	 indev_pointer_proc: Y is 255 which is greater than ver. res 	(in lv_indev.c line #368)

[Warn]	(16.070, +7579)	 indev_pointer_proc: Y is 255 which is greater than ver. res 	(in lv_indev.c line #368)

[Warn]	(282.726, +266656)	 indev_pointer_proc: Y is 255 which is greater than ver. res 	(in lv_indev.c line #368)

[Warn]	(285.326, +2600)	 indev_pointer_proc: X is 255 which is greater than hor. res 	(in lv_indev.c line #362)

[Warn]	(285.326, +0)	 indev_pointer_proc: Y is 255 which is greater than ver. res 	(in lv_indev.c line #368)

Tested with HardwareTest.ino included with the Round Display library and it does the same thing. But the TFT_eSPI Test_Touch_Controller sketch and other TFT_eSPI sketches work fine. So the issue seems to be only with LVGL? I’ve tried other versions of the library but same problem.

I have two of the displays, two S3’s and they all behave this way.

I’ve performed the touch firmware update.

The library versions I’m using:

Using library lvgl at version 8.3.4 in folder: C:\Users\kfal6\arduino\XiaoRound-kylev2\libraries\lvgl 
Using library WiFi at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\WiFi 
Using library HTTPClient at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\HTTPClient 
Using library WiFiClientSecure at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\WiFiClientSecure 
Using library ArduinoJson at version 7.0.4 in folder: C:\Users\kfal6\arduino\XiaoRound-kylev2\libraries\ArduinoJson 
Using library Wire at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\Wire 
Using library I2C BM8563 RTC at version 1.0.4 in folder: C:\Users\kfal6\arduino\XiaoRound-kylev2\libraries\I2C_BM8563_RTC 
Using library Seeed Arduino Round display at version 1.0.0 in folder: C:\Users\kfal6\arduino\XiaoRound-kylev2\libraries\Seeed_Arduino_Round_display 
Using library SPI at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\SPI 
Using library TFT_eSPI at version 2.5.22 in folder: C:\Users\kfal6\arduino\XiaoRound-kylev2\libraries\TFT_eSPI 
Using library FS at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\FS 
Using library SPIFFS at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\SPIFFS 
Using library SD at version 2.0.0 in folder: C:\Users\kfal6\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8\libraries\SD 

Am I doing something wrong?

Hi there,
The TFT_ESPI is more than likely the culprit. Check the version and besure you edit the config files.
GL :slight_smile: PJ

Hey there,
Thanks. I reinstalled the TFT_eSPI library (the repo linked in the wiki):

And commented out/uncommented the lines they describe:

//#include <User_Setup.h> 
#include <User_Setups/Setup66_Seeed_XIAO_Round.h>     // Setup file for Seeed XIAO with GC9A01 240x240

But that didn’t solve it. Same erratic touchscreen behavior.

I also tried installing the latest TFT_eSPI version v2.5.43 within the Arduino IDE but I get the same behavior. I’m really at a loss with this. The display’s touchscreen is somewhat usable but really quite jumpy and wouldn’t be usable for any real application.

I should say that the same areas of the touchscreen (just right of center and just above center) seem to repeatedly do this, on both of my Round Displays.

These i2c errors also show up sometimes before/after the LVGL errors:

[235885][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[ 30668][E][Wire.cpp:513] requestFrom(): i2cRead returned Error -1

Is that related?

I’ve troubleshooted with a super barebones LVGL sketch (basically one object on screen), but same behavior as the HardwareTest example.

Hi there,
Hmmm, They seem defective, do A close magnifier inspection of the solder joints, A while back there were some issues If I recall?
GL :slight_smile: PJ

are they battery powered or USB? try the opposite.(longshot) :v: