Integrating 4G GSM Modem (Cavili C16QS) with ESP32 using PPPoS in PlatformIO

Hello, PlatformIO community!

I’m a budding embedded system developer, and I’m currently working on a project in PlatformIO using the Arduino framework for ESP32. My aim is to integrate a Cavili C16QS 4G GSM modem with the ESP32 for data communication. I’m looking for guidance on using the PPPoS library in PlatformIO to establish this connection.

Relevant Information:

  • Hardware: ESP32 development board, Cavili C16QS GSM 4G module
  • Connections: I’ve connected the GSM module to the ESP32 using UART RX and TX pins.

Library Request: I’m seeking assistance in finding a suitable library that can be used to achieve this integration. Specifically, I need help with library selection, installation, and usage.

Expected Outcome: My goal is to establish a stable connection between the ESP32 and the Cavili C16QS GSM modem, allowing for data communication. Ultimately, I want to send and receive data through the GSM network.

If you have experience with libraries for ESP32-GSM communication, your insights would be highly appreciated.

I sincerely appreciate any guidance and assistance the community can provide to help me achieve this integration. If you have any further questions or need additional details, please don’t hesitate to ask. Thank you for your support!

Per https://www.cavliwireless.com/c-series/c16qs.html#three the modem probably has AT+ command interface running on the UART. That is only downloadable with a login. You should totally get that document and use a simple “serial bridge” code so that you can type commands in the serial monitor and have each character sent to the modem and back, to basically manually send AT commands. Some simple AT commands like AT or network queries should work.

If that works and you can send basic commands, you can look into whether some standard libraries like TinyGSM (GitHub - vshymanskyy/TinyGSM: A small Arduino library for GSM modules, that just works) work, or whether you can modify some other libraries like https://github.com/cavli-wireless/P32C1RM-Arduino.

In any case, I would surprise me very much if Cavli Wireless did not offer a standard library or reference code for interacting with their modems. Use their technical support for that.