SIM900A GSM/GPRS Module
Dual-band cellular module for SMS and voice call projects.
Wiring & code for
SIM900A practical reference
An earlier dual-band GSM/GPRS module still popular for SMS-based alert systems and simple cellular call projects. Built around SIMCom's SIM900A chipset, it lets a microcontroller send and receive SMS messages, make and answer voice calls, and access basic GPRS data over a standard 2G cellular network, entirely through simple AT command sequences sent over UART — making it a long-standing favorite for remote alert systems, SMS-controlled switches, and IoT projects in areas without reliable Wi-Fi.
Key specifications
- Chipset: SIMCom SIM900A dual-band GSM/GPRS module
- Frequency bands: Dual-band 900/1800MHz (region-specific — check compatibility with local carriers before buying)
- Operating voltage: 3.4V–4.5V DC (a stable ~4V-5V regulated supply capable of ~2A peak is required for reliable operation)
- Operating current: ~0.5-1A average, spikes up to ~2A during transmit bursts
- SIM card: Standard-size 2G SIM card required
- Functions: SMS send/receive, voice calls, basic GPRS data (2G only — no 3G/4G support)
- Interface: UART, controlled via standard AT command set
- Audio: Onboard microphone and speaker connectors for voice call projects
Pinout and connection notes
The SIM900A needs a genuinely stable power supply capable of sourcing short current spikes near 2A during network registration and transmit bursts — insufficient power is the most common cause of random resets or failure to register on the network. Because this is a 2G-only module, confirm that your local carrier still supports 2G service before building around it, as many regions have begun sunsetting 2G networks.
- VCC: Power, requires a stable regulated supply (module-specific, commonly 5V input to an onboard regulator)
- GND: Ground
- TX: UART transmit — connect to microcontroller RX
- RX: UART receive — connect to microcontroller TX
- SIM slot: Standard 2G SIM card holder
- Antenna connector: External GSM antenna required — reception is very poor without one
Integration checklist
- Confirm the exact part number and breakout-board revision.
- Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
- Check controller pin assignments and bus address or interface mode against the example code.
- Power up with external loads disconnected, then test signals before full integration.
- If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.
Troubleshooting and reproducibility
Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.