LCD는 ILI9341 인듯하다. 케이스에는 7789 라더니 개뻥이었나.
Demo_LVGL(idf-4.3) 라고 되어있어서 idf-4.3을 다운로드 받아 설치하고 환경 변수 잡아주고
| mkdir -p ~/esp cd ~/esp git clone -b v4.3 --recursive https://github.com/espressif/esp-idf.git ./install.sh . $HOME/esp/esp-idf/export.sh |
[링크 : https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/get-started/index.html#step-2-get-esp-idf]
[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/versions.html]
빌드해서
| $ idf.py build |
넣어주면
| $ idf.py flash -p /dev/ttyUSB1 /home/minimonk/esp/esp-idf43/tools/check_python_dependencies.py:23: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources /home/minimonk/esp/esp-idf43/tools/idf.py:384: DeprecationWarning: 'MultiCommand' is deprecated and will be removed in Click 9.0. Use 'Group' instead. class CLI(click.MultiCommand): Executing action: flash Running ninja in directory /home/minimonk/5_35_LVGL_Full_Test-S024/build Executing "ninja flash"... [1/4] Performing build step for 'bootloader' ninja: no work to do. [1/2] cd /home/minimonk/esp/esp-idf43/c...nents/esptool_py/run_serial_tool.cmake esptool.py esp32 -p /dev/ttyUSB1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 lvgl-demo.bin esptool.py v3.1-dev Serial port /dev/ttyUSB1 Connecting....... Chip is ESP32-D0WD-V3 (revision 3) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: 5c:01:3b:33:c6:b0 Uploading stub... Running stub... Stub running... Changing baud rate to 460800 Changed. Configuring flash size... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x00001000 to 0x00007fff... Flash will be erased from 0x00010000 to 0x00074fff... Compressed 3072 bytes to 103... Writing at 0x00008000... (100 %) Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 488.3 kbit/s)... Hash of data verified. Compressed 25056 bytes to 15381... Writing at 0x00001000... (100 %) Wrote 25056 bytes (15381 compressed) at 0x00001000 in 0.7 seconds (effective 272.5 kbit/s)... Hash of data verified. Compressed 412096 bytes to 242315... Writing at 0x00010000... (6 %) Writing at 0x00019393... (13 %) Writing at 0x00022bdb... (20 %) Writing at 0x000285ac... (26 %) Writing at 0x0002e521... (33 %) Writing at 0x000341bb... (40 %) Writing at 0x0003a063... (46 %) Writing at 0x0004196e... (53 %) Writing at 0x000471d6... (60 %) Writing at 0x0004cf75... (66 %) Writing at 0x00052dee... (73 %) Writing at 0x00058bce... (80 %) Writing at 0x00062282... (86 %) Writing at 0x0006a20c... (93 %) Writing at 0x0006fb38... (100 %) Wrote 412096 bytes (242315 compressed) at 0x00010000 in 5.8 seconds (effective 570.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... Done |
깨져서 나온다.

최상위 디렉토리에서 sdkconfig 파일을 열어 몇 개 수정해보면 될 거 같은데
# # Touchpanel Configuration (XPT2046) # CONFIG_LVGL_TOUCH_X_MIN=200 CONFIG_LVGL_TOUCH_Y_MIN=120 CONFIG_LVGL_TOUCH_X_MAX=1900 CONFIG_LVGL_TOUCH_Y_MAX=1900 # CONFIG_LVGL_TOUCH_XY_SWAP is not set CONFIG_LVGL_TOUCH_INVERT_X=y CONFIG_LVGL_TOUCH_INVERT_Y=y # end of Touchpanel Configuration (XPT2046) # end of LVGL Touch controller # # LVGL TFT Display controller # CONFIG_LVGL_PREDEFINED_DISPLAY_NONE=y # CONFIG_LVGL_PREDEFINED_DISPLAY_WROVER4 is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_M5STACK is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICK is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICKC is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_ERTFT0356 is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_MPI3501 is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_ATAG is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_RA8875 is not set # CONFIG_LVGL_PREDEFINED_DISPLAY_TTGO is not set CONFIG_LVGL_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LVGL_TFT_DISPLAY_PROTOCOL_SPI=y CONFIG_LVGL_PREDEFINED_PINS_NONE=y # CONFIG_LVGL_PREDEFINED_PINS_38V4 is not set # CONFIG_LVGL_PREDEFINED_PINS_30 is not set # CONFIG_LVGL_PREDEFINED_PINS_38V1 is not set # CONFIG_LVGL_PREDEFINED_PINS_TKOALA is not set CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set # CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set CONFIG_LVGL_TFT_DISPLAY_SPI_HSPI=y # CONFIG_LVGL_TFT_DISPLAY_SPI_VSPI is not set # CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT is not set # CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE is not set CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED=y CONFIG_LVGL_DISPLAY_ORIENTATION=3 #CONFIG_LVGL_DISPLAY_WIDTH=320 CONFIG_LVGL_DISPLAY_WIDTH=240 #CONFIG_LVGL_DISPLAY_HEIGHT=240 CONFIG_LVGL_DISPLAY_HEIGHT=320 CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_1 is not set CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_2=y # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_3 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_4 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_5 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_6 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_7 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_8 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_9 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_10 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_12 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_16 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_20 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_24 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_32 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_40 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_48 is not set # CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_80 is not set CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # CONFIG_LVGL_INVERT_DISPLAY is not set # CONFIG_LVGL_INVERT_COLORS is not set CONFIG_LVGL_AXP192_PIN_SDA=21 CONFIG_LVGL_AXP192_PIN_SCL=22 |
정상인듯 정상이 아닌듯한 너.. -_-
그 와중에 화면 좌우로 바뀌고, 터치도 xy 뒤집히고 난리네 어떻게 잡냐..
+
[링크 : https://github.com/lvgl/lvgl_esp32_drivers/issues/234]
[링크 : https://forum.lvgl.io/t/how-to-run-lvgl-under-micropython-on-the-cheap-yellow-display/19142]

최대 프레임이 잡혀있는건진 모르겠지만 33 이상은 안나오고, 클럭 디바이더 2에서 사용하지 않음을 해주어도 변화가 없다.
| # CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2 |
일단 조금 복잡하면 25 프레임, 심플하면 33 프레임이 나온다.
'embeded > esp32' 카테고리의 다른 글
| esp32-2432S028 데이터 시트 (0) | 2026.01.17 |
|---|---|
| esp32-2432S028 보드 st7789 spi lcd driver? (0) | 2026.01.16 |
| esp32 와 spi lcd 성능 비..교? (0) | 2026.01.12 |
| esp32 c6 zigbee thread matter (0) | 2026.01.10 |
| esp32 benchmark (0) | 2025.11.18 |






















