Arduino library for nRF51822-based Adafruit Bluefruit LE modules
Clone or download
Permalink
Failed to load latest commit information.
.github Add GitHub issue template May 27, 2016
examples DM: fix compile issue on samd51 Apr 2, 2018
utility add Gatt user description and presentation format support Mar 30, 2016
Adafruit_ATParser.cpp add nvmdata.ino sketch Apr 1, 2016
Adafruit_ATParser.h tested dfuirq with M0 Oct 21, 2016
Adafruit_BLE.cpp Check for an error while reading NVM Oct 26, 2017
Adafruit_BLE.h add new function for use with dfu irq .handleDfuIrq() Oct 20, 2016
Adafruit_BLEBattery.cpp moving AT command function to separated class for cleaner API Adafrui… Mar 25, 2016
Adafruit_BLEBattery.h add reset option for service class stop() Mar 24, 2016
Adafruit_BLEEddystone.cpp moving AT command function to separated class for cleaner API Adafrui… Mar 25, 2016
Adafruit_BLEEddystone.h add reset option for service class stop() Mar 24, 2016
Adafruit_BLEGatt.cpp tested dfuirq with M0 Oct 21, 2016
Adafruit_BLEGatt.h fix typo Apr 27, 2016
Adafruit_BLEMIDI.cpp add callback with dfu irq example Oct 20, 2016
Adafruit_BLEMIDI.h update MIDI processRxCallback() to parse MIDI event based on Apple sp… Apr 5, 2016
Adafruit_BluefruitLE_SPI.cpp Allow user to disable simulated handling of "+++" command in Adafruit… Mar 16, 2018
Adafruit_BluefruitLE_SPI.h Allow user to disable simulated handling of "+++" command in Adafruit… Mar 16, 2018
Adafruit_BluefruitLE_UART.cpp added pinMode declaration for the RTS pin.. May 8, 2017
Adafruit_BluefruitLE_UART.h fix for (mostly m0) boards w/o softserial Oct 6, 2017
README.md Updated product list Apr 28, 2016
SDEP.md Removed typo Jun 18, 2015
changelog.md update changelog Dec 6, 2016
changelog_firmware.md add 0.8.0 release note for firmware Aug 20, 2018
keywords.txt update keywords Sep 28, 2016
library.properties fix for (mostly m0) boards w/o softserial Oct 6, 2017

README.md

This library is for all nRF51 based Adafruit Bluefruit LE modules that use SPI or UART.

Current nRF51 based Bluefruit LE products include:

AT Commands

The Bluefruit LE modules this library talks to use AT-style commands and responses.

If you are using a UART board, the commands are sent directly as text using a SW serial transport.

If your are using an SPI board, the AT commands are wrapped in a thin SDEP (Simple Data Exchange Protocol) wrapper to transmit and received text data over the binary SPI transport. Details of this SPI transport layer are detailed in SDEP.md in this same folder.

Hardware Setup

There are two variants of the nRF51 Bluefruit LE modules. One uses SPI to communicate, the other uses UART with flow control (TXD, RXD, CTS, RTS). The wiring you use will depend on the module you are trying to connect.

On both boards, power should be connected as shown below:

Bluefruit LE Arduino Uno
VIN 5V (assuming a 5V board)
GND GND

Software UART Pinout

If you are using a UART Bluefruit LE board, your Arduino should be connected to the Bluefruit LE UART module using the following pinout:

Bluefruit LE UART Arduino Uno
RTS 8
RXI 9
TXO 10
CTS 11

Optional Pins

Bluefruit LE UART Arduino Uno
MODE 12

SPI Pinout

If you are using an SPI Bluefruit LE board, your Arduino should be connected to the Bluefruit LE SPI module using the following pinout:

Bluefruit LE SPI Arduino Uno
SCLK 13
MISO 12
MOSI 11
CS 8
IRQ 7

Optional Pins (enable these in the sample sketches)

Bluefruit LE SPI Arduino Uno
RESET 6