Grove BLE v1
Grove - BLE v1 (Grove - Bluetooth Low Energy v1) uses a Low Energy Bluetooth module -- HM-11, based on TI CC2540 chip, which has AT command support. As a Grove product it's convenient to use Grove - BLE with Arduino board via Base Shield.
Parametersā
Specifications | Name |
---|---|
BT Version | Bluetooth Specification V4.0 BLE |
Working frequency | 2.4GHz ISM band |
Modulation method | GFSK(Gaussian Frequency Shift Keying) |
RF Power | -23dbm, -6dbm, 0dbm, 6dbm, can modify through AT Command AT+POWE |
Speed | Asynchronous: 6K Bytes, Synchronous: 6K Bytes |
Sensitivity | ā¤-84dBm at 0.1% BER |
Security | Authentication and encryption |
Service | Central & Peripheral UUID FFE0,FFE1 |
Supply Power | 3.3v - 5v |
Working temperature | ā5 ~ +65 Centigrade |
Size | 40cm x 20cm |
Working Current | < 10 mA |
Sourcing Current | < 20 mA |
Sleeping Current | < 1 mA |
The supply power of HM-11 is 3.3v, but the Grove - BLE is 3.3V to 5V.
More details about Grove modules please refer to [Grove System](https://wiki.seeedstudio.com/Grove_System/)
Platforms Supportedā
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.
Pinoutā
Grove connector has four wires: GND, VCC, RX, TX.
Features of Designā
We have used TD6810 chip as the voltage regulator, so the range of the supply power can be 3.3v to 5v. Also , there's a level shift circuit which make sure the accuracy of data transmission.
AT Commandsā
1ļ¼Query module address
Sendļ¼ AT+ADDR?
Receiveļ¼OK+LADD:address
2ļ¼ Query baud rate
Sendļ¼AT+BAUD?
Receiveļ¼OK+Get:[para1]
Rangeļ¼ 0~8; 0--9600ļ¼1--19200ļ¼2--38400ļ¼3--57600ļ¼4--115200ļ¼5--4800ļ¼6--2400ļ¼7--1200ļ¼8--230400
Default: 0--9600.
Set baud rate
Sendļ¼AT+BAUD[para1]
Receiveļ¼OK+Set:[para1]
Ex.ļ¼Send ļ¼AT+BAUD1 ļ¼Receiveļ¼OK+Set:1. The Baud rate has been set to 19200
If setup to a value 7, After next power on, module will not support any AT Commands, until PIO0 is pressed, Module will change Baud to 9600.
3ļ¼ Try connect an address
Sendļ¼AT+CON[para1]
Receiveļ¼OK+CONN[para2]
Range ļ¼A,E,F
Ex.ļ¼Try to connect an device which MAC address is 00:17:EA:09:09:09
Send: AT+CON0017EA090909
May receive a reply: OK+CONNA --> Accept request, connectingĀ ; OK+CONNE --> Connect errorĀ ; OK+CONN --> Connected , if AT+NOTI1 is setupĀ ; OK+CONNF --> Connect Failed , After 10 seconds
Only central role is used. If remote device has already connected to other device or shut down, āOK+CONNFā will received after about 10 Seconds.
4ļ¼ Clear Last Connected device address
Sendļ¼AT+CLEAR
Receiveļ¼OK+CLEAR
5ļ¼ Query Module Work Mode
Sendļ¼AT+MODE?
Receiveļ¼OK+Get:[para]
Rangeļ¼ 0~2;
0--Transmission Mode, 1--PIO collection Mode + Mode 0, 2--Remote Control Mode + Mode 0 .
Default: 0
Set Module Work Mode
Sendļ¼AT+MODE[]
Receiveļ¼OK+Set:[para]
6ļ¼ Query Module name
Sendļ¼AT+NAME?
Receiveļ¼OK+NAME[para1]
Set Module name
Sendļ¼AT+NAME[para1]
Receiveļ¼OK+Set:[para1]
Ex.ļ¼Send: AT+NAMESeeedļ¼ ReceiveĀ : OK+Set:Seeed
Name would change after next power on.
7ļ¼ Query Pin Code
Sendļ¼AT+PASS?
Receiveļ¼OK+PASS:[para1]
RangeĀ : 000000~999999.
DefaultĀ : 000000.
Set Pin Code
Send: AT+PASS[para1]
Receiveļ¼OK+Set:[para1]
8ļ¼ Restore all setup value to factory setup
Sendļ¼AT+RENEW
Receiveļ¼OK+RENEW
9ļ¼ Restart module
Sendļ¼AT+RESET
Receiveļ¼OK+RESET
10ļ¼Query Master and Slaver Role
Sendļ¼AT+ROLE[para1]
Receiveļ¼OK+Set:[para1]
RangeĀ : 0~1;
0--PeripheralĀ : 1--CentralĀ : Default: 0.
More AT commands please refer to the Datasheet of BLE module.
SoftwareSerial Communicationā
Grove - BLE can be used as a master or slave, you can use the one via different demos.If you are going to use the following SoftwareSerial program, please refer to the way of connection in the previous pic. TX-->D2, RX-->D3.
Open Arduino IDE, copy the following program and upload it onto the Arduino/Seeeduino board. And then two BLE modules can communicate with each other.
DemoĀ : BLE Slave
#include <SoftwareSerial.h> //Software Serial Port
#define RxD 2
#define TxD 3
#define DEBUG_ENABLED 1
SoftwareSerial BLE(RxD,TxD);
void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();
}
void loop()
{
char recvChar;
while(1){
if(BLE.available()){//check if there's any data sent from the remote BLE
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}
void setupBleConnection()
{
BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
BLE.print("AT+CLEAR"); //clear all previous setting
BLE.print("AT+ROLE0"); //set the bluetooth name as a slaver
BLE.print("AT+SAVE1"); //don't save the connect information
}
DemoĀ : BLE Master
#include <SoftwareSerial.h> //Software Serial Port
#define RxD 2
#define TxD 3
#define DEBUG_ENABLED 1
SoftwareSerial BLE(RxD,TxD);
void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();
}
void loop()
{
char recvChar;
while(1){
if(BLE.available()){//check if there's any data sent from the remote BLE
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}
void setupBleConnection()
{
BLE.begin(9600); //Set BLE BaudRate to default baud rate 9600
BLE.print("AT+CLEAR"); //clear all previous setting
BLE.print("AT+ROLE1"); //set the bluetooth name as a master
BLE.print("AT+SAVE1"); //don't save the connect information
}
Schematic Online Viewerā
Resourcesā
Tech Support & Product Discussionā
Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.