logo elektroda
logo elektroda
X
logo elektroda

Waveshare ESP32-S3-Touch-LCD-5 - Wi-Fi, BLE, CAN, RS485 and 800x480 touch screen

p.kaczmarek2 2994 11

TL;DR LABEL_AI_GENERATED

  • Waveshare ESP32-S3-Touch-LCD-5 pairs a 5-inch capacitive touchscreen with an ESP32-S3, extra PSRAM, USB-C, and onboard CAN, RS485, microSD, battery, and isolated I/O.
  • The B version uses 1024×600 resolution, while the tested board runs 800×480 and ships with an LVGL demo preloaded.
  • Specifications include a dual-core Xtensa LX7 up to 240MHz, 16 MB flash, 8 MB PSRAM, Wi-Fi 802.11 b/g/n, Bluetooth 5 LE, and 7~36V supply.
  • PlatformIO support worked by importing ESP32_Display_Panel's lvgl_v8_port example and selecting BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_5 in esp_panel_board_supported_conf.h.
  • Touch input also worked: a test button changed colour on click, confirming LVGL and touchscreen operation.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
Listen:
  • Waveshare ESP32-S3-Touch-LCD-5 touchscreen displaying LVGL v8 UI demo with a user profile screen. .
    The Waveshare ESP32-S3-Touch-LCD-5 is a board offering a 5-inch touchscreen with 800x480 resolution (1024x600 in the B version) controlled by an ESP32-S3 with additional PSRAM and a convenient USB-C connector. In addition, a wealth of peripherals are on board, such as a CAN interface, RS485, battery connector and microSD card slot, allowing the board to be quickly integrated into a variety of devices, including building automation systems. The entire board can be purchased for around PLN200.
    Waveshare ESP32-S3-Touch-LCD-5 product box with visible labels and markings. 5-inch Waveshare ESP32-S3-Touch-LCD-5 touch screen in a protective box, top view. Waveshare ESP32-S3-Touch-LCD-5 development board with connectors, ESP32 module, and screw terminals, placed in foam packaging. .
    Out of the box, we immediately have the LVGL demo uploaded. It shows the use of the various controls available in this system, it is even possible to draw graphs.
    Waveshare ESP32-S3-Touch-LCD-5 displaying an LVGL user profile demo interface. Waveshare ESP32-S3-Touch-LCD-5 showing LVGL v8 demo with an on-screen touch keyboard. Waveshare ESP32-S3-Touch-LCD-5 display running an LVGL demo with a line chart on screen. .
    Waveshare ESP32-S3-Touch-LCD-5 display showing LVGL demo with a bar chart on the screen. Waveshare ESP32-S3-Touch-LCD-5 touchscreen displaying an LVGL analytics interface demo. Waveshare ESP32-S3-Touch-LCD-5 5-inch touchscreen showing LVGL demo with charts and product list. .
    However, let us first turn to specification :
    Quote:
    Processor: Xtensa 32-bit LX7 dual-core up to 240MHz
    Product dimensions: 1.4 x 12.77 x 8.75 cm
    Weight: 145.15 g
    ASIN: B0DD7M58T9
    Flash memory capacity: 16 MB
    PSRAM memory capacity: 8 MB
    Embedded memory: 512 KB SRAM, 384 KB ROM
    Connectivity: 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE)
    Display: 5-inch capacitive touchscreen, 800×480 or 1024×600 resolution, 65K colours
    Touch control: 5-point touch support via I2C interface, interrupt support
    Power supply: built-in voltage regulator, support for wide voltage range 7~36V
    RTC: on-board real-time clock chip with battery back-up
    Interfaces: CAN, RS485, I2C, TF card slot, GH1.25 2P connector for battery, isolated digital I/Os
    Digital inputs: passive and active input support, isolation via bidirectional optocouplers
    Digital outputs: isolation via optocouplers, up to 450 mA load capability
    LEDs: power and battery charging status indicators
    Power management: flexible clocking, independent power supply for modules, support for low power modes

    Schematic:
    Block diagram showing connections and modules of the Waveshare ESP32-S3-Touch-LCD-5 board, including LCD, power, USB, RS485, CAN, battery, RTC, and SD slot.
    PCB view:
    Diagram of the Waveshare ESP32-S3-Touch-LCD-5 board layout, showing connector and component labels.
    Layout diagram of components on the Waveshare ESP32-S3-Touch-LCD-5 PCB with labeled electronic components. .
    Full documentation on the waveshare wiki: https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-5

    Waveshare also describes the launch of this board with Arduino , for this reason I decided to try it with PlatformIO. I have already presented PlatformIO in several topics:
    How to program a Wemos D1 (ESP8266) board in the shape of an Arduino? ArduinoOTA in PlatformIO .
    WiFi Manager in PlatformIO - convenient WiFi configuration for ESP8266 and ESP32 - tutorial
    Port Expander Module PCF8574 - PlatformIO tutorial - Arduino/ESP/itd pin expansion
    Clock on ESP12 and MAX7219 display - tutorial - part 1, ArduinoOTA, basics .
    There is a project on Github that directly supports the board in question and can also be run just in PlatformIO:
    https://github.com/esp-arduino-libs/ESP32_Display_Panel
    The ESP32_Display_Panel project offers support for various display modules from ESP, and supports M5Stack, Elecrow, VIEWE and just Waveshare products. The structure of the ESP32_Display_Panel is shown in the diagram:
    Block diagram showing the software architecture of ESP32_Display_Panel with layers and supported components. .
    Running the ESP32_Display_Panel in PlatformIO is very simple. We download the repository and import the example project lvgl_v8_port, which is available here:
    https://github.com/esp-arduino-libs/ESP32_Dis.../tree/master/examples/platformio/lvgl_v8_port
    There we have the finished project with the matching platformio.ini.
    PlatformIO should install the missing libraries by itself, but this may take a bit of time.
    Then we still need to select our board. Otherwise we will get this message:
    Code: C / C++
    Log in, to see the code
    .
    The configuration methods are described in detail in the readme, but I myself have decided to compile in custom mode, where only in esp_panel_board_supported_conf.h
    I need to set ESP_PANEL_BOARD_DEFAULT_USE_SUPPORTED to 1 and uncomment BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_5 (for 800x480 version, an option for higher resolution versions is also available - BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_5_B).
    Then you can compile and start testing by editing main.cpp:
    Code: C / C++
    Log in, to see the code
    .
    Result:
    5-inch Waveshare ESP32-S3-Touch-LCD-5 touchscreen showing a welcome message “Hello Elektroda.com!” with test parameters. .
    At this stage we have a functional design with LVGL, which I have already described on the forum some time ago:
    ESP32 and touchscreen display - part 5 - LVGL in SquareLine Studio .
    ESP32 and touch display - part 6, RGB lamp control, RGB picker
    ESP32 and touch display - part 7, how to make a keyboard in LVGL? Login. .
    You can still test that the touchscreen also works:
    Code: C / C++
    Log in, to see the code
    .
    The above code creates a single button together with a click event handler. When clicked, the colour of this button changes.
    Everything works:
    A finger approaching an orange button labeled Click Me on a touchscreen. An index finger touches a blue button labeled Click Me on a touchscreen display. .
    In summary , the module proved to be simple to run, both in the Arduino IDE (instructions are on the Waveshare wiki) and in PlatformIO. You can confidently base your projects on it, just what projects? What applications do you see for it, has anyone already experimented with this type of display? Feel free to discuss.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14760 posts with rating 12887, helped 659 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21536408
    ArturAVS
    Moderator
    Posts: 26409
    Help: 2303
    Rate: 7829
    How about the speed of operation? Can you insert some video? I have a DWIN 7", similar to nextion. It is on a dedicated SoC. I bought with the idea of using it for home automation. Unfortunately, health doesn't allow and time is still lacking....
  • #3 21536451
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14760
    Help: 659
    Rate: 12887
    Good point, indeed this product has the same affliction as the previously tested display ( ESP32-2432S028R ), namely, to some extent it feels like it is not the same smoothness as on a normal touch smartphone. However, this does not interfere with usability.


    .
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #4 21536459
    ArturAVS
    Moderator
    Posts: 26409
    Help: 2303
    Rate: 7829
    p.kaczmarek2 wrote:
    (ESP32-2432S028R)


    That's the one I have, and I'm also annoyed by the response delays. I think I'll sit on that DWIN. The factory demo works quite decently.
  • ADVERTISEMENT
  • #5 21536874
    chemik_16
    Level 27  
    Posts: 1001
    Help: 75
    Rate: 128
    I have 2 similar ones too, bought once from ali from coins for a few $ each. I was planning to put them in instead of switches, for HA control.
    It was also tempting to make this into a portable terminal com ;) .

    Electronic module with blue PCB and attached 320x480 touchscreen LCD display.

    There sits the same demo, s3 with ram and lcd 320x480 with capacitive touch
  • #6 21536877
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14760
    Help: 659
    Rate: 12887
    I wonder if the 320x480 version is slightly more responsive?
    Helpful post? Buy me a coffee.
  • #7 21536883
    chemik_16
    Level 27  
    Posts: 1001
    Help: 75
    Rate: 128
    >>21536877 .
    It is not ;) .
    There were also 320x240 variants, but the lags are the same
  • #8 21540412
    damdam

    Level 34  
    Posts: 2299
    Help: 274
    Rate: 949
    Polish company Riverdi's screens with STM32 on board + TouchGFX do the job in terms of smoothness. CANs murmurs bytes everything you need integrated, lots of memory. I pre-designed a device with NEXTION, but it's no comparison at all after switching to the above.
    Company Account:
    ACME Damian Michalski
    Boczna 3a, Żory, 44-240 | Tel.: +48XXXXXXXXX (Show)
  • ADVERTISEMENT
  • Riverdi STM32 and EVE screens as faster alternatives

    #9 21541873
    Karol966
    Level 31  
    Posts: 2041
    Help: 83
    Rate: 650
    damdam wrote:
    Polish company Riverdi's screens with STM32 on board + TouchGFX do the job in terms of smoothness. CANs murmurs bytes everything you need integrated, lots of memory. I pre-designed a device with NEXTION, but it's no comparison at all after switching to the above.


    Yes, this is true but nothing is free => price. Cheaper and just as fast can be done using the same TFT panels with EVE chips (BT817 etc and also riverdi has them on offer). I have used the 10.1" screens and they work very smoothly.
  • #10 21709436
    dariusztomczyk54
    Level 2  
    Posts: 2
    Hi, super you describe and show it, I have had this screen for a few months, now I have decided to run it through the Arduino IDE or through PlatformIO (this is my first exposure to PlatformIO ) but I keep running into some problems.
    I can't get the plain Hello world text to display on the screen.
  • #11 21709449
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14760
    Help: 659
    Rate: 12887
    Provide full error messages and screenshots - at what stage is the problem, what is not working?
    Helpful post? Buy me a coffee.
  • SquareLineStudio builds trigger setup assert failure

    #12 21709620
    dariusztomczyk54
    Level 2  
    Posts: 2
    I managed to compile and upload a sample program from Waveshare : 08_DrawColorBar.ino to the board - it took an awfully long time through the Arduino IDE.

    Previously I was getting an error - error 1 and nothing else, I got this error when I had the board selected in the Arduino IDE as ESP32-S3 Dev Module, when I changed the board in the Arduino IDE to Waveshare ESP32-S3-Touch-LCD-5 - the compiler copies for 10 minutes and finally uploads, but the screen at this point looks like it's broken.

    Waveshare ESP32-S3-Touch-LCD-5 - Wi-Fi, BLE, CAN, RS485 and 800x480 touch screen .

    I have now run the simple_port.ino compilation from ESP32_Display_Panel's github.

    Added after 10 [hours] 3 [minutes]: .

    I managed to upload a working example project : 08_DrawColorBar.ino and it displays as it should, unfortunately trying to upload anything from SquareLineStudio, it dumps me errors :

    22:06:44.575 -> assert failed: void setup() C:\Users\ceo\OneDrive\Dokumenty\_LVGL_ARDUINO_SAMPLE_\esp-arduino-libs ESP32_Display_Panel master examples-arduino_gui_lvgl_v8_squareline_port\squareline_port\squareline_p
    22:06:44.575 -> 
    22:06:44.575 -> 
    22:06:44.575 -> Backtrace: 0x4037aee9:0x3fcebb90 0x4037aeb1:0x3fcebbb0 0x403814e6:0x3fcebbd0 0x42002ed6:0x3fcebd10 0x42032f5e:0x3fcebd40 0x4037bac9:0x3fcebd60
    22:06:44.575 -> 
    22:06:44.575 -> 
    22:06:44.575 -> 
    22:06:44.575 -> 
    22:06:44.575 -> ELF file SHA256: 17e1fcd88
    22:06:44.575 -> 
    .
Listen:

Topic summary

LABEL_AI_GENERATED
The discussion evaluates the Waveshare ESP32-S3-Touch-LCD-5 as a low-cost 5-inch touchscreen controller board for home automation and embedded HMI use. Participants note its integrated peripherals such as CAN, RS485, battery connector, microSD slot, USB-C, PSRAM, and LVGL demo support, but also report noticeable UI latency and less-than-smartphone-like touch smoothness. Comparisons are made with DWIN, Nextion, Riverdi STM32/TouchGFX panels, and TFT modules using EVE chips, with smoother operation generally associated with more expensive solutions. Later posts focus on development issues in Arduino IDE and PlatformIO, including board selection, long compile/upload times, failed “Hello world” attempts, and assertion errors when uploading SquareLineStudio-generated LVGL projects, while Waveshare demo examples like 08_DrawColorBar.ino and ESP32_Display_Panel samples can be made to run.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT