BLE Shield stands for Bluetooth Low Energy (BLE) Shield. It is designed to work with Arduino boards or compatibles, including Arduino Uno, Mega 2560, Leonardo and Due. It allows you to connect your Arduino boards with other BLE Central device like a smartphone or tablet. So you can develop some applications like:
- Control your Arduino pins with our/your own mobile App
- Send sensor data from your Arduino to an App for processing
- Use your mobile device as an internet gateway for your Arduino
- and much more!
BLE shield could operate under 3.3V or 5V, therefore it works with a lot of Arduino compatible boards too.
New Features in BLE Shield Version 2.1
- Reset button is changed to "side button"
- nRF8001 SPI pins can be set to either Pins 11-13 on the side or ICSP, this allows other Arduino compatible boards with no ICSP header such as FRDM-KL05 board, RedBoard and so on to interface with the nRF8001 BLE chip
- Flexible REQN and RDYN pins selectable from pin 2 to 10
- The board is shorter than before and this allows it to fit on Arduino Yun physically
Features Since v2.0
- Besides the on-board PCB antenna, option to use SMA connector for external antenna (soldering is required)
- Flexible REQN and RDYN pins selectable from pin 2 to 12, these pins are fixed at 8 & 9 for BLE Shield v1
- Reset button also resets the Arduino board, and vice versa
- ICSP header provides Vcc (for other shields to get power source)
- ICSP header now passes through (for other shields to connect to the SPI)
- Shield's reset is controllable by Arduino pin 4 or 7
- Reset signal to the shield is now active low (i.e. pull low to reset the shield)
- Added test points for power consumption measurement of the nRF8001 chip (soldering is required)
- Added circuitry and test pin (J9 NC) for measurement of instant working current (using logic analyzer, 1mA = 100mV).
Supported BLE Central Devices
- iPhone 4s
- iPhone 5 (all models)
- iPod touch 5
- iPad 3/4/mini/Air
Android 4.3 or above (4.4 recommended for stability) with Bluetooth 4.0 hardware support
- Nexus 4
- Nexus 7
- Samsung Note 3 / GT-I9300 / GT-I9500
- other compatible Android devices reported by our users
- (please report any other Android devices supported)
- Windows 8.1 with built-in Bluetooth 4.0 or USB dongle
- Mac OSX 10.9.2 with built-in Bluetooth 4.0 or USB dongle
- Linux with BlueZ 5.1 with built-in Bluetooth 4.0 or USB dongle
Getting Started Guide
We have prepared a step-by-step guide Getting Started with BLE Shield to show you how to connect your BLE Shield with our free iOS and Android Apps.
How It Works
- BLE Shield communicates with Arduino through the ACI (Application Controller Interface). The ACI is similar to SPI but does not actually work as SPI. SPI is consist of MOSI, MISO, SCK and SS, whereas ACI is consist of MOSI, MISO, SCK, REQN and RDYN.
- Since BLE Shield may receive data anytime even not selected by SPI master (Arduino), so the SS line is not needed.
- In ACI,data exchanged still through MOSI and MISO, and SCK provides the clock generated by master.
- When master wants to request data from BLE Shield, it puts the REQN to low until RDYN line is put to low by BLE Shiled, and then master generates the clock to read out the data. After reading out the data, master will release the REQN and BLE Shield release the RDYN, put them to high.
- If BLE Shield has data to transmit to master, it will put the RDYN to low to indicate master, even though master havn't requested data and REQN is idle. If master detectes a low level condition on RDYN, it will put REQN to low and generate the clock to read out the data.After reading out the data, both REQN and RDYN will be put to high.Note that REQN is controlled by master while RDYN is controlled by BLE Shield.
Nordic nRF8001 Bluetooth Low Energy IC
- Support Peripheral (Slave) role operation only – nRF8001 IC limitation.
- Proprietary simple serial interface – Application Controller Interface (ACI).
- Please refer to Nordic’s nRF8001 Product Specification for more details.
Application Controller Interface (ACI)
- The ACI enables an application controller to communicate with nRF8001.
- The physical ACI interface on nRF8001 consists of five pins. All ACI data and exchanges use a standard SPI interface, with nRF8001 using a mode 0 slave interface to the application controller.
- However, nRF8001 does not behave as a pure SPI slave device; nRF8001 can receive new data over-the-air at any time or be busy processing a connection event or new data. Consequently, the traditional CSN signal used to initiate an SPI transaction is replaced by two active low hand-shake signal; RDYN and REQN.
|SPI: Master In Slave Out
|SPI: Master Out Slave In
|SPI: Serial data Clock
|Application controller to nRF8001 handshake signal
|nRF8001 to application controller handshake signal
- BLE Shield Respository - Provides BLE Shield resources such as schematics.
- Nordic Bluetooth Smart SDK for Arduino - Provides a lot of BLE tutorials and examples for BLE beginners to work with the BLE Shield, supported by Nordic.
- RedBearLab nRF8001 library - Provides simple APIs for exchanging data between BLE central and the BLE Shield