New Debie with 3.5" - ili9488 screen

Guys, could someone help me please?

So I’m trying to find a clean and simple code to use LVGL with ESP32 and the 3.5" ILI9488 screen

I’m just starting out with LVGL and want at least one HELLO Word code.

So that from there I can continue. NOTE: I am an experienced mcus programmer. But I don’t know this LVGL library.

You maybe dont understand what lvgl is. Is hw independent memory gui lib. Then before implement on any system you need some steps:

  1. choice hw and run it properly = power and prog interface
  2. choice sw framework you plan use and in it make live all required hw = RAM , display bus , touch bus … for simple quick = Arduino i prefer in PlatformIO IDE
  3. choice lcd driver library for example ArduinoGFX and make display work

After this you can start implement LVGL and use it.

I’m a little lost.

I want to use this screen with the ESP32, Arduino IDE environment.

3.5" ili9488 and ESP32-WROOM32

(I need post the pictures, but was is new in forum).

But I don’t know how to start…

I would love to use Squareline Studio to design my screens.

You stop on point 3. Then choice library, you know how use Arduino IDE and load library ???
Squareline use is point 5.

I try, working use…I’m trying to make it work here with ArduinoGFX and make display work this library.

I managed to make this display work with this library.

TFT_eSPI

/*  
 Test the tft.print() viz the libraries embedded write() function

 This sketch used font 2, 4, 7
 
 Make sure all the required fonts are loaded by editing the
 User_Setup.h file in the TFT_eSPI library folder.

  #########################################################################
  ###### DON'T FORGET TO UPDATE THE User_Setup.h FILE IN THE LIBRARY ######
  #########################################################################
 */

#include <SPI.h>

#include <TFT_eSPI.h> // Hardware-specific library

TFT_eSPI tft = TFT_eSPI();       // Invoke custom library

#define TFT_GREY 0x5AEB // New colour


void setup(void) {
  tft.init();
  tft.setRotation(2);
}

void loop() {
  
  // Fill screen with random colour so we can see the effect of printing with and without 
  // a background colour defined
  tft.fillScreen(random(0xFFFF));
  
  // Set "cursor" at top left corner of display (0,0) and select font 2
  // (cursor will move to next line automatically during printing with 'tft.println'
  //  or stay on the line is there is room for the text with tft.print)
  tft.setCursor(0, 0, 2);
  // Set the font colour to be white with a black background, set text size multiplier to 1
  tft.setTextColor(TFT_WHITE,TFT_BLACK);  tft.setTextSize(1);
  // We can now plot text on screen using the "print" class
  tft.println("Hello World!");
  
  // Set the font colour to be yellow with no background, set to font 7
  tft.setTextColor(TFT_YELLOW); tft.setTextFont(7);
  tft.println(1234.56);
  
  // Set the font colour to be red with black background, set to font 4
  tft.setTextColor(TFT_RED,TFT_BLACK);    tft.setTextFont(4);
  tft.println((long)3735928559, HEX); // Should print DEADBEEF

  // Set the font colour to be green with black background, set to font 4
  tft.setTextColor(TFT_GREEN,TFT_BLACK);
  tft.setTextFont(4);
  tft.println("Groop");
  tft.println("I implore thee,");

  // Change to font 2
  tft.setTextFont(2);
  tft.println(F("my foonting turlingdromes.")); // Can store strings in FLASH to save RAM
  tft.println("And hooptiously drangle me");
  tft.println("with crinkly bindlewurdles,");
  // This next line is deliberately made too long for the display width to test
  // automatic text wrapping onto the next line
  tft.println("Or I will rend thee in the gobberwarts with my blurglecruncheon, see if I don't!");
  
  // Test some print formatting functions
  float fnumber = 123.45;
   // Set the font colour to be blue with no background, set to font 4
  tft.setTextColor(TFT_BLUE);    tft.setTextFont(4);
  tft.print("Float = "); tft.println(fnumber);           // Print floating point number
  tft.print("Binary = "); tft.println((int)fnumber, BIN); // Print as integer value in binary
  tft.print("Hexadecimal = "); tft.println((int)fnumber, HEX); // Print as integer number in Hexadecimal
  delay(10000);
}




But now how do I make LVGL work together with Squareline?

I’m totally lost…
I imported the files from Squareline Studio and inserted it into a folder on the Arduino that I intend to run…

But it always gives library errors that I don’t know how to resolve.

I’ve already followed all the steps in this documentation tutorial and I can’t figure out where I’m going wrong??

https://docs.lvgl.io/master/get-started/platforms/arduino.html#use-the-examples-and-demos

I try unistal and reinstal the library and not solved problem.

I don’t work the basic sample:

The problem is touch is not configured in UserSetup

WORKING!!!

THE WONDERFUOL

It was very difficult to discover this error.

Now I need to understand how including Squareline files works? How does it work ?

I managed to make it work perfectly.

Now I’m going to focus on making a really nice screen

On Squareline

1 Like

Hello. How did u solve this problem? What is you User setup configuration?

Yes, there is a correct configuration in UserSetup.h

Many people confuse LVGL with SquarelineStudio.

I was one of those people.

Squareline Studio is a productivity program that makes it easy to create LVGL code.

So the correct forum for these types of questions is lvgl, forum

It will be a pleasure to help you on this forum.

I will post the result of the UserSetup.h file on the forum.

1 Like