

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?