BLE-Shield v3.0.0

The BLE-Shield v3.0.0 is the long awaited update of the BLE-Shield v2.0.0. The BLE-Shield v3.0.0 is a Bluetooth Smart enabled BLE-Shield based on BlueGiga’s BLE113-256k module.

Since I’m the Author of the BLExplr application for iOS which can be purchased from the Apple App Store, the samples on how to transfer data between an iOS device will be using this app.

The following picture shows the BLE-Shield v3.0.0.

The BLE-Shield can be configured to use the RX-0/TX-1 pins of the underlying Arduino as well as all other digital pins except pins 2 and 3 since these can be used to indicate a connection on the interrupt pins 2, 3 and 7. Compared to the BLE-Shield v2.0.0 there is no longer a Mini USB connector for firmware updates. Since the BLE-Shield v3.0.0 uses BlueGiga’s BLE113-256k module, the Shield’s firmware can be updated OTA which is supported by BLExplr as well.

The programming header where the CC-Debugger is using a TagConnect PCB header to reduce size and cost.

New feature

The new worth mentioning feature is the OTA capability of the BLE-Shield. The BLE-Shield implements Bluegiga’s OTA Firmware Update service and the corresponding characteristics. The iOS App BLExplr can be used to update the firmware of the BLE-Shield without need for the TagConnect adapter. Of course a developer can update the firmware over the air using the USB dongle BLED112 from Bluegiga and the BLEGUI2 software provided by Bluegiga as well.

Service and Characteristics

In order to better distinguish the new BLE-Shield v3.0.0 from the previous versions the service and characteristic UUID have been changed. In order to transfer data there are no longer one characteristic for sending (TX) and one for receiving (RX) but only one Data characteristic that supports write and indicate. The Baudrate of the BLE-Shield can now be configured from 9600 up to 115200 baud (9600 baud default) and the connection LED can be controlled using a characteristic. By default the connection LED is not driven high.

The services and characteristics are described below.

Services

BLE-Shield Service v3.0.0

B4BDB998-8F4A-45F6-A407-6B48D79CFC2F

Characteristics

Bluetooth Device Address (Read):

B4BDB998-8F4B-45F6-A407-6B48D79CFC2F

Baudrate (read, write):

B4BDB998-8F4C-45F6-A407-6B48D79CFC2F

Supported baudrate values are:

  • 0x00 = 9600 Baud (default)
  • 0x01 = 14400 Baud
  • 0x02 = 19200 Baud
  • 0x03 = 28800 Baud
  • 0x04 = 38400 Baud
  • 0x05 = 57600 Baud
  • 0x06 = 112500 Baud

The baudrate setting is written to the internal storage of the BLE113 module, so the setting will persist even if you remove power from the module. During the next boot cycle after power cycling the module or resetting it, the baudrate setting is restored from flash. So there is no need to reconfigure the BLE-Shield every time you power the module.

Enable Connect LED (read, write):

B4BDB998-8F4D-45F6-A407-6B48D79CFC2F

This new characteristic is used to change the bahavior of the blue LED on the BLE-Shield which indicates the connection status of the BLE-Shield.

Supported values are:

  • 0x00 = LED is not used to indicate a connection (Default) *b0xFF = LED is used to indicate a connection. So don’t worry if the LED is not turned on while connected if you are using the BLE-Shield the first time. It is turned off by default. You need to change the characteristic first to 0xFF in order to use the LED. The setting is also persisted into the BLE-Shield’s flash memory, so the setting persists between power and reset cycles.

Data (Write, Indicate):

B4BDB998-8F4E-45F6-A407-6B48D79CFC2F

The Data characteristic is new to the BLE-Shield v3.0.0. If you connect the BLE-Shield from e.g. an iOS Device and you enable indications on this characteristic, the iOS device will be indicated whenever the embedded device sends serial data to the BLE-Shield on the TX pin. If you write data from the iOS device to the BLE-Shield the data is send available on the RX pin of the BLE-Shield.

BlueGiga OTA Service:

1d14d6ee-fd63-4fa1-bfa4-8f47b42119f0

This is the OTA service which is implemented on the BLE-Shield as Bluegiga describes it in the Application Note: Implementing OTA Firmware Upgrade

OTA Control Characteristic:

f7bf3564-fb6d-4e53-88a4-5e37e0326063

The OTA control point characteristic is used to control the firmware upgrade process between the device that will be updated and the device that performs the update it is a write only attribute to the control can only made by the device that performs the update.

OTA Data Characteristic:

984227f3-34fc-4045-a5d0-2c581f81a153

The data cahracteristic is on the other hand used to transmit the data from the device that performs the update to the device that is being updated.

Design files

Since the BLE-Shield v3.0.0 is again open hardware you can find the design files and the firmware on github.

Availability

The BLE-Shield v3.0.0 is available at Seeedstudio’s Bazaar using the following link http://www.seeedstudio.com/depot/BLEShield-v300%C2%A0-p-2484.html