I am currently working on an STM32-based embedded project to send data to an AWS server using the SIMCOM A7672S cellular module.
At present, the A7672S module is connected to an STM32F413RGT6 via UART (RX, TX, and GND), and the module is powered on through a GPIO control. The hardware setup is complete and functioning correctly.
Initially, the project was developed using STM32CubeIDE with FreeRTOS (CMSIS-RTOS) support. In this setup, we manually sent AT commands over UART to the A7672S module and successfully verified SIM status and network connectivity (for example, using commands such as AT+CPIN?), and basic connections were established.
We have now migrated the project to a native FreeRTOS implementation, using only FreeRTOS APIs. The FreeRTOS kernel has been integrated successfully, and two FreeRTOS tasks have been created and are running as expected.
Our current objective is to implement a native FreeRTOS-based MQTT connection to AWS IoT Core using the SIMCOM A7672S module, instead of manually handling AT commands in a blocking manner.
If a complete reference project or step-by-step implementation guide is not available, I kindly request any relevant documentation, application notes, or examples that would help map the A7672S AT command set for use with FreeRTOS and AWS IoT (MQTT/TLS) integration.
Thank you for your time and support. I look forward to your guidance.
The example links you shared are available; however, most of the provided examples are built using Visual Studio and run on the FreeRTOS Windows simulator.
In these examples, the code is compiled and executed on a Windows PC. During execution, only the SIMCom A7672S module is connected via USB, with the COM port predefined in the code. The application communicates with the module through this COM port while running on Windows.
These examples do not run directly on the target hardware (STM32 + GSM module). Instead, they execute on Windows using the FreeRTOS simulator environment.
However, our requirement is different. We need:
FreeRTOS running on STM32
STM32 FreeRTOS APIs to directly control and communicate with the SIMCom A7672S module
MQTT communication to be established from STM32 via the A7672S module, using FreeRTOS tasks, queues, and synchronization mechanisms
Please confirm whether there are STM32-targeted FreeRTOS examples or reference implementations available for this use case, or guide us on the recommended approach.
Please let me know if my understanding is correct.
You can use FreeRTOS-Cellular-Interface for communicating with the cellular module. You’ll likely need to write a port for your module.
It is not absolutely necessary if you want to just achieve connectivity with AWS IoT. coreMQTT library requires the application to provide an implementation of the transport interface and your implementation of transport interface can very well use AT commands. For example of transport interface implementations, you can refer to the examples that @rawalexe linked above.