ESP32-S3-A7670E-4G
| |||||||||||||||||||
illustrate
Product Introduction
The ESP32-S3-A7670E-4G (hereinafter referred to as the development board) is a versatile, high-performance microcontroller development board designed by Waveshare. Among them, the A7670E 4G communication module, OV universal camera interface, TF card slot, RGB dazzling lights, 18650 battery slot, battery voltage measurement IC, solar charging interface and other peripherals are onboard, and the ESP32-S3R2 is a system-on-chip (SoC) that integrates low-power Wi-Fi and BLE5.0, in addition to external 16MB Flash and 2MB PSRAM. Hardware cryptographic accelerators, RNG, HMAC, and Digital Signature modules inside the SoC meet the security requirements of the Internet of Things. The A7670E 4G communication module provides mobile network, and combined with ESP32-S3R2, it can realize functions such as portable WIFI and Internet of Things data transmission. A variety of low-power operating states meet the power consumption requirements of application scenarios such as the Internet of Things (IoT), mobile devices, outdoor surveillance, and smart home.
Product Features:
It is powered by a high-performance Xtensa® 32-bit LX7 dual-core processor clocked at up to 240 MHz
Supports 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth® 5 (LE) with onboard antennas
Built-in 512KB SRAM and 384KB ROM, stacked with 2MB PSRAM and 16MB Flash
Hardware description
On-board patch antenna, using 0R short optional external antenna, as shown in the figure (19), (20)
Onboard RGB colorful lamp beads, WS2812B driver, as shown in the figure (23)
On-board Camera interface: Use a 24pin camera cable interface, as shown in the figure (12)
The list of supported cameras is as follows:
model | max resolution | color type | Len Size |
OV2640 | 1600 x 1200 | color | 1/4" |
OV3660 | 2048 x 1536 | color | 1/5" |
OV5640 | 2592 x 1944 | color | 1/4" |
OV7670 | 640 x 480 | color | 1/6" |
OV7725 | 640 x 480 | color | 1/4" |
NT99141 | 1280 x 720 | color | 1/4" |
GC032A | 640 x 480 | color | 1/10" |
GC0308 | 640 x 480 | color | 1/6.5" |
GC2145 | 1600 x 1200 | color | 1/5" |
BF3005 | 640 x 480 | color | 1/4" |
BF20A6 | 640 x 480 | color | 1/10" |
SC101IOT | 1280 x 720 | color | 1/4.2" |
SC030IOT | 640 x 480 | color | 1/6.5" |
SC031GS | 640 x 480 | color | 1/6" |
Onboard TF-Card card slot, support file and picture storage, as shown in the figure (13)
On-board solar charging interface, as shown in the figure (18)
The solar input voltage can be switched by the rear input with different resistors
When the solar energy is charging, the onboard green LED will light up, as shown in the figure (26), (28)
On-board circuit switch, when using 18650 power supply, the switch can control the circuit on/off, as shown in the figure (31)
Onboard USB-to-UART chip and auto-download circuit, you can flash programs and firmware after connecting the Type-C cable, as shown in the figure (7)
ESP32-S3 USB is used onboard to connect to A/SIM7670X USB interface, and TinyUSB protocol can be used to achieve ppp dial-up Internet access as a portable WIFI function
Onboard 18650 battery interface, access to 3.7V single 18650 lithium battery, pay attention to the positive and negative signs of the lithium battery interface
The onboard yellow LED will light up for warning when the battery is reversed, as shown in the figure (25)
The GPIO is reserved for external device connection, which can be flexibly configured for peripheral functions such as I2C and SPI
Onboard GNSS IPEX1 generation interface, after powering on, you can use the relevant command to turn on the GNSS positioning function, as shown in the figure (21)
With onboard microphones and speaker interfaces, the A7670X series development board can use its call and receive functions, as shown in the figure (33) and (34)
The on-board DIP switch is convenient to control the power-on of Camera, USB HUB circuit, and 4G module, and can control the USB circuit switching of 4G module, as shown in the figure (30)
Onboard LED Light Description:
On-board battery anti-reverse LED, when the battery is reversed, the yellow light will be on, as shown in the figure (25)
On-board solar charging LED, green light when solar input voltage is active, as shown in the figure (26)
On-board power indicator, blue light when connected to the power supply is turned on, as shown in the figure (24)
The network indicator of the on-board module will light up red when the module is turned on, and it will flash 200ms after registering to the network, as shown in the figure (27)
Hardware connections
THE ESP32-S3 USB TO USB AND 4G MODULE USB PORT ARE PROVIDED WITH A TYPE-C PORT, AND USERS CAN CHOOSE THE USB PORT OF THE 4G MODULE TO ESP32-S3 OR THE USB-C PORT CONNECTION THROUGH THE USB CHANNEL OF THE DIP SWITCH ON THE BACK OF THE BOARD. This function is commonly used in ESP32-S3 when using TinyUSB communication 4G module to dial up the Internet, as a portable WIFI, wireless hotspot and other applications
Solar Charging Instructions
The solar input selector on the back of the board can switch the maximum solar input voltage. By default, the 0R resistor is used to connect the 5V marked position, and the solar panel that supports 5~6V voltage input is supported. When using a solar panel with a higher voltage input, the solder joints of the corresponding voltage should be shorted.
Product dimensions
Development environment configuration
The following development systems are Windows by default
Arduino
If you have not used the basic Arduino-ESP32, it is recommended to read the official documentation carefully, which can be viewed here
Install the Arduino IDE
Open the software download page on the official website, and select the corresponding system and system number of bits to download
You can choose to download it directly, or you can choose to donate and download
Run the installer and install all by default
Install arduino-esp32 online
Open Preferences
Add the corresponding board management link and click the button
In the first margin, add the following
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Save the settings
Open the board manager and search for the input ESP32
Wait for the download
The arduino-esp32 download is complete
Install arduino-esp32 offline
Offline package (extraction code: 1r4i)
Extraction code: 1r4i
Unzip the package
Place the extraction file in the Arduino package directory of the corresponding user
C:\Users\{username}\AppData\Local\Arduino15\packages\
Take the username Waveshare as an example
C:\Users\waveshare\AppData\Local\Arduino15\packages\
Close all Arduino windows and make sure Arduino is closed
Open Arduino, open the board manager, and see that ESP32-Arduino is already installed
Use Arduino routines
Select the routine, here we choose the routine to get the chip ID
Choose our board as ESP32S3 Dev Moudule
Select our port number, here we choose the COM5 of CH343
Click the download button, and it will be compiled and downloaded automatically
The download is complete
Turn on the serial monitor
See the chip ID of the loop output
ESP-IDF
It is recommended to use the VSC plugin for development
Developed using the VSCode plugin
Install VSCode
Open the download page of the VSCode official website and select the corresponding system and the number of bits of the system to download
After running the installation package, the rest can be installed by default, but here for the follow-up experience suggestions, it is recommended to check items 1, 2, and 3 in the box here
After the first two items are enabled, you can directly open VSCode through the right-click file or directory, which can improve the subsequent user experience.
After the third item is enabled, you can directly select VSCode when you select the opening method
Install the Espressif IDF plugin
Note: The latest version of the plug-in is V1.6.0, and users can choose the same version as us for the same experience
Open VSCode and use the shortcut Shift+Ctrl+X to enter the plugin manager
In the search bar, type Espressif IDF, select the corresponding plug-in and click install
Using the shortcut key F1, enter
esp-idf: configure esp-idf extension
Select Express (this tutorial is aimed at first-time installers, so only the initial generic installation tutorial will be covered)
When opened, the interface is displayed
To choose a download server, we recommend that domestic users use Espressif as your download server
Select the current ESP-IDF version, we choose the latest V5.0.1 (note that ESP-IDF only supports ESP32-S3 after V4.4)
The following two are the installation address of the ESP-IDF container and the installation address of the tools required by ESP-IDF.
Note: If you have installed ESP-IDF before, or if it has failed, be sure to delete the file completely or create a new path without Chinese
Once the configuration is complete, click install to download it
Go to the download page, it will automatically install the corresponding tools and environment, wait for a while
After the installation is complete, the following interface will be displayed, indicating that the installation is complete
Use the official routine
ESP officially provides us with a large number of routines, and writes detailed usage methods and effects, click here to view
Create a routine
Using the shortcut key F1, enter
esp-idf:show examples projects
Select your current IDF version
Take the Hello world routine as an example
(1) Select the corresponding routine
(2) Its readme will explain what chip the routine is applicable to (how to use the routine and file structure are introduced below, omitted here)
(3) Click Create Routine
Select the path where the routine will be placed, and require a folder with the same name for no routine
Modify the COM port
The corresponding COM port is displayed here, and you can click to modify the corresponding COM port
The COM of our CH343 is COM5, so we choose COM5, please select according to the corresponding COM port of your CH343
Select the project or routine to use
Then our COM port is modified
Modify the driver object
The driver object used is displayed here, and you can click it to modify the corresponding driver
Select the project or routine to use
You need to wait for a while after clicking
Select the object we need to drive, which is our main chip as the ESP32S3
Choose the openocd path, there is no impact on us here, so we can choose any one
Introduction to the rest of the status bars
(1) SDK configuration editor, many functions and configurations of ESP-IDF can be modified in it
(2) Clean up all and empty all compiled files,
(3) Compilation
(4) The current download method is UART by default
(5) Burn the current firmware, please do it after compilation
(6) Open the serial port monitor, which is used to view the serial port information
(7) Compile, burn, open the serial port monitor and the integrated button (the most commonly used during debugging)
Compilation, burning, serial port monitoring
Click the Compile, Burn, and Open Serial Monitor buttons that we introduced earlier
Compilation can take a long time to complete, especially on the first compilation.
During this process, ESP-IDF may consume a lot of CPU resources, which may cause the system to lag.
Because we are using CH343 as a USB to serial port chip, and there is an automatic download circuit on board, it can be automatically downloaded without manual operation
After the download is successful, it will automatically enter the serial port monitor, and you can see the corresponding information output of the chip and prompt it to restart after 10S
Routines
ESP32-S3 application
Camera
This example is an ESP32-based CameraWebServer routine
First of all, you need to set the WIFI name and password, and switch the default hardware to ESP32S3
Please turn on the CAM switch of the DIP switch on the back of the development board and plug in a supported camera
Confirm CameraPins
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 34
#define SIOD_GPIO_NUM 15
#define SIOC_GPIO_NUM 16
#define Y9_GPIO_NUM 14
#define Y8_GPIO_NUM 13
#define Y7_GPIO_NUM 12
#define Y6_GPIO_NUM 11
#define Y5_GPIO_NUM 10
#define Y4_GPIO_NUM 9
#define Y3_GPIO_NUM 8
#define Y2_GPIO_NUM 7
#define VSYNC_GPIO_NUM 36
#define HREF_GPIO_NUM 35
#define PCLK_GPIO_NUM 37
Burn the code and open the IP address prompted by the terminal
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 contents of the file
RGB
This board uses a WS2812b LED with a signal pin of 38
The LED light gradient changes after the sample code is burned
BAT
This board uses MAX17048 as a battery fuel gauge IC
Start by identifying the I2C pins
Flash code to change the threshold
On-the-go WIFI Demo app
This demo application uses the TinyUSB protocol stack to communicate with the 4G Cat-1 module, and uses ppp dial-up to directly supply ESP32-S3 to the network
This demo uses the compiled firmware, please download the Flash Tools download tool first
Download Firmware:
ESP32-S3-A7670E_USB_4G_CDC.bin
ESP32-S3-SIM7670G_USB_4G_CDC.bin
Open the Flash Tools tool, select the development mode, select the firmware, the address is 0x0, as shown in the figure, insert the SIM card to download the startup program
Turn on the DIP switch 4G on the back of the development board, turn off the USB, power on the development board again, wait for the colorful LED to display red, turn on the mobile phone and connect to WIFI: ESP32-S3-A-SIM7670X-4G-HAT, password: 12345678 to access the Internet
Waveshare Cloud App
Please download the sample program and open the GNSS-With-WaveshareCloud sample code
This application communicates with A7670E-FASE through the ESP32-S3 soft serial port, turns on GNSS by sending AT commands, parses NMEA GNSS data and uploads it to Waveshare Cloud, and displays the specific location of the development board through the Web View map page
Here is a demonstration of the map service provided by Waveshare Cloud: 1. Create any type of device through the device property page and obtain MQTT connection data
2. Fill in the parameters into the GNSS-With-WaveshareCloud program.