BLEbee

BLEBee v0.7.1

The BLEbee is smaller version of the BLE-Shield for Arduino with additional 4 GPIO pins which are controllable via BLE Characteristics.

The initial idea of the BLEbee, was to create a BLE capable module which can be used with the Arduino FIO. During development of the BLEbee I came accross the Relay Shield provided by Seeedstudio which has an XBee socket to control the Relays wirelessly. In order to control the relay Shield over Bluetooth Low Energy, I added output functionality to control the four relays which are mapped to pins 17 – 20.

BLEBee v1.0.0

The BLEbee v1.0.0 pinout is the same compared to the initial prototype. It has an additional reset button and the SMD packages of the capacitors and the resistors has been changed to 0402 as the blue connection LED has changed to SMD package 0603.

The firmware of the BLEbee is now based on Bluegiga’s latest SDK v1.1.1 build 71 and for the serial communication the BLEbee is using the watermark API, which makes dealing with UART data easier. The baudrate was reduced to 14400 baud since the transmission errors are as low as 0.03% with that setting.

The BLEbee v1.0.0 firmware is no longer using a 16 byte buffer as the initial prototype did. It is now transferring byte per byte as it is received on the RX characteristic. You have to create and deal with a proper protocol yourself in order to transfer e.g. temperature values encoded as float.

Starting with BLExplr v1.1.0 my iPhone app supports the serial/streaming behaviour of the BLEbees RX characteristic and shows them as a text box where the data is appended to accordingly.

See the iPhone screen shot illustrating a looooong string transferred from the Arduino IDEs Serial console. The BLEbee service supports seven characteristics now.

BLEBee Servicee and Characteristic UUIDs:

Service

EF080D8C-C3BE-41FF-BD3F-05A5F4795D7F

Characteristics

BD-Addr: 38117F3C-28AB-4718-AB95-172B363F2AE0

RX: A1E8F5B1-696B-4E4C-87C6-69DFE0B0093B

TX: 1494440E-9A58-4CC0-81E4-DDEA7F74F623

Channel 0: 7F21B8AF-6E87-44E0-B17E-5928C272E78C

Channel 1: 47F39196-A9E9-4F16-A13D-C2B56647FEB6

Channel 2: 228B778F-6F75-495F-8AD4-591C37E0FF0B

Channel 3: 5A6D168F-07C0-48CB-95D0-930CAFD399CA

Supported and tested Arduino Boards:

FIO v3

Since the Fio v3 from Sparkfun Electronics is equipped with an ATmega32u4, you can simply use Serial1 to communicate with the BLEbee and use Serial to communicate over the USB cable to your Mac/PC for debugging purposes. A sample Arduino Sketch is available at github look into the arduino directory where the Fio v3 sketch is named BLEbee_v_1_0_0_FIO3.

Arduino FIO

The Original Arduino FIO is based on an Arduino ATmega328. Resulting a serial port debug connection using the Serial port will interfear somehow with the BLEbees RX/TX pins. You need to remove the BLEbee from the Arduino FIO while programming the sketch. It works best, when you run the Arduino FIO from a LIPO and transfer data over BLE to the Arduino Sketch. A sample sketch illustrating the use of the BLEbee with the Arduino FIO is also available from my github account. The Sketch is named BLEbee_v_1_0_0_Arduino_FIO.

Please comment on the BLEbee and let me know what you might see in the final version of it. I have already received some PCBs to solder BLEbees for a private beta test. Let me know if you are interested in testing the BLEbee before it get’s produced and will be available for sale. You can comment on the BLEbee in my forum as well. I changed the spambot countermeasures for the forum registration, so it should be easier to get access.