Working with Arduino
ESP32-S3 Applications
Example path: ESP32-S3-A-SIM7670X-4G-V2 → Arduino-V3.3.4 → examples
Camera
This example is modified from the official ESP32 CameraWebServer example to adapt it for the ESP32-S3 platform.
-
Set the Wi-Fi SSID and password, and switch the default hardware to ESP32-S3
-
Turn on the CAM DIP switch on the back of the board and connect a supported camera
-
Confirm the Camera pin definitions as follows:
Pin Definition V1 Version V2 Version #define PWDN_GPIO_NUM-1 -1 #define RESET_GPIO_NUM-1 -1 #define XCLK_GPIO_NUM34 39 #define SIOD_GPIO_NUM15 15 #define SIOC_GPIO_NUM16 16 #define Y9_GPIO_NUM14 14 #define Y8_GPIO_NUM13 13 #define Y7_GPIO_NUM12 12 #define Y6_GPIO_NUM11 11 #define Y5_GPIO_NUM10 10 #define Y4_GPIO_NUM9 9 #define Y3_GPIO_NUM8 8 #define Y2_GPIO_NUM7 7 #define VSYNC_GPIO_NUM36 42 #define HREF_GPIO_NUM35 41 #define PCLK_GPIO_NUM37 46 -
After flashing the program, open the serial terminal. Access the IP address output by the serial monitor in a browser to view the camera feed, as shown in the following figure:

TF-Card
-
Insert the TF-Card into the TF card slot

-
Define the pins
const int SDMMC_CLK = 5;const int SDMMC_CMD = 4;const int SDMMC_DATA = 6;const int SD_CD_PIN = 46; -
Flash the program and open the terminal to display the file contents
RGB
This development board is equipped with one WS2812B RGB LED. The signal pin is GPIO38. After flashing the example program, the RGB LED will display a gradient effect, as shown in the following figure:

BAT
This development board uses the MAX17048 as the battery fuel gauge IC.
-
Confirm the I2C pin connections. There are differences in IO connections between the V1 and V2 versions:
MAX17048 Pin Version SDA SCL Initialization Code ESP32-S3 IO V1 Version GPIO3 GPIO2 Wire.begin(3, 2) ESP32-S3 IO V2 Version GPIO15 GPIO16 Wire.begin(15, 16) -
Flash the example program. The battery alert threshold can be modified as needed