

The GE864 is a compact GSM/GPRS module designed for wireless communication in embedded systems. It supports quad-band GSM/GPRS connectivity, making it suitable for global applications. The module is widely used in Internet of Things (IoT) applications, including remote monitoring, telemetry, asset tracking, and industrial automation. Its small form factor and low power consumption make it ideal for space-constrained and battery-powered devices.








The GE864 module offers robust performance and versatile features for wireless communication. Below are its key technical specifications:
The GE864 module has a 60-pin LGA (Land Grid Array) interface. Below is a summary of the key pins:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VBATT | Main power supply input (3.22V to 4.5V). |
| 2 | GND | Ground connection. |
| 3 | TXD | UART Transmit Data (connect to RXD of host MCU). |
| 4 | RXD | UART Receive Data (connect to TXD of host MCU). |
| 5 | RTS | UART Request to Send (optional hardware flow control). |
| 6 | CTS | UART Clear to Send (optional hardware flow control). |
| 7 | ON/OFF | Power-on control pin (active low). |
| 8 | RESET | Hardware reset pin (active low). |
| 9 | ADC_IN | Analog-to-digital converter input (0V to 2.8V). |
| 10 | GPIO1 | General-purpose I/O pin 1. |
| 11 | GPIO2 | General-purpose I/O pin 2. |
| 12 | NETLIGHT | Network status indicator (connect to an LED). |
| 13 | ANT | RF antenna connection (50Ω impedance). |
Note: For a complete pinout, refer to the official GE864 datasheet.
Below is an example of how to interface the GE864 module with an Arduino UNO for sending an SMS:
#include <SoftwareSerial.h>
// Define software serial pins for communication with GE864
SoftwareSerial ge864Serial(10, 11); // RX, TX
// Define the ON/OFF pin for the GE864 module
const int powerPin = 7;
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging
ge864Serial.begin(9600); // For GE864 communication
// Configure the power pin
pinMode(powerPin, OUTPUT);
digitalWrite(powerPin, HIGH); // Ensure the module is off initially
// Power on the GE864 module
powerOnGE864();
// Send an SMS
sendSMS("+1234567890", "Hello from GE864!");
}
void loop() {
// Continuously check for incoming data from the GE864 module
if (ge864Serial.available()) {
Serial.write(ge864Serial.read());
}
}
void powerOnGE864() {
// Pull the ON/OFF pin low for 1 second to power on the module
digitalWrite(powerPin, LOW);
delay(1000);
digitalWrite(powerPin, HIGH);
delay(5000); // Wait for the module to initialize
}
void sendSMS(const char* phoneNumber, const char* message) {
// Send AT commands to configure and send an SMS
ge864Serial.println("AT"); // Check communication
delay(1000);
ge864Serial.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
ge864Serial.print("AT+CMGS=\"");
ge864Serial.print(phoneNumber);
ge864Serial.println("\""); // Set recipient phone number
delay(1000);
ge864Serial.print(message); // Write the SMS message
delay(1000);
ge864Serial.write(26); // Send Ctrl+Z to send the SMS
delay(5000); // Wait for the SMS to be sent
}
Note: Replace
+1234567890with the recipient's phone number.
Module Not Powering On:
No Network Connection:
UART Communication Issues:
SMS Not Sending: