Skip to content

Repository files navigation

T-CameraPlus-S3

English | 中文

Version iteration:

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.

PurchaseLink

Product SOC FLASH PSRAM Link
T-CameraPlus-S3_V1.2 ESP32S3 16M 8M LILYGO Mall

Directory

Describe

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").

Preview

Actual Product Image


Module

1. MCU

  • Chip: ESP32-S3
  • PSRAM: 8M
  • FLASH: 16M
  • Relevant information:

    Espressif

2. Screen

3. Touch

4. Speaker

  • 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:

    MAX98357A

  • Dependent libraries:

    arduino-libhelix-0.8.1
    ESP32-audioI2S-3.0.6

5. Microphone

  • 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.

T-CameraPlus-S3_V1.0-V1.1 version

  • 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:

    MSM261S4030H0R

  • Dependent libraries:

    DFRobot_MSM261
    Arduino_DriveBus-1.1.16

T-CameraPlus-S3_V1.2 version

  • 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:

    MP34DT05-A

  • Dependent libraries:

    Arduino_DriveBus-1.1.16

6. Camera

7. Power Management Chip

  • Chip: SY6970
  • Relevant information:

AN_SY6970 
EVB_SY6970

  • Dependent libraries:

XPowersLib-0.2.1
Arduino_DriveBus-1.1.16

QuickStart

Examples Support

Example [Platformio IDE][espressif32-v6.5.0]
[Arduino IDE][esp32_v2.0.14]
[vscode][esp-idf-v5.4.0] Description Picture
Wifi_Scan

alt text

Lvgl_UI

alt text

Product factory original testing
Wifi_Music

alt text

SD_Music

alt text

DMIC_ReadData

alt text

SD_DMIC

alt text

TFT

alt text

IIC_Scan_2

alt text

Camera_WebServer

alt text

CST816D

alt text

GFX_Test

alt text

SY6970

alt text

SD_MJPEG

alt text

Camera_Screen

alt text

Camera_Screen_OV5640_Auto_Focus

alt text

Camera_WebServer_OV5640_Auto_Focus

alt text

Voice_Speaker

alt text

iic_scan

alt text

afe

alt text

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.

PlatformIO

  1. Install VisualStudioCode,Choose installation based on your system type.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Arduino

  1. Install Arduino,Choose installation based on your system type.

  2. 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.

  3. 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.

  4. 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.

  5. 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
  1. Select the correct port.

  2. 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.

ESP-IDF Visual Studio Code

  1. Install Visual Studio Code by selecting the appropriate version for your operating system.

  2. 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.

  3. While the extension is installing, use the git command to clone the repository:

     git clone --recursive https://github.com/Xinyuan-LilyGO/T-CameraPlus-S3.git
    

    Ensure you include the --recursive flag during cloning. If you forget to include it, you will need to initialize the submodules later by running:

     git submodule update --init --recursive  
    
  4. 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.
  5. 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.

  6. 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.

example

firmware download

  1. Open the project file "tools" and locate the ESP32 burning tool. Open it.

  2. 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.

  3. 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.

example example

PinOverview

T-CameraPlus-S3_V1.0-V1.1 版本

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

T-CameraPlus-S3_V1.2 版本

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

RelatedTests

Power Consumption

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.

FAQ

  • 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.

Project

About

T-CameraPlus-S3 is an intelligent camera module developed based on the ESP32S3 chip, equipped with a 240x240 TFT display, digital microphone, speaker, one independent button, power control chip, and SD card module.

Resources

Stars

32 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages