logo elektroda
logo elektroda
X
logo elektroda

ESP32-S3-Touch-LCD-4.3 i.e. ESP32-S3 and touchscreen - launching at PlatformIO

p.kaczmarek2 1332 16
ADVERTISEMENT
This content has been translated flag-pl » flag-en View the original version here
📢 Listen (AI):
  • 4.3-inch ESP32-S3 touch LCD showing an interface with the text Elektroda.pl ESP32-S3 LCD and basic GUI components. .
    The ESP32-S3 Touch LCD 4.3 is, as the name suggests, a module featuring a 4.3" touchscreen controlled by the ESP32-S3, which is a dual-core, 32-bit Xtensa LX7 processor clocked at up to 240 MHz with 8MB Flash and external 8MB SRAM. The whole is enriched by various peripherals such as RS485, CAN, I2C, a 3.7V lithium battery charger or there microSD card slot and not one, but two USB Type C connectors.
    The module can be bought in our country for about 175 PLN, from abroad you can import this board cheaper.
    ESP32-S3 Touch LCD 4.3-inch module and power cables in a white cardboard box. White box with a blue stripe, labeled Waveshare and ESP32-S3-Touch-LCD-4.3 product sticker. Waveshare ESP32-S3-LCD-4.3 development board with visible connectors, chips, and ports. .
    Information about the board is best checked on the official manufacturer's website . The connectors and on-board circuitry are described there in detail:
    Diagram of the ESP32-S3 Touch LCD 4.3 board with labeled and numbered connectors and electronic components. .
    A list describing components and functions of the ESP32-S3 Touch LCD 4.3 board. .
    The board has the classic LVGL demo preloaded - just like the others in the series. Here, too, it feels that the FPS is quite low.


    .

    The ESP32_Display_Panel can be uploaded to the board, as I have shown for the ESP32-S3-Touch-LCD-5 board . It's just that in this case we should uncomment the option with BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3, although in practice in my case it wasn't needed. These boards are so similar that the only difference was the size of the ESP32 Flash memory:
    ESP32-S3-WROOM-1 module on a PCB, next to a TF card slot and I2C, 3V3, and 5V markings. .
    ESP32-S3-WROOM-1 module with detailed markings on a PCB close-up. .
    Both are ESP32-S3-WROOM-1, but one is MCN8R8 - 8MB, the other is MCN16R8 - 16MB Flash. RAM 8MB in both. The program from the 16MB version does not even start:
    
    E (31) flash_parts: partition 3 invalid - offset 0x650000 size 0x640000 exceeds 
    flash chip size 0x800000
    
    E (32) boot: Failed to verify partition table
    
    .
    The solution turned out to be editing the BOARD_CUSTOM.json file - changing the default_16MB.csv partition table to default_8MB.csv, I also changed the Flash size in the upload section.
    Code: JSON
    Log in, to see the code
    .
    I have prepared simple example code for this, which sequentially creates different types of components within a single template:
    Code: C / C++
    Log in, to see the code
    .
    The above code creates successively:
    - a label (lv_label) with text in large font, centred on the screen
    - a container/template (lv_obj) with a flexible horizontal layout (LV_FLEX_FLOW_ROW) and spacing between elements
    - button with 'Click' label
    - text box (lv_textarea) with hint text "Text..."
    - checkbox (lv_checkbox) with the text "Agree"
    - line chart (lv_chart) with sample data
    - switch (lv_switch)
    - slider (lv_slider) with a range of 0-100 and a set value of 40
    - progress bar (lv_bar) with a set value of 70
    - a dropdown menu (lv_dropdown) with three options to choose from
    Result:
    Close-up of an ESP32-S3 touchscreen showing a LVGL app UI with GUI components, a dropdown menu, and FPS/CPU stats displayed. The ESP32-S3 LCD 4.3 touchscreen displays a graphical interface with a label, checkbox, chart, slider, and dropdown menu. .
    Basically, that's it - you can programme.

    Finally, a comparison between the 4.3" and 5" versions:
    Two ESP32-S3 touch displays on a white surface – the smaller one on the left, the larger one on the right. Two ESP32-S3 Touch LCD modules of different sizes, placed on a white background. .

    In summary , this was a very similar board to the already discussed Waveshare ESP32-S3-Touch-LCD-5 , there were no differences on the display control side. Only the ESP32 partitions had to be changed and it managed to be programmed just like the "five".
    The rest is identical to the "five", here too the display seemingly looks good, But the frame rate often drops quite low and it feels not as responsive as today's mobile devices.
    Do you have any ideas what kind of projects can be done on this type of display? I already have two, it's time to harness them to work somehow.
    I am attaching the board schematic.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 12106 posts with rating 10102, helped 579 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21562414
    krzbor
    Level 27  
    What puzzles me is why manufacturers do something like this. What is the purpose of this device? If I fix it on the wall, am I supposed to run wires out in all directions?
    The same if I add a stand for a free-standing device. Are the wires supposed to go off in different directions?
    Here is an example of how something like this is done (IP intercom example):
    ESP32-S3-Touch-LCD-4.3 i.e. ESP32-S3 and touchscreen - launching at PlatformIO .

    ESP32-S3-Touch-LCD-4.3 i.e. ESP32-S3 and touchscreen - launching at PlatformIO .

    All connectors fairly central, at the rear and perpendicular if possible
  • #3 21562661
    chemik_16
    Level 26  
    krzbor wrote:
    I wonder why manufacturers do something like this
    .
    you can make yourself a control panel for HA, nothing cheaper now.
    gpio they are making it out, rs485 is there so you can outofbox to make it a controller for the furnace under modbus.

    if someone sat down and made a good driver for this lcd there would be no problems with fps.
  • ADVERTISEMENT
  • #4 21562753
    krzbor
    Level 27  
    chemik_16 wrote:
    you can make yourself a control panel for HA, nothing cheap anymore.

    Exactly what I'm thinking of - an IOT control device, but the edge leads nullify the aesthetic use.
  • ADVERTISEMENT
  • #5 21563198
    chemik_16
    Level 26  
    >>21562753 .
    Because what we have here is the cartridge itself, they still sell frames for it
  • #6 21563523
    krzbor
    Level 27  
    Has anyone bought or analysed buying something like this:

    ESP32-S3-Touch-LCD-4.3 i.e. ESP32-S3 and touchscreen - launching at PlatformIO .

    Link . I am concerned with how it performs.
  • #7 21563535
    chemik_16
    Level 26  
    >>21563523 .
    You buy any tablet and lan card on usb as you need.
    I generally use android tablets for HA but they have all sorts of flops, they reset, battery swells after a while etc.
  • #8 21563632
    krzbor
    Level 27  
    chemik_16 wrote:
    Generally I use android tablets for HA, but they have all sorts of freaks, they reset, the battery swells after a while etc.
    .
    I know this, which is why I asked about the indicated tablet. There is no battery there, there is POE.
  • #9 21563636
    chemik_16
    Level 26  
    It's not cheap, the battery can be given smaller, or you can buy an android photo frame, there is no battery ;) but this from the insert will come out cheaper
  • #10 21563657
    p.kaczmarek2
    Moderator Smart Home
    chemik_16 wrote:
    reset, battery swells after some time etc.
    .
    And it's not possible to convert it so that it's powered directly from the power supply, without a battery at all? I'm assuming you're talking about the tablet as a desktop controller. I remember that when the charging circuit in my old Xiaomi phone died I was able to get it to work by applying voltage to the battery connector.
    Helpful post? Buy me a coffee.
  • #11 21563676
    chemik_16
    Level 26  
    >>21563657 .
    It can be done, generally this product above is nothing more than a Chinese tablet scaled down from a battery, with a poe to usb converter.
    Worse with the rest of the pains, you have to somehow keep the tablet in kiosk mode. So that the application stands up on its own at start-up and cannot be switched over.
  • #12 21563864
    dktr
    Level 25  
    This microcontroller is too slow for such resolutions, 10 FPS is however not enough - we are talking about a touch-controlled user interface, the data display itself as OK.
  • ADVERTISEMENT
  • #13 21563934
    chemik_16
    Level 26  
    >>21563864 .
    120fps needed to turn something on with a button ? :)
  • #14 21563970
    dktr
    Level 25  
    120 is not necessary, but the 30 must be so that the device gives the impression of being modern and not a mulled crisper made a dozen years ago ;)
  • #15 21564031
    chemik_16
    Level 26  
    >>21563970 .
    Well, the only thing that slows me down is moving the demo between tabs and I think the touch, so the cpu is practically 0% loaded when displaying animations. Clearly a lack of optimisation in the lvgl libraries.
  • #16 21564323
    khoam
    Level 42  
    p.kaczmarek2 wrote:
    Information about the board is best checked on the manufacturer's official website.
    .
    There it also gives information on what settings are needed for the ESP-IDF to make this LVGL work a little better. This unfortunately involves a recompilation of the whole ESP-IDF, so the Arduino SDK is rather off. In general, using LVGL in an Arduino environment with ESP32 is IMHO a bit of a misunderstanding, unless for educational purposes.

    dktr wrote:
    This microcontroller is too slow for such resolutions, 10 FPS is not enough though - we are talking about touch-controlled user interface, just displaying data as OK as possible.
    .
    Of course it does. You can't even install android/Linux on this ESP32.
  • #17 21564329
    p.kaczmarek2
    Moderator Smart Home
    The essential question now is whether this pre-loaded demo is already with these optimisations?

    I've had a look at the project I'm basing it on and only some of the settings have it differently, but at the same time with heavy screens there I have an FPS comparable to this demo, and with simpler ones slightly better. I'd have to test a bit more to determine how optimised ESP32_Display_Panel actually is, though.
    Helpful post? Buy me a coffee.
