Seeed BLE Shield V1

Skip to main contentCollaborate with Seeed - Creator, Ranger, or Contributor, there is always a role ideal for you!Seeed StudioQuick LinksExplore with TopicsFAQsGet InvolvedBazaar 🛍️SenseCraft AISearch
  • Getting Started
  • Weekly Wiki
  • Sensing
  • Grove
  • SenseCAP
  • LoRaWAN Tracker
  • SenseCAP Indicator
  • SenseCAP Watcher
  • mmWave Radar Sensor
  • XIAO
  • ePaper
  • XIAO Gadgets
  • Wio Terminal
  • ReSpeaker
  • Other Sensing Modules
  • Other Microcontrollers
  • Network
  • Meshtastic Network
  • LoRa Wio Series
  • SenseCAP Gateway
  • SenseCAP K1100
  • SenseCAP LoRaWAN Starter Kit
  • Raspberry Pi Solutions
  • Rockchip Solutions
  • Other Network Devices
  • Edge Computing
  • Raspberry Pi Devices
  • NVIDIA® Jetson™
  • ESP Devices
  • BeagleBone®
  • ODYSSEY
  • reCamera
  • reTerminal E Series
  • Other Edge Devices
  • Robotics Page
  • Robot Kits
  • Actuator
  • Sensor
  • Software
  • SenseCraft & Cloud
  • SenseCraft AI
  • SenseCraft APP
  • SenseCraft Data Platform
  • SenseCraft HMI
  • SenseCraft Blockchain
  • Solutions
  • AI Vision
  • AI Sound
  • AI Intelligent
  • Device Integration & Control
  • Environmental Monitoring
  • Hazard Response
  • Indoor-Outdoor Positioning
  • Technology Topics
  • Home Assistant
  • TinyML
  • Open Source
  • Edge AI
  • Contributions
  • Github Contributions Guide
  • Scale up Your Creation with Seeed Studio Fusion
  • Popular Platforms
  • Arduino
  • Raspberry Pi
  • Micro:bit
  • Discontinued Products
  • Product List
  • About Seeed
  • License
On this page

This Seeed BLE Shield utilizes an HM-11 module to provide your Arduino/Seeeduino with serial BLE function. It only takes two pins of the micro controller to communicate your device with this shield. With support for a BLE ComAssistant APK, this BLE Shield can talk to your mobile phone more easily without pairing. You can use it in many conditions, like robot controls or remote control equipment ,etc. We prepared an easy and convenient command set for this shield so that you can use neat and concise code to run the function.

Specifications​

SpecificationsValue
BT VersionBluetooth Specification V4.0 BLE
Working Frequency2.4GHz ISM band
Working Current< 15 mA
Sourcing Current< 30 mA
Sleeping Current< 3 mA
Modulation MethodGFSK(Gaussian Frequency Shift Keying)
RF Power-23dbm, -6dbm, 0dbm, 6dbm, can modify through AT Command AT+POWE
SpeedAsynchronous: 6K Bytes, Synchronous: 6K Bytes
Sensibility≤-84dBm at 0.1% BER
SecurityAuthentication and encryption
ServiceCentral & Peripheral UUID FFE0,FFE1
Supply Power5v
Working Temperature–5 ~ +65 Centigrade
Size68mm x 43mm
PIN Code000000(by default)

Hardwarw Overview​

  • HM-11: The basic module is HM-11, more information you can refer to this wiki of HM-11.

  • Signal lamp: Lamp will blink if no one connect BLE, but the lamp would keep lighting after BLE has been connected.

  • Grove connectors: There are two Grove connectors onto the BLE shield, you can plug Grove products onto the board conveniently.

  • Hard or Softserial port: You can choose two of seven digital pins as the communication channel. Just plug the jumpers into the headers. There are two mistakes on the silkscreen, please kindly regard "WIFI_TX" and "WIFI_RX" as "BLE_TX" and "BLE_RX".

  • Reserved pinouts from HM-11: There are some reserved pinouts from HM-11 module, such as CTS1, RTS1 and PIO2, etc.

  • Reset button: Press the reset button if you need to reset the BLE Shield. However, this reset button does not affect the state of the main board(such as Arduino Uno) if BLE Shield is plugged onto the main board.

Applications​

Hardware Connection​

Plug Seeed BLE Shield onto the Arduino/Seeeduino directly. Please pay attention to the position of jumpers on the BLE Shield.

SoftwareSerial Communication​

Seeed BLE Shield can be acted 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. BLE_TX-->D2, BLE_RX-->D3.

Open Arduino IDE, copy the following program and upload it onto the Arduino/Seeeduino board. And then two BLE Shields can communicate with each other.

Demo : BLE Slave

#include <SoftwareSerial.h> //Software Serial Port#define RxD 2#define TxD 3#define DEBUG_ENABLED 1SoftwareSerial 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 shield 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 1SoftwareSerial 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 shield 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}

HardwareSerial Communication​

Besides, you can use BLE Shield via AT commands without any program, but you need to change the positions of two jumpers. BLE_TX-->D1, BLE_RX-->D0.

Then open a Serial Port Tool, like CoolTerm or others.The following are some settings : Baudrate: 9600(default) , Data Bits: 8, Parity: none, Stop Bits: 1.

First, you can send a(some) "AT" command(s) to BLE Shield to have a test. If it returns an "OK", then you can do the following steps. If not, you can upload a blank program to Arduino/Seeeduino, and see whether you can get response from Serial Port Tool via the previous operation.

void setup(){}void loop(){}

Then, send an "AT+ROLE0" command to BLE Shield; it will return an "OK+Set:0", which means now the BLE Shield is ready to act as a slave.

AT Commands​

More information about the AT Commands please refer to the data sheet of BLE module. You can download it from the Resource space.

  • FAQ about Seeed BLE Shield. Also, you can enter the FAQ page by clicking the "FAQ" button which in the right side of product's wiki page.

Schematic Online Viewer​

Resource​

Schematic of Seeed BLE Shield

BLE_apk_for_Android

DataSheet of BLE module

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.

PreviousEL ShieldNextSmall e-Paper Shield V2Loading Comments...
  • Specifications
  • Hardwarw Overview
  • Applications
    • Hardware Connection
    • SoftwareSerial Communication
    • HardwareSerial Communication
    • AT Commands
  • Related Reading
  • Schematic Online Viewer
  • Resource
  • Tech Support & Product Discussion

Tag » Arduino Uno Ble Shield