The BLEBee v2.0.0 is the long awaited update of the well known BLEBee v1.0.0 The BLEBee v2.0.0 is a Bluetooth Smart enabled XBEE form factor module based on BlueGiga’s BLE113-256k module. The BLEBee can be used in hardware setups, where normally an XBEE module is used. Using a BLEBee an XBee socket enabled embedded system can communicate with desktop computers, smartphones, table computers and even other embedded systems providing Bluetooth Smart aka Bluetooth Low Energy (BLE) or Bluetooth 4.0.
Since I’m working with lot of different Arduino based boards and clones, the BLEBee was designed to run with Arduino boards. Due to the form factor of an XBee the module can be used with order uCs and Embedded Systems as well, but are not tested yet. I will test the BLEBees with different Arduino boards, XBEE Shields etc. only.
NOTE: Please note, that the BLEBee is in XBee form factor, but it’s firmware is not intended to be used as cable replacement using two BLEBees. There is no configuration to somehow pair two BLEBees as you would normally do with two XBees. The BLEBee is intended to be used on Arduino or other embedded boards, where you need to transfer data to a device acting as Central such as an iOS or Android device, Notebook or Desktop Mac/PC.
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 BLEBee v2.0.0.
The BLEBee v2.0.0 supports the following signals on the pins listed in the below. Please keep in mind that the Pins are 3.3V Logic
- Pin 1 = +3.3V
- Pin 2 = TX
- Pin 3 = RX
- Pin 5 = /RESET
- Pin 10 = GND
- Pin 15 = ASSOC
The programming header where the CC-Debugger is using a TagConnect PCB header to reduce size and cost.
Pins not controllable by characteristics
- The /RESET (Pin 5) is not controllable by a characteristic, but can be driven from the underlying embedded system or uC to reset the BLEBee.
- The ASSOC (Pin 15) is always set to high if a connection is established and set to low if it is disconnected. (not affected by the Enable Connection LED characteristic).
The new worth mentioning feature is the OTA capability of the BLEBee. The BLEBee implements Bluegiga’s OTA Firmware Update service and the corresponding characteristics. The iOS App BLExplr can be used to update the firmware of the BLEBee without need for the TagConnect adapter. Of course a developer can update the firmware over the air using the USB dongle BLED112from Bluegiga and the BLEGUI2 software provided by Bluegiga as well.
Service and Characteristics
In order to better distinguish the new BLEBee v2.0.0 from the v1.0.0 the service and characteristic UUID have been changed. Moreover the feature to control digital Output pins has been omitted. 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 BLEBee 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.
BLEBee Service v2.0.0
Bluetooth Device Address (Read):
Baudrate (read, write):
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 BLEBee every time you power the module.
Enable Connect LED (read, write):
This new characteristic is used to change the bahavior of the blue LED on the BLEbee which indicates the connection status of the BLEBee.
Supported values are:
- 0x00 = LED is not used to indicate a connection (Default)
- 0xFF = 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 BLEBee 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 BLEBees flash memory, so the setting persists between power and reset cycles.
Data (Write, Indicate):
The Data characteristic is new to the BLEBee v2.0.0. If you connect the BLEBee 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 BLEBee on the TX pin. If you write data from the iOS device to the BLEBee the data is send available on the RX pin of the BLEBee.
BlueGiga OTA Service:
This is the OTA service which is implemented on the BLEBee as Bluegiga describes it in the Application Note: Implementing OTA Firmware Upgrade
OTA Control Characteristic:
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:
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.
Since the BLEBee is again open hardware you can find the design files and the firmware on github.
The BLEBee v2.0.0 is available at Seeedstudio’s Bazaar using the following link: http://www.seeedstudio.com/depot/BLEBee-v200-p-2461.html