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

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.



Information about the board is best checked on the official manufacturer's website . The connectors and on-board circuitry are described there in detail:


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:


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
I have prepared simple example code for this, which sequentially creates different types of components within a single template:
Code: C / C++
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:


Basically, that's it - you can programme.
Finally, a comparison between the 4.3" and 5" versions:


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.
Comments
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... [Read more]
. 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... [Read more]
Exactly what I'm thinking of - an IOT control device, but the edge leads nullify the aesthetic use. [Read more]
. Because what we have here is the cartridge itself, they still sell frames for it [Read more]
Has anyone bought or analysed buying something like this: https://obrazki.elektroda.pl/8627627700_1748505394_thumb.jpg . Link . I am concerned with how it performs. [Read more]
. 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. [Read more]
. I know this, which is why I asked about the indicated tablet. There is no battery there, there is POE. [Read more]
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 [Read more]
. 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... [Read more]
. 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... [Read more]
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. [Read more]
. 120fps needed to turn something on with a button ? :) [Read more]
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 ;) [Read more]
. 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... [Read more]
. 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... [Read more]
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... [Read more]