📢 Listen (AI):

Topic summary

The discussion centers on the ESP32-S3 Touch LCD 4.3 module, a 4.3" touchscreen device powered by the ESP32-S3 dual-core Xtensa LX7 processor (up to 240 MHz) with 8MB Flash and 8MB external SRAM. It features multiple peripherals including RS485, CAN, I2C, a lithium battery charger, microSD slot, and dual USB Type-C connectors. The module is available domestically for about 175 PLN or cheaper via import. Users debate its practical applications, particularly as a home automation (HA) control panel or IoT device, noting the challenge of edge-mounted connectors affecting aesthetics and installation. Comparisons are made to other solutions like Android tablets with LAN USB adapters, highlighting issues such as battery life, resets, and kiosk mode stability. Performance concerns focus on the microcontroller's limited ability to handle high frame rates for smooth touch interfaces, with 10 FPS deemed insufficient and 30 FPS suggested as a minimum for a modern feel. The LVGL graphics library is discussed, with optimization challenges requiring recompilation of ESP-IDF rather than Arduino SDK, limiting ease of use. The pre-loaded demo's optimization level remains uncertain, with some indications that heavy screens still yield low FPS. Overall, the module is seen as a cost-effective but technically demanding option for embedded touchscreen control, requiring careful software optimization and hardware integration considerations.
Summary generated by the language model.
ADVERTISEMENT