
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.
Cool? Ranking DIY Helpful post? Buy me a coffee.