Building for the ESP32S3 LilyGo T-Display S3 board

What do you want to achieve?

I have recently purchase several of the LilyGo t-display type boards, they all have built in displays and are based on the ESP32S3 microcontroller.

I am writing some code to interface to some amateur radio equipment using the protocol of the manufacturer, and all is going well, but I would also want to be able to use SQLine to create a far better UI for my applications. Essentially, I want to be able to use this board with SQLine.

What have you tried so far?

I have attempted to build a very simple UI, but I can’t seem to get the software to work correctly as each time, no matter what UI I put together, it never looks the same on the board as it does in the SQLine app. here’s an example where I simply add a text label to the UI and show what it looks like in the app and then on the screen.

… as you can see, there is an issue somewhere. Incidentally, the last upload to the board to show it works - as seen on the screenshot was a Snake type game!

So, despite setting the resolution of the screen to the correct dimensions of 320x170, the resulting UI on the device is a lot smaller, the text label is not showing correctly and the background colour is a very strange lime green instead of white. If I create a more detailed UI in SQLine, the display on the LED screen never reflects what I see in the SQLine application.

I have exported the template and UI files to the correct directories but I just cannot seem to get this to look anything like it should and would appreciate some help.

I have used the supplied template Arduino with TFT_eSPI example as the basis for my code, and of course I have selected the correct board within the board manager in the ArduinoIDE.

Hoping someone could help and point me in the right direction. Many thanks.



  • SquareLine Studio version: 1.2.1 downloaded and installed on Sun 26th Feb

  • Operating system: MacOS Monterey 12.6. I use the ArduinoIDE 2 to write, compile and upload my code to the microcontrollers, which works well enough for my requirements.

  • Target hardware: LilyGo T-Display S3 ESP32S3 development board - I have three versions, the display version, the touch version, and the embed version - all use the same ESP32S3 microcontroller, and they all work perfectly outside SQLine.

For some added clarity, here’s one of the example scripts as it looks in SquareLine Studio, and then how it looks when I upload it to my ESP32S3 board.

Try to change bit depth like this in Project settings and export files again. I’m just guessing but it looks like that you have your collors swaped.

1 Like

Thanks for the heads up, but when I try that, I get the following error;

Any further pointers please?


I took a deeper look at what you stated, and it appears that the lv_conf.h file that is being referenced on my system is NOT the one that is created in the local project folder - and I have no idea why this is the case. Once I amended the lv_conf.h file that is being referenced, it all works perfectly.

Now I just have to figure out why it is not referencing the correct lv_conf.h file in the local project folder.

Any ideas on that one?