https://github.com/dark-thirty/esp32-cam-ili9341lcd-lvgl
esp32-cam ili9341LCD LVGL
https://github.com/dark-thirty/esp32-cam-ili9341lcd-lvgl
esp-bsp esp-lcd esp32 esp32-cam ili9341 lvgl9
Last synced: 4 months ago
JSON representation
esp32-cam ili9341LCD LVGL
- Host: GitHub
- URL: https://github.com/dark-thirty/esp32-cam-ili9341lcd-lvgl
- Owner: dark-thirty
- License: mit
- Created: 2024-11-14T20:29:42.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-12-23T21:35:43.000Z (7 months ago)
- Last Synced: 2025-01-20T12:06:15.292Z (6 months ago)
- Topics: esp-bsp, esp-lcd, esp32, esp32-cam, ili9341, lvgl9
- Language: C
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Board Support Package (esp-bsp component) modified for esp32-cam using ESP-IDF 5.3, 2,8" ili9341 LCD display and LVGL 9.x
Esp32-cam connected to 2.8" ili9341 LCD display using LVGL for video stream.
This project requires the esp-idf sdk 5.3.1.## Display Pins
| Pin Number on ILI9341 Display | Pin Number on ESP32-cam |
| ------------ | ------------ |
| 3.3V | 3.3V |
| GND | GND |
| CS | 12 |
| RESET* | 2* |
| DC | 13 |
| MOSI | 15 |
| CLK | 14 |
| LED | 3.3V |
| MISO | NC |* you can connect LCD RESET PIN directly to the EN/RESET PIN on esp32 MCU (see picture bellow).
## RESET PIN and GPIO33 access
ESP32 reset pin can be connected directly to the display's reset pin and so GPIO 2 can be used for other purposes.
The same goes for GPIO 33, for example for connecting a button or the touch screen controller XPT2046.
## LVGL configuration settings
#### You can choose to build with the default LVGL configuration settings from:
`idf.py menuconfig`
`Menu → Component config → LVGL configuration → Memory Settings:`
#### and:
```
Malloc functions source (Standard C functions malloc/realloc/free) --->String functions source (Standard C functions memcpy/memset/strlen/strcpy) --->
Sprintf functions source (Standard C functions vsnprintf) --->
```#### or change to custom
` LVGL's built in implementation ` settings *(included in ` sdkconfig.defaults ` )*:
```
(64) Size of the memory used by lv_malloc() in kilobytes (>= 2kB)(0) Size of the memory expand for lv_malloc() in kilobytes
(0x0) Address for the memory pool instead of allocating it as a normal array
```https://github.com/user-attachments/assets/57fe843d-6d39-4114-9fc7-1b7ccc4c6532

### Example of connecting a ILI9341 display and a XPT2046 touch panel to the same SPI bus
| Pin Number on ILI9341 Display | Pin Number on ESP32-cam |
| ------------ | ------------ |
| 3.3V | 3.3V |
| GND | GND |
| CS | 12 |
| RESET* | esp32 RESET PIN |
| DC | 13 |
| MOSI (T_DIN) | 15 |
| SCK (T_CLK) | 14 |
| LED | 3.3V |
| MISO (T_DO) | 33 |
| T_CS | 2 |
| T_IRQ | NC |