Modem Console (ESP32-S3 Quectel EG21)

Erhan Namlı

Embedded Systems Developer
Software Engineer
C
Linux
The project is centered around an ESP32-S3 microcontroller, integrated with a Quectel EG21 modem. The goal of the project is to enable the ESP32-S3 to send HTTP GET and PUT requests over a mobile network using the Quectel modem. The ESP32-S3, with PSRAM enabled, manages modem communication and performs tasks like connecting to a server, sending data, and receiving responses. The project is useful for IoT applications that require remote communication via cellular networks.
Key Features:
Modem Communication: The project sets up communication between the ESP32-S3 and the Quectel EG21 modem via AT commands. This involves configuring the modem to connect to a mobile network, managing APN settings (such as Vodafone Turkey's internet APN), and enabling data transmission.
HTTP GET and PUT Requests: The ESP32-S3 uses the modem to make HTTP requests. This allows the device to interact with web servers, which is essential for IoT data logging, monitoring, or control applications. The project includes sample code for sending both GET (retrieve data) and PUT (update data) requests.
PSRAM Management: The project takes advantage of the extra PSRAM available on the ESP32-S3 to handle larger data transmissions. This is particularly useful when dealing with larger payloads or managing file uploads.
Heroku Test Server: A test server on Heroku (app-esp32-modem-test) was set up to simulate interactions between the ESP32 and a real-world web server. This server was used to verify the success of the HTTP requests made by the ESP32.
Modular Code: The project is organized in a modular way, enabling users to extend or customize it for different network configurations or HTTP operations. The code is well-commented, making it easy to understand and adapt to other use cases.
Use Cases:
Remote Sensor Monitoring: Use the ESP32-S3 to send sensor data over a cellular network to a remote server.
IoT Data Logging: Automatically log data to cloud servers or databases using HTTP PUT requests.
Remote Control: Send control commands to IoT devices in remote locations via HTTP GET requests.
Here’s the link to the project: https://github.com/erhan-namli/modem_console_test
Partner With Erhan
View Services

More Projects by Erhan