English | 中文
| Version | Update date | Update description |
|---|---|---|
| T-CameraPlus-S3_V1.0-V1.1 | 2023-10-23 | Original version |
| T-CameraPlus-S3_V1.2 | 2025-04-17 | Improve WiFi performance, modify the microphone model, and modify the pin number to optimize the routing. |
| Product | SOC | FLASH | PSRAM | Link |
|---|---|---|---|---|
| T-CameraPlus-S3_V1.2 | ESP32S3 | 16M | 8M | LILYGO Mall |
T-CameraPlus-S3 is an intelligent camera module developed based on the ESP32S3 chip, equipped with a 240x240 TFT display, digital microphone, speaker, independent button, power control chip, SD card module, etc. It comes with a basic UI written based on LVGL, which can achieve functions such as file management, music playback, recording, and camera projection (if the factory does not write the program, you need to manually burn the UI program named "Lvgl_UI").
- Chip: ESP32-S3
- PSRAM: 8M
- FLASH: 16M
- Relevant information:
- Screen Model: fp-133h0M1d
- Size: 1.3-inch
- Resolution Ratio: 240x240px
- Screen Type: TFT
- Driver Chip: ST7789V
- Bus Communication Protocol: Standard SPI
- Dependent libraries:
- Chip: CST816S
- Bus Communication Protocol: IIC
- Dependent libraries:
- Driver Chip: MAX98357A
- Bus Communication Protocol: IIS
- Others: Default configuration is Left/2 + Right/2 channels, gain of 9dB. To change the configuration, refer to the T-CameraPlus-S3 design schematic and adjust the resistors. The selected speaker should have a maximum rated power of 3.2W, with a impedance of around 4 ohms or less than 8 ohms.
- Relevant information:
- Dependent libraries:
- Driver Chip: MSM261S4030H0R
- Bus Communication Protocol: IIS
- Others: Default configuration is right channel. To change the configuration, refer to the T-CameraPlus-S3 design schematic and adjust the resistors.
- Chip: MSM261S4030H0R
- Bus Communication Protocol: IIS
- Others: Default configuration is right channel. To change the configuration, refer to the T-CameraPlus-S3 design schematic and adjust the resistors.
- Relevant information:
- Dependent libraries:
- Chip: MP34DT05-A
- Bus Communication Protocol: PDM
- Others: Default configuration is right channel. To change the configuration, refer to the T-CameraPlus-S3 design schematic and adjust the resistors.
- Relevant information:
- Dependent libraries:
- CameraModel: OV2640
- IR Filter Driver: AP1511B
- Relevant information:
OV2640_Hardware_Application_V1.04
OV2640_Software_Application_V1.03
- Chip: SY6970
- Relevant information:
- Dependent libraries:
| Example | [Platformio IDE][espressif32-v6.5.0][Arduino IDE][esp32_v2.0.14] |
[vscode][esp-idf-v5.4.0] |
Description | Picture |
|---|---|---|---|---|
| Wifi_Scan | ||||
| Lvgl_UI | Product factory original testing | |||
| Wifi_Music | ||||
| SD_Music | ||||
| DMIC_ReadData | ||||
| SD_DMIC | ||||
| TFT | ||||
| IIC_Scan_2 | ||||
| Camera_WebServer | ||||
| CST816D | ||||
| GFX_Test | ||||
| SY6970 | ||||
| SD_MJPEG | ||||
| Camera_Screen | ||||
| Camera_Screen_OV5640_Auto_Focus | ||||
| Camera_WebServer_OV5640_Auto_Focus | ||||
| Voice_Speaker | ||||
| iic_scan | ||||
| afe |
| Firmware | Description | Picture |
|---|---|---|
| Lvgl_UI (V1.0-V1.1) | Factory firmware with the LVGL UI for T-CameraPlus-S3 V1.0-V1.1. | |
| Lvgl_UI (V1.2) | Factory firmware with the LVGL UI for T-CameraPlus-S3 V1.2. | |
| Wifi_Iperf (V1.0.0) | Wi-Fi TCP/UDP throughput test firmware. See the test commands. | |
| xiaozhi (V2.1.0, board V1.0-V1.1) | Xiaozhi AI voice assistant firmware for T-CameraPlus-S3 V1.0-V1.1. | |
| xiaozhi (V2.1.0, board V1.2) | Xiaozhi AI voice assistant firmware for T-CameraPlus-S3 V1.2. |
-
Install VisualStudioCode,Choose installation based on your system type.
-
Open the "Extension" section of the Visual Studio Code software sidebar(Alternatively, use "Ctrl+Shift+X" to open the extension),Search for the "PlatformIO IDE" extension and download it.
-
During the installation of the extension, you can go to GitHub to download the program. You can download the main branch by clicking on the "<> Code" with green text, or you can download the program versions from the "Releases" section in the sidebar.
-
After the installation of the extension is completed, open the Explorer in the sidebar(Alternatively, use "Ctrl+Shift+E" go open it),Click on "Open Folder," locate the project code you just downloaded (the entire folder), and click "Add." At this point, the project files will be added to your workspace.
-
Open the "platformio.ini" file in the project folder (PlatformIO will automatically open the "platformio.ini" file corresponding to the added folder). Under the "[platformio]" section, uncomment and select the example program you want to burn (it should start with "default_envs = xxx") Then click "√" in the bottom left corner to compile,If the compilation is correct, connect the microcontroller to the computer and click "→" in the bottom left corner to download the program.
-
Install Arduino,Choose installation based on your system type.
-
Open the "example" directory within the project folder, select the example project folder, and open the file ending with ".ino" to open the Arduino IDE project workspace.
-
Open the "Tools" menu at the top right -> Select "Board" -> "Board Manager." Find or search for "esp32" and download the board files from the author named "Espressif Systems." Then, go back to the "Board" menu and select the development board type under "ESP32 Arduino." The selected development board type should match the one specified in the "platformio.ini" file under the [env] section with the header "board = xxx." If there is no corresponding development board, you may need to manually add the development board from the "board" directory within your project folder.
-
Open menu bar "File" -> "Preferences" ,Find "Sketchbook location" here,copy and paste all library files and folders from the "libraries" folder in the project directory into the "libraries" folder in this directory.
-
Select the correct settings in the Tools menu, as shown in the table below.
| Setting | Value |
|---|---|
| Board | ESP32S3 Dev Module |
| Upload Speed | 921600 |
| USB Mode | Hardware CDC and JTAG |
| USB CDC On Boot | Enabled |
| USB Firmware MSC On Boot | Disabled |
| USB DFU On Boot | Disabled |
| CPU Frequency | 240MHz (WiFi) |
| Flash Mode | QIO 80MHz |
| Flash Size | 16MB (128Mb) |
| Core Debug Level | None |
| Partition Scheme | 16M Flash (3MB APP/9.9MB FATFS) |
| PSRAM | QSPI PSRAM |
| Arduino Runs On | Core 1 |
| Events Run On | Core 1 |
-
Select the correct port.
-
Click "√" in the upper right corner to compile,If the compilation is correct, connect the microcontroller to the computer,Click "→" in the upper right corner to download.
-
Install Visual Studio Code by selecting the appropriate version for your operating system.
-
Open the "Extensions" sidebar in Visual Studio Code (or use Ctrl+Shift+X to open extensions), search for the "ESP-IDF" extension, and install it.
-
While the extension is installing, use the git command to clone the repository:
git clone --recursive https://github.com/Xinyuan-LilyGO/T-CameraPlus-S3.gitEnsure you include the
--recursiveflag during cloning. If you forget to include it, you will need to initialize the submodules later by running:git submodule update --init --recursive -
Download and install ESP-IDF v5.4.1. Take note of the installation path. Open the previously installed "ESP-IDF" extension and select "Configure ESP-IDF Extension." Choose the "USE EXISTING SETUP" menu, then select "Search ESP-IDF in system." Correctly configure the installation path you noted earlier:
- Enter ESP-IDF directory (IDF_PATH):
Your installation path xxx\Espressif\frameworks\esp-idf-v5.4 - Enter ESP-IDF Tools directory (IDF_TOOLS_PATH):
Your installation path xxx\Espressif
Click the "Install" button at the bottom right to proceed with the framework installation.
- Enter ESP-IDF directory (IDF_PATH):
-
Click the "SDK Configuration Editor" in the ESP-IDF extension menu at the bottom of Visual Studio Code. In the search bar, look for the field "Select the example to build" and choose the project you want to compile. Then, search for "Select the camera type" and select the camera model integrated on your board. Save the settings.
-
Click "Set Espressif Device Target" in the bottom menu bar of Visual Studio Code and select ESP32S3. Next, click "Build Project" in the bottom menu bar and wait for the build to complete. Then, click "Select Port to Use," followed by "Flash Project" to upload the program.
-
Open the project file "tools" and locate the ESP32 burning tool. Open it.
-
Select the correct burning chip and burning method, then click "OK." As shown in the picture, follow steps 1->2->3->4->5 to burn the program. If the burning is not successful, press and hold the "BOOT-0" button and then download and burn again.
-
Burn the file in the root directory of the project file "firmware" file,There is a description of the firmware file version inside, just choose the appropriate version to download.
lcd pins esp32s3 pins MOSI IO35 SCLK IO36 RST IO33 BL IO46 CS IO34 DC IO45
iis microphone msm261s4030h0r pins esp32s3 pins BCLK IO18 WS IO39 DATA IO40
amplifier max98357a pins esp32s3 pins BCLK IO41 LRCLK IO42 DATA IO38
sd pins esp32s3 pins CS IO21 SCLK IO36 MOSI IO35 MISO IO37
power management ic sy6970 pins esp32s3 pins SDA IO1 SCL IO2 INT IO47
camera module ov2640 pins esp32s3 pins RESET IO3 XCLK IO7 SIDO IO1 SIOC IO2 D7 IO6 D6 IO8 D5 IO9 D4 IO11 D3 IO13 D2 IO15 D1 IO14 D0 IO12 VSYNC IO4 HREF IO5 PCLK IO10
touch chip pins esp32s3 pins SDA IO1 SCL IO2 RST IO48 INT IO47
lcd pins esp32s3 pins MOSI IO34 SCLK IO35 BL IO46 CS IO36 DC IO45
PDM Microphone MP34DT05TR Pins esp32s3 pins LRCLK IO40 DATA IO38
amplifier max98357a pins esp32s3 pins BCLK IO41 LRCLK IO42 DATA IO39
sd pins esp32s3 pins CS IO21 SCLK IO35 MOSI IO34 MISO IO48
power management ic sy6970 pins esp32s3 pins SDA IO33 SCL IO37
camera module ov2640 pins esp32s3 pins XCLK IO7 SIDO IO1 SIOC IO2 D7 IO6 D6 IO8 D5 IO9 D4 IO11 D3 IO13 D2 IO15 D1 IO14 D0 IO12 VSYNC IO3 HREF IO5 PCLK IO10 PWDN IO4
touch chip pins esp32s3 pins SDA IO33 SCL IO37 INT IO47
| control pin for infrared cut filter switch of camera module ov2640 | esp32s3 pins |
|---|---|
| AP1511B_FBC | IO16 |
| key1 button pins | esp32s3 pins |
|---|---|
| KEY1 | IO17 |
| firmware | program | description | picture |
|---|---|---|---|
| Deep_Sleep_Wake_Up | Deep_Sleep_Wake_Up | Average current consumption: 1.7mA. For more details, please refer to the Power Consumption Test Log. |
- Q. After reading the above tutorials, I still don't know how to build a programming environment. What should I do?
- A. If you still don't understand how to build an environment after reading the above tutorials, you can refer to the LilyGo-Document document instructions to build it.
- Q. Why does Arduino IDE prompt me to update library files when I open it? Should I update them or not?
- A. Choose not to update library files. Different versions of library files may not be mutually compatible, so it is not recommended to update library files.
- Q. Why is there no serial data output on the "Uart" interface on my board? Is it defective and unusable?
- A. The default project configuration uses the USB interface as Uart0 serial output for debugging purposes. The "Uart" interface is connected to Uart0, so it won't output any data without configuration.
For PlatformIO users, please open the project file "platformio.ini" and modify the option under "build_flags = xxx" from "-D ARDUINO_USB_CDC_ON_BOOT=true" to "-D ARDUINO_USB_CDC_ON_BOOT=false" to enable external "Uart" interface.
For Arduino users, open the "Tools" menu and select "USB CDC On Boot: Disabled" to enable the external "Uart" interface.
- Q. Why is my board continuously failing to download the program?
- A. Please hold down the "BOOT-0" button and try downloading the program again.




