ESP32 SIM900 / SIM900A GSM/GPRS Module

SIM900 / SIM900A GSM/GPRS Module image

SIM900 / SIM900A

Protocol: UART

Overview

The SIM900 is a versatile GSM/GPRS module that provides reliable communication capabilities for various applications. Its compact design and multiple interfaces make it an ideal choice for projects requiring cellular connectivity.

About SIM900 / SIM900A GSM/GPRS Module

The SIM900 is a complete GSM/GPRS module designed for M2M (Machine-to-Machine) communication. It supports voice, SMS, data, and fax over quad-band GSM networks, making it suitable for a wide range of embedded applications.

Key Features

  • Quad-Band GSM (850/900/1800/1900MHz) – Ensures global network compatibility.
  • Versatile Communication – Supports voice calls, SMS, GPRS data, and fax transmission.
  • Compact & Easy Integration – Standard interface for seamless device integration.
  • Ideal for IoT & M2M – Used in remote monitoring, security systems, and automation.

🔗 Still choosing a SIM module? Check the ESP32 SIM Modules Comparison Table to compare LTE, 3G, and GPRS options.

Where to Buy

SIM900 / SIM900A GSM/GPRS Module

Starting from

10.50$ per unit

Amazon com
Amazon.com Ships worldwide
View Price
Amazon de
Amazon.de Ships to EU
View Price
Aliexpress
AliExpress Best value
View Price

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

Frequency Bands GSM 850/900/1800/1900 MHz
GPRS Class 10
Operating Voltage 3.2V to 4.8V
Operating Temperature -40°C to +85°C
Dimensions 24mm x 24mm x 3mm

Pinout Configuration

The VCC pin is used to supply power to the sensor, and it typically requires 3.3V or 5V (refer to the datasheet for specific voltage requirements). The GND pin is the ground connection and must be connected to the ground of your ESP32.

The SIM900 pinout includes:

  • VBAT: Power supply input (3.2V to 4.8V).
  • GND: Ground connection.
  • TXD: UART Transmit Data (connects to microcontroller RX).
  • RXD: UART Receive Data (connects to microcontroller TX).
  • PWRKEY: Power on/off control (active low).
  • NETLIGHT: Network status indication.
  • STATUS: Module operating status indication.
  • ANT: Antenna connection.
  • SIM_VDD: SIM card power supply.
  • SIM_DATA: SIM card data I/O.
  • SIM_CLK: SIM card clock.
  • SIM_RST: SIM card reset.

Wiring with ESP32

To interface the SIM900 with a microcontroller, follow these steps:
  • Connect VBAT to a stable power supply within the range of 3.2V to 4.8V.
  • Connect GND to the system ground.
  • Connect TXD to the microcontroller's RX pin.
  • Connect RXD to the microcontroller's TX pin.
  • Control the PWRKEY pin to power the module on or off (active low).
  • Connect the ANT to a suitable GSM antenna for network connectivity.
  • Connect the SIM card interface pins (SIM_VDD, SIM_DATA, SIM_CLK, SIM_RST) to a SIM card holder as per the hardware design guidelines.

Troubleshooting Guide

Common Issues

🔌 Module Fails to Power On

📶 SIM Card Not Recognized

📡 Poor Network Signal or Connectivity Issues

⌨️ AT Commands Not Responding

🌡️ Module Overheating

Debugging Tips

🔍 Serial Monitor

⚡ Voltage Checks

Code Examples

Arduino Example

C++
🔧

ESP-IDF Example

C++
🏠

ESPHome Example

YAML
🛠️

PlatformIO Example

C++
🐍

MicroPython Example

Python

Conclusion

The ESP32 SIM900 / SIM900A GSM/GPRS Module is a powerful SIM sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.

For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.

Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.