Google Chat: zj734465502@gmail.com
+86-0755-88291180
sales01@spotpear.com
dragon_manager@163.com
services01@spotpear.com
manager01@spotpear.com
WhatsApp:13246739196
The ESP32-S3-SIM7670G-4G (hereinafter referred to as the development board) is a multifunctional, high-performance microcontroller development board designed by Waveshare. It integrates an SIM7670G 4G communication module, a universal OV camera interface, a TF card slot, RGB colorful LED, an 18650 battery holder (18650 battery is NOT included), a battery voltage measurement IC, a solar panel charging interface, and other peripherals. It employs the ESP32-S3R2, a System On Chip (SoC) that integrates low-power Wi-Fi and BLE5.0. Additionally, it comes with an external 16MB Flash and 2MB PSRAM. The SoC incorporates a hardware encryption accelerator, random number generator (RNG), HMAC, and digital signature modules, meeting the security requirements of the Internet of Things (IoT).
The A7670E 4G communication module provides mobile network capabilities, enabling functionalities like portable Wi-Fi and IoT data transmission when combined with the ESP32-S3R2. Its various low-power operating modes cater to power consumption demands in IoT, mobile devices, outdoor monitoring, smart home applications, and other scenarios.
The supported camera list is shown below:
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" |
This development board's ESP32-S3 UART to USB module and 4G module USB use the same Type-C interface, and you can choose the connection between the USB interface of the 4G module and the ESP32-S3 USB connector or the Type-C interface through the USB channel of the dip switch on the back of the development board. This function is mainly used when the ESP32-S3 uses Tiny USB 4G module communication as a portable WiFi, wireless hotspot.
The solar input selection resistor on the back of the development board can switch the maximum voltage of solar input. By default, the 0-ohm resistor is used to connect to the 5V marking position, supporting solar panels with 5~6V voltage input. When using solar panels with higher voltage input, the corresponding voltage solder joints should be shorted.
This chapter introduces the setup of the ESP-IDF environment, including the installation of Visual Studio, the Espressif IDF plugin, program compilation and download, as well as testing of sample programs. It aims to help users gain proficiency with the development board for secondary development.
①Select the corresponding demo
②Its readme will state what chip the demo applies to (how to use the demo and the file structure are described below, omitted here)
③Click to create the demo
①.ESP-IDF Development Environment Version Manager, when our project requires differentiation of development environment versions, it can be managed by installing different versions of ESP-IDF. When the project uses a specific version, it can be switched to by utilizing it
②.Device flashing COM port, select to flash the compiled program into the chip
③.Select set-target chip model, select the corresponding chip model, for example, ESP32-P4-NANO needs to choose esp32p4 as the target chip
④.menuconfig, click it to Modify sdkconfig configuration file Project configuration details
⑤.fullclean button, when the project compilation error or other operations pollute the compiled content, you can clean up all the compiled content by clicking it
⑥.Build project, when a project satisfies the build, click this button to compile
⑦.Current download mode, the default is UART
⑧.flash button, when a project build is completed, select the COM port of the corresponding development board, and click this button to flash the compiled firmware to the chip
⑨.monitor enable flashing port monitoring, when a project passes through Build --> Flash, click this button to view the log of output from flashing port and debugging port, so as to observe whether the application works normally
⑩.Debug
⑪.Build Flash Monitor one-click button, which is used to continuously execute Build --> Flash --> Monitor, often referred to as “little flame”
CMakeLists.txt
.CMake
first reads the content of the top-level CMakeLists.txt
in the project directory to read the build rules and identify the content to be compiled. When the required components and demos are imported into the CMakeLists.txt
, the compilation tool CMake
will import each content that needs to be compiled according to the index. The compilation process is as follows:Demo | Basic Description |
---|---|
Wireless_USB_flash_drive | The ESP32-S3-GEEK can be used as a USB disk with wireless access capabilities |
Program Description
Hardware connection
Code analysis
init_fat
to initialize file storageCode Burning
Result demonstration
AT Command | Command Description | Return |
AT+HTTPINIT | Open HTTP service | OK |
AT+HTTPPARA="URL",https://www.waveshare.cloud/api/sample-test/ | Connect to the remote server | OK |
AT+HTTPDATA=5,1000 | Input the data | DOWNLOAD <Enter hello OK |
AT+HTTPACTION=0 | Open HTTP request, 0:GET; 1:POST; 2:HEAD; 3:DELETE; 4:PUT | OK +HTTPACTION: 0,200,54 |
AT+HTTPTERM | Close HTTP service | OK |
AT+HTTPPARA | Set HTTP parameters | OK |
AT+HTTPHEAD | Read the HTTP response header message | OK |
AT+HTTPREAD | Read the HTTP response message | OK |
AT Command | Command Description | Return |
AT+CMQTTSTART | Open MQTT service | OK |
AT+CMQTTACCQ=0,"Waveshare-7670X",0 | Apply for MQTT client | OK |
AT+CMQTTCONNECT=0,"tcp://mqtt.easyiothings.com",20,1 | Send MQTT request, connect to the private MQTT server (MQTTS) | OK |
AT+CMQTTTOPIC=0,8 | Input the message to publish the topic | >A7670Pub OK |
AT+CMQTTPAYLOAD=0,9 | Input the message to be published | OK >waveshare |
AT+CMQTTPUB=0,0,60 | Publish the message | OK +CMQTTPUB: 0,0 |
AT+CMQTTSUB=0,8,1 | Subscribe to message topic | >A7670Sub OK +CMQTTSUBTOPIC: 0,0 [10:03:39.665]Receive←◆ +CMQTTRXSTART: 0,8,15 +CMQTTRXTOPIC: 0,8 A7670Sub +CMQTTRXPAYLOAD: 0,15 {"data":"test"} +CMQTTRXEND: 0 |
AT+CMQTTSTOP | Stop MQTT service | OK |
AT+CMQTTREL | Release the client | OK |
AT+CMQTTUNSUBTOPIC | Unsubscribe the topic | OK |
AT+CMQTTUNSUB | Release subscription | OK |
AT+CGNSSPWR=1 | Open GNSS | +CGNSSPWR: READY! |
AT+CGNSSTST=1 | Open GNSS data output | OK |
This demo is based on the CameraWebServer demo of the ESP32.
#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
const int SDMMC_CLK = 5; const int SDMMC_CMD = 4; const int SDMMC_DATA = 6; const int SD_CD_PIN = 46;
Onboard a WS2812b RGB LED, and the signal pin is 38.
After programming the sample demo, the LED light is expected to display a gradient color.
This development board utilizes the MAX17048 as the battery charge measurement IC.
Please download the demo, and open the GNSS-With-WaveshareCloud sample demo.
In this application, communication between ESP32-S3 and A7670E-FASE is established using ESP32-S3's software serial port. By sending AT commands, the GNSS (Global Navigation Satellite System) is activated, and NMEA GNSS data is parsed and uploaded to the Waveshare Cloud. The specific location of the development board is then displayed on a web view map page.
Here, we take the map service provided by Waveshare Cloud as an example:
1. Through Device|Attribute to create any devices, and obtain the MQTT connection data.
2. Enter the parameters in the GNSS-With-WaveshareCloud demo.
ESP32-S3 can perform PPP dial-up internet using both serial port and USB. In this example, TinyUSB protocol is utilized, and USB enumeration addresses are used for dial-up internet.
The code in this example is compiled and flashed using esp-idf. If using Arduino IDE, porting of TinyUSB and handling of PPP packets will be necessary.
The code in this example is compiled and flashed by esp-idf. To modify ESP32-S3 dial-up code, Arudino IDE needs to be ported tinyUSB and ppp packet processing, etc.
We do not assist in modifying the code, please do it yourself.
Currently, the development board connects to the A/SIM7670X 4G module's serial port using software serial port. After enabling GNSS functionality with AT commands, the module outputs satellite signal data through its serial port. AT command can also be sent to the serial port at the moment. Execute the Publish command to publish the required data and filtering of NMEA signal data is required for listening to the returned values from the platform.
The default setting is null for the portable WiFi demo, if the module can't recognize the SIM card APN operator automatically, you need to modify the provided source code, refer to README.md in the directory of ESP32-S3-A-SIM7670X-4G-example.
The specific steps are as follows:
1. Refer to the ESP-IDF chapter of the development environment configuration, install the ESP-IDF development environment and vscode programming tools.
2. Use vscode to open the example program and enter menuconfig to set APN manually.
3. Upload the demo to the development board, power off, and reboot the development board.
All the example demos provided use libraries downloaded and installed from the Arduino IDE library. These library files are constantly being updated and iterated upon, so often a library might be missing and can be directly downloaded and installed in the Arduino IDE.
Plug in the GPS antenna to the GNSS antenna socket and place the receiver label face down in an open outdoor area (note that it can't be tested in cloudy and rainy weather), and you need to wait for about 1 minute to receive the positioning signal when powering on;
Please configure as shown below:
To realize the hotspot function:
0) X7670X to register to the network and successfully dial up to the Internet 1) Turn on the 4G dip switch on the back of the board, turn off the USB, and re-power on the board. 2) Correctly download the corresponding firmware, don't confuse the A7670 and SIM7670 firmware, remember to check the box.
(1) the first time on the battery (that is, after the installation of the battery) need to be connected to the power supply to activate the protection mechanism (this mechanism is to prevent the reverse connection), the battery is fully charged, you can not need to connect the power supply!
(2) In addition, it can also be discharged to activate, typec interface in addition to charging, but also for external equipment power supply, so that the module to external equipment power supply to achieve the purpose of discharging, but also activated!
Monday-Friday (9:30-6:30) Saturday (9:30-5:30)
Email: services01@spotpear.com