Getting Started with Seeed Studio Round Display for XIAO | Seeed Studio Wiki

For those looking for the datasheets of the screen and touch controllers, see 240x240 Round IPS TFT LCD Display 1.28" Capactive Touch Circle Screen at Buy Display.

Notable differences are:

  • Screen GC9A01A SPI controller: SPI MISO is not implemented on the screen, so reading a pixel is not possible.
  • Touch CST816S I²C controller: automatic low power mode is on, direct read gives 5 bytes for number, event, x, 0, y.

Enjoy!

1 Like

I wish someone could explain exactly what is going on… it seems with all this arduino stuff
its loading up a bunch of extra libraries and changing a bunch of variables and poof its supposed to work but no one can explain what the heck is going on… it is getting worse by the day

maybe one day ChatGPT will write code for us…

LOL, It already is for Seeed Studio Xiao devices.
HTH
GL :slight_smile: PJ :wink:

That is the exact reason why I asked for the data-sheets, found them somewhere else and read them.

So I coded a compact driver I could use without loading and installing half a dozen libraries.

WoW, that is a task for sure. Care to show your code ?
Perhaps it will help answer the questions some users have and add to the community.
unless it’s proprietary :smiley:
AFAIK, You can get more verbose compiler output to Show what is getting loaded and added to the build so maybe look to turn that on?
HTH
GL :slight_smile:

I took three files from GitHub - Bodmer/TFT_eSPI: Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips and checked them against the example provided by Buy Displays:

  • GC9A01_Defines.h,
  • GC9A01_Init.h to be called first; and
  • GC9A01_Rotation.h to set the coordinates according to the orientation

To set a point at (x1, y1) with colour

x2 = x1;
y2 = y1;

_writeCommand8(TFT_CASET);
_writeData16(x1);
_writeData16(x2);

_writeCommand8(TFT_PASET);
_writeData16(y1);
_writeData16(y2);

_writeCommand8(TFT_RAMWR);
_writeData16(colour);

That’s it!

reivilo, Slick, :grinning: :+1:
TNX.
GL :wink:

If anyone is still having trouble compiling Arduino sketches for the Round Display, here is one clear method I found to make sure the provided examples work. I believe that I ran into some library conflicts originally on my Windows PC. I am not sure how to delete some libraries from my Windows PC - may have to uninstall and re-install Arduino IDE. However, the simple test was using my RPi400 and created a completely new image and then install Arduino IDE. Then adding the required libraries for the Round Display as stated in the wiki. Make sure you do NOT add the TFT_eSPI library from the IDE library options at anytime but download the library from the WIKI! I was able the have no problems compiling the examples.

i seem to remember a portion of the code that required the TFT_eSPI to be commented out //

that may have to do with it too

ps i think on windows if you go into my documents - arduino folder - libraries you can delete offending instalations… but also sometimes the folder is not the same name as the offending file

also during compile error you can see the offending path

windows no longer allows the setup of “dummy users” to separate login
but maybe on lynix you can set up a new login and get a clean install of arduino without having to wipe the whole OS

regards

The official library doesn’t fit into the limited RAM of the Xiao SAMD. The Xiao ESP32 or RP2040 are required.

Hence the minimalistic implementation I am using with all the Xiao boards.

yes i have noticed this as well

1 Like

Anyone got any more tips with this one? I have been back and forward with support on this one getting it working with the Xiao ESP32S3 module but can’t get it to work. Display lights up, but nothing is shown (backlight only)

I’ve been back and forth with support installing different libraries, but nothing works with this display, I’ve got several different circular displays which work fine, but having real trouble with this Xiao display. I’ve even tried Arduino on another computer to rule out old libraries, but cannot get it working.

Very disappointed in my Seeed studio products so far, from reading the documentation before purchasing I was lead to believe this was a well documented and supported piece of hardware. It seems I was wrong.

2 Likes

I’ve got exactly the same issue.

1 Like

I understand the problems people are experiencing and we apologize. Since the LVGL and TFT libraries were not developed by us, there is no way for us to require developers to release versions that work directly with XIAO and Round Display without any modifications. This is true for the vast majority of screen devices, and it is necessary to make changes to the configuration of the libraries.

If you do have trouble with the LVGL and TFT modification steps, I suggest you just use the libraries we’ve already modified instead of downloading them from the Library Manager. If you have better suggestions on how to do this, feel free to submit PRs to our Wiki content as well.

Seeed-Studio-XIAO-Round-Display-lvgl8.3.5/libraries at main · limengdu/Seeed-Studio-XIAO-Round-Display-lvgl8.3.5 (github.com)

Meanwhile, if you have the need to use SquareLine Studio for LVGL GUI development, you are also welcome to refer to my project program for configuration:

This project is based on the SquareLine 1.2.3 export and lvgl 8.3.4 and tft 1.0.6.

All though I was able to test all pins using a LED, I resoldered all joints and the display is working now.

I had the same problem…
I have a XIAO SAMD21 board connected to the XIAO Round display.
After a lot of stress getting the libraries loaded (yes I read the instructions),
I tried to build the HardwareTest sketch.
In the end, the compile fails.
It looks like there is not enough RAM (.bss) space by about 27k!

-R

===
/Users/rolf/Library/Arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin/…/lib/gcc/arm-none-eabi/7.2.1/…/…/…/…/arm-none-eabi/bin/ld: /var/folders/5j/3r8174xs47b4h2v2f27y0y880000gn/T/arduino_build_428479/HardwareTest.ino.elf section .bss' will not fit in region RAM’
Multiple libraries were found for “TFT_eSPI.h”
Used: /Users/rolf/Documents/Arduino/libraries/TFT_eSPI
Not used: /Users/rolf/Library/Arduino15/packages/Seeeduino/hardware/samd/1.8.5/libraries/Seeed_Arduino_LCD
/Users/rolf/Library/Arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin/…/lib/gcc/arm-none-eabi/7.2.1/…/…/…/…/arm-none-eabi/bin/ld: region RAM overflowed with stack
/Users/rolf/Library/Arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin/…/lib/gcc/arm-none-eabi/7.2.1/…/…/…/…/arm-none-eabi/bin/ld: region `RAM’ overflowed by 26932 bytes
collect2: error: ld returned 1 exit status

Sorry, the instructions for the Round display are not correct.
After following the instructions, the HardwareTest sketch was not there.
I had to go search around for a library to get that sketch.
(In the end, that sketch didn’t work for me on the XIAO SAMD21 board, but that’s another story)

May I suggest one of the Seeed engineers look at the solution that worked for me, validate it and share it as an alternative to the listed heavyweights, LVGL and TFT libraries?

Thank you!

Have you tried the solution that worked for me?