An open API service indexing awesome lists of open source software.

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

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.

![rst_and_gpio33](https://github.com/user-attachments/assets/54e892b2-b67d-4d08-967b-5ce37a3f6be9)

## 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

![terminal](https://github.com/user-attachments/assets/7b17a434-453d-41e2-ad47-601f8f8c8a1a)

### 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 |