Skip to main content

Working with Arduino

ESP32-S3 Applications

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 DefinitionV1 VersionV2 Version
    #define PWDN_GPIO_NUM-1-1
    #define RESET_GPIO_NUM-1-1
    #define XCLK_GPIO_NUM3439
    #define SIOD_GPIO_NUM1515
    #define SIOC_GPIO_NUM1616
    #define Y9_GPIO_NUM1414
    #define Y8_GPIO_NUM1313
    #define Y7_GPIO_NUM1212
    #define Y6_GPIO_NUM1111
    #define Y5_GPIO_NUM1010
    #define Y4_GPIO_NUM99
    #define Y3_GPIO_NUM88
    #define Y2_GPIO_NUM77
    #define VSYNC_GPIO_NUM3642
    #define HREF_GPIO_NUM3541
    #define PCLK_GPIO_NUM3746
  • 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:

    esp32-7670-cam

TF-Card

  • Insert the TF-Card into the TF card slot

    ESP32-S3-A-SIM7670X Back

  • 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

    Terminal Display File Content

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:

ESP32-RGB Animation

BAT

Note

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 PinVersionSDASCLInitialization Code
    ESP32-S3 IOV1 VersionGPIO3GPIO2Wire.begin(3, 2)
    ESP32-S3 IOV2 VersionGPIO15GPIO16Wire.begin(15, 16)
  • Flash the example program. The battery alert threshold can be modified as needed

    MAX17048 Test

Waveshare Cloud Application

Note

This application communicates with the A7670E via the ESP32-S3 software serial. It sends AT commands to enable GNSS, parses the NMEA GNSS data, and uploads it to Waveshare Cloud. The specific location of the development board is then displayed on a map page using a Web View.

  • Please download the demo, unzip it, and open the GNSS-With-WaveshareCloud example code.
  • The map service provided by Waveshare Cloud is used here for demonstration

Configuration Steps

  • Go to the Devices | Attributes page, create a device of any type, and obtain the corresponding MQTT connection parameters.

    Waveshare Cloud GPS Test

  • Fill in the obtained MQTT parameters into the GNSS-With-WaveshareCloud example program.

    GNSS With Waveshare Cloud Parameter Configuration

  • Compile and flash the program. You can then view the real-time location information of the development board on the Waveshare Cloud map page.

    GNSS ESP32-S3 A7670E Waveshare Cloud