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+RESET
command 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?