

The E72-2G4M20S1E is a compact, low-power wireless module developed by Ebyte Electronic Technology Co., Ltd.. It is based on the CC2652P chip from Texas Instruments, which integrates a powerful ARM Cortex-M4F processor and a high-performance RF core. This module supports multiple wireless communication protocols, including Bluetooth Low Energy (BLE), Zigbee, and Thread, making it ideal for Internet of Things (IoT) applications.








| Parameter | Value | 
|---|---|
| Chipset | CC2652P (Texas Instruments) | 
| Wireless Protocols | BLE 5.0, Zigbee 3.0, Thread, IEEE 802.15.4 | 
| Operating Frequency | 2.4 GHz | 
| Output Power | Up to +20 dBm (adjustable) | 
| Sensitivity | -100 dBm (BLE), -104 dBm (Zigbee) | 
| Operating Voltage | 1.8V to 3.8V | 
| Current Consumption | 7.4 mA (RX), 24.5 mA (TX @ +20 dBm) | 
| Operating Temperature | -40°C to +85°C | 
| Dimensions | 22 mm x 13 mm x 2.3 mm | 
| Antenna Options | PCB antenna or external antenna (IPEX) | 
The E72-2G4M20S1E module has 32 pins. Below is the pinout description:
| Pin Number | Pin Name | Description | 
|---|---|---|
| 1 | GND | Ground | 
| 2 | VCC | Power supply (1.8V to 3.8V) | 
| 3 | DIO_0 | General-purpose I/O or RF control | 
| 4 | DIO_1 | General-purpose I/O | 
| 5 | DIO_2 | General-purpose I/O | 
| 6 | DIO_3 | General-purpose I/O | 
| 7 | DIO_4 | General-purpose I/O | 
| 8 | DIO_5 | General-purpose I/O | 
| 9 | DIO_6 | General-purpose I/O | 
| 10 | DIO_7 | General-purpose I/O | 
| 11 | RESET | Reset pin (active low) | 
| 12 | SWD_CLK | Debug clock (for programming/debugging) | 
| 13 | SWD_IO | Debug data (for programming/debugging) | 
| 14 | RF_N | RF signal (connect to external antenna) | 
| 15 | RF_P | RF signal (connect to external antenna) | 
| 16-32 | Reserved | Reserved for future use | 
Note: For detailed pin mapping and alternate functions, refer to the official datasheet.
Below is an example of how to use the E72-2G4M20S1E module with an Arduino UNO for BLE communication.
| E72-2G4M20S1E Pin | Arduino UNO Pin | 
|---|---|
| VCC | 3.3V | 
| GND | GND | 
| DIO_0 (TX) | RX (Pin 0) | 
| DIO_1 (RX) | TX (Pin 1) | 
#include <SoftwareSerial.h>
// Define RX and TX pins for communication with the module
SoftwareSerial BLEModule(0, 1); // RX = Pin 0, TX = Pin 1
void setup() {
  // Initialize serial communication with the module
  BLEModule.begin(9600); 
  Serial.begin(9600); // For debugging via Serial Monitor
  // Send initialization command to the module
  BLEModule.println("AT+RESET"); 
  delay(1000); // Wait for the module to reset
  Serial.println("Module initialized.");
}
void loop() {
  // Check if data is available from the module
  if (BLEModule.available()) {
    String data = BLEModule.readString();
    Serial.println("Received from module: " + data);
  }
  // Send data to the module
  BLEModule.println("Hello from Arduino!");
  delay(2000); // Wait 2 seconds before sending again
}
Note: Replace the
AT+RESETcommand with the appropriate AT commands for your application.
No Communication with the Module:
Poor RF Performance:
Module Overheating:
Firmware Update Fails:
Q: Can the module operate on 5V?
Q: Does the module support Wi-Fi?
Q: How do I switch between BLE and Zigbee?
Q: Can I use this module for mesh networking?