Archive

Posts Tagged ‘bluetooth’

Bluetooth Versions Walkthrough, and Bluetooth 4.0 Low Energy Development Resources

June 5th, 2013 9 comments

I’ve seen more and more Bluetooth 4.0 LE devices in the last few months including RFDuino, Wimoto Motes, TI SensorTag, and Scadanu Scout, so I thought it would be good to write a bit about Bluetooth. First, I’ll write about the different version of Bluetooth, since I was still confused with the practical implications between the versions, and then I’ll show some development kits and software resources to play around and/or develop Bluetooth 4.0 LE applications both on devices and hosts.

Bluetooth Smart

Bluetooth Versions

  • Bluetooth v1.0 and v1.0B

The Bluetooth 1.0 Specification was released in 1999, and according to an entry in Wikipedia, 1.0 and 1.0B devices had many issues, mainly interoperability issues. You won’t find any Bluetooth 1.0 device today.

  • Bluetooth v1.1

Bluetooth v1.1 was ratified as IEEE Standard 802.15.1-2002 in 2002. It fixed many issues found in the previous specifications, added the option to use non-encrypted channels, as well as Received Signal Strength Indicator (RSSI). This standard has been superseded by v1.3, and there are now very few devices that only support Bluetooth 1.1.

  • Bluetooth v1.2

Bluetooth v1.2 (IEEE Standard 802.15.1–2005) is backward compatible with 1.1, and according to Wikipedia, it brings the following main enhancements:

  • Faster Connection and Discovery
  • Adaptive frequency-hopping spread spectrum (AFH), which improves resistance to radio frequency interference by avoiding the use of crowded frequencies in the hopping sequence.
  • Higher transmission speeds in practice, up to 721 kbit/s, than in v1.1.
  • Extended Synchronous Connections (eSCO), which improve voice quality of audio links by allowing retransmissions of corrupted packets, and may optionally increase audio latency to provide better concurrent data transfer.
  • Host Controller Interface (HCI) operation with three-wire UART.
  • Introduced Flow Control and Retransmission Modes for L2CAP.

Although the standard is still active, I’m struggling to find many devices based on this version.

  • Bluetooth v2.0 + EDR

Bluetooth v2.0 + EDR specification was released in 2004. v2.0 is backward compatible with v1.2, and the main difference is the introduction of Enhanced Data Rate (EDR) for theoretical data rates of about 3 Mbit/s (around 2.1Mbit/s in practice). EDR can also provide a lower power consumption.

EDR is an optional feature, so some products may support “Bluetooth v2.0″, but not EDR. One example was HTC TyTN phone. There are still many Bluetooth v2.0 products sold today, usually with EDR, but you may prefer devices with Bluetooth v2.1 + EDR.

  • Bluetooth v2.1 + EDR

Bluetooth Core Specification Version 2.1 + EDR adopted on July 26, 20007, is fully backward compatible with 1.2, and the key improvement is the addition of Secure Simple Pairing (SSP). This improves pairing user-friendliness as no, or limited, user interaction is needed, and increases the use and strength of security. Other improvements include “Extended inquiry response” (EIR), which provides more information during the inquiry procedure, and sniff subrating, which reduces the power consumption in low-power mode.

The majority of low bandwidth Bluetooth devices, such as headsets, speakers, mouse and speakers, use this version of the standard.

  • Bluetooth v3.0 + HS

Version 3.0 + HS of the Bluetooth Core Specification adopted by the Bluetooth SIG on April 21, 2009. provides  theoretical data transfer speeds of up to 24 Mbit/s thanks to the HS (High Speed) in its name. This feat is not achieved over the Bluetooth link itself, but via an 802.11 link, usually Wi-Fi. Bluetooth is used for pairing. Like with EDR in the previous specifications, HS is optional, so you may find Bluetooth 3.0 devices without HS.

Other improvements include L2CAP enhanced modes, Unicast connectionless data, and enhanced power control. There are also many devices compliant with Bluetooth v3.0, not always with HS, including input devices such as keyboards and mice, and I fail to see why you’d ever need Bt 3.0 HID devices. Maybe it’s just a marketing trick, or I missed something. Bluetooth v3.0 + HS is the minimum version to select if you plan to transfer large files between your devices. I understand that although functionality and performance should be similar to Wi-Fi Direct, Bluetooth 3.0 +HS should consume less as the Wi-Fi link is only enabled during transfer.

  • Bluetooth v4.0

The latest Bluetooth Core Specification version 4.0 adopted on June 30, 2010, includes Classic Bluetooth, Bluetooth high speed and Bluetooth Low Energy protocols. Bluetooth high speed is based on Wi-Fi in a similar (same?) fashion as Bluetooth 3.0 + HS, and Classic Bluetooth consists of legacy Bluetooth protocols.

Bluetooth low energy (BLE), previously known as WiBree or Bluetooth ULP, is aimed at ultra low power applications running off a coin cell, just like the 4 devices I mentioned at the top of this post. Instead of BLE, you’re more likely to see “Bluetooth Smart Ready” and “Bluetooth Smart” logos, respectively for hosts (e.g. PC, tablets, smartphones…) and sensors.

Bluetooth 4.0 also adds support for the Generic Attribute Profile (GATT), and Security Manager (SM) services with AES Encryption, both of which are used for BLE.

There seems to a lots of “Bluetooth 4.0″ devices on sites such as Amazon, but most of them don’t show the logos “Bluetooth Smart Ready” or “Bluetooth Smart”, and they may not support BLE, or HS, so you’ll have to be smart, and make sure they support what you need. AFAIK, currently only iOS, Mac, Windows and some HTC and Samsung devices support Bluetooth 4.0 LE, but it will come to Android 4.3 (API Level 18). Some devices such as Samsung Galaxy S4 are said to support BLE, but I understand only the hardware is capable, and you’ll have to wait for a firmware upgrade to actually connect to Bluetooth 4.0 LE sensors.

Bluetooth 4.0 Low Energy Development Resources

There are two types of Bluetooth 4.0 LE chipsets:

  • Single mode implementation where the low energy protocol stack is implemented solely. CSR1010, Nordic Semiconductor nRF8001, and Texas Instruments CC2540 are examples of such ICs. Those are to be used in “Bluetooth Smart” devices.
  • Dual-mode implementation where Bluetooth LE is combined with a Classic Bluetooth controller. I understand those are used in “Bluetooth Smart Ready” computers and mobile devices, and USB dongles.

You’ll need different type of hardware depending on whether your develop a Bluetooth device, or a Bluetooth applications.

If you’re developing a Bluetooth device, you can consider the kits below:

CC2540DK-MINI

Texas Instruments CC2540 MINI Development Kit

If you’re developing a Bluetooth application, you can currently use the following:

Using Texas Instruments Sensortag to test your application could also be a good development tool.

Bluetooth Stack Architecture

Bluetooth Stack Architecture

Once you’ve sorted out the hardware you need the easiest way to get started is probably to download the “Bluetooth Quick Start Kit v2” which is available after a free registration, and provides the following:

  • Bluetooth Low Energy Fundamental Concepts
  • Custom Profile – ‘Hello Bluetooth’ Example
  • “Hello World” Source Code for TI CC2540, Nordic nRF8001, iOS, Android , and Windows 8 custom profile.
  • Air Interface Traces captured for the ‘Hello Bluetooth’ profile using Ellisys Bluetooth Explorer 400 and Frontline FTS4BT Bluetooth Protocol Analyzer and Packet Sniffer.
  • GATT Schema Documentation & Tutorial

For Linux support, you may want to check “Bluetooth Smart Devices and Low Energy support on Linux” presentation at ELCE 2012, which explains the progress at the time (November 2012), and BLE support in BlueZ.

Comments pointing to errors, and/or providing interesting additions are more than welcome.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Scanadu Scout Medical Tricorder for Android and iOS

June 5th, 2013 No comments

Low cost personal medical tricorders have the potential to dramatically bring down the cost of health care, and avoid unnecessarily wasted time in hospitals, which is probably the XPRIZE Foundation has launched a competition for  medical tricorders, where the winners will get 10 millions US dollars in funding. Scanadu Scout is one of the entry, and they currently have an indiegogo campaign, already oversubscribed, for their medical grade tricorder which gather data by placing it on your forehead for 10 seconds, and display medical data transferred via Bluetopoth Low Energy (Bluetooth SMART) on your iOS and smartphone.

Scanadu Scout Board and Enclosure

Scanadu Scout Board and Enclosure

The company did not disclose full specifications, but they still revealed the device runs 32-bit Micrium RTOS, which is already FDA approved (pre-market 510K notification and PMA approval), it supports Bluetooth 4.0 SMART, and a micro USB port is included to recharge the battery. I fired up few Google image searches to look for the Bt module used in the picture, but I could not find the exact module. It just looks a little similar to Laird Technology BL600 and RFDigital RFD51822 modules, both based on Nordic nRF51822, an SoC with Cortex M0 CPU, 256kB flash, 16kB RAM, and a 2.4GHz Bluetooth low energy transceiver.

The device is capable of measuring your heart rate, skin temperature, SpO2 (oxymetry), respiratory rate, blood pressure, ECG, and, believe it or not, emotional stress. It then display the results on your mobile device as shown in the 5 screenshots below.

Scanadu_Scout_App

The scout is not yet fully accurate and not FDA-approved, so it’s not to be considered a medical device just yet. Beside getting funds for production, this is actually one of the main purposes of this Indiegogo campaign, to have a few thousands people test the device, improve its accuracy, and eventually become FDA approved. Participating in the medical is not compulsory, and you’d to  opt-in, and sign relevant documents if you wish to take part.

You can see how this all works in the video below.

If you’d like to get the device, you can pledge $199. Shipping is free to the US, $15 for Canada, and $25 for the rest of the world. There are also pledges for bundles, and a $529 “Makers” pledge which will allow you to participate in a workshop at NASA Research Park. You’ll have to be patient, as delivery is expected to take place in March 2014. Bear in mind Indiegogo and Kickstarter projects often have long delays,so you may have to wait for a whole year or more for the device.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$25 Texas Instruments SensorTag is a Bluetooth LE Devkit with 6 Sensors

May 31st, 2013 5 comments

Yesterday, I wrote about Wimoto Motes, tiny Bluetooth LE devices with several sensors that can be controlled and monitored via an iOS app, and soon by an Android app, as well as Linux devices. Each mote costs $39 plus shipping, and one commenter mentioned the price may be a bit too high. A Google search for “bluetooth sensor” immediately brings TI SensorTag, which looks somewhat similar, except it is a Bluetooth LE development kit, includes 6 sensors (but no light sensor), and only costs $25 including shipping.

TI_SensorTag

SensorTag Specifications:

  • Bluetooth 4.0 low energy (CC2541) SoC
  • 6 sensors connected via I2C:
    • IR Temperature sensor (TI TMP006)
    • Humidity sensor (Sensirion SHT21)
    • Pressure sensor (Epcos T5400)
    • Accelerometer (Kionix KXTJ9)
    • Gyroscope (InvenSense IMU-3000)
    • Magnetometer (Freescale MAG3110)
  • Power – Single cell coin cell battery (CR2032), quiescent current consumption of 8uA, allowing years of battery life.
  • FCC, IC and ETSI certified solution
  • Dimension – 71.2x36x15.5 mm, PCB: 57x25x1.5 mm

TI_SensorTag_AppSensorTag devkit comes with a SensorTag with an enclosure, one CR2032 battery, one screw, and a quick start guide.

This development kit is mainly designed for smartphone app developers as no embedded software designer or compiler is required.  Currently SensorTag only works with iOS and Windows PC, but it will eventually support Android, once a standard Bluetooth 4.0 LE (SMART) API is available. However, if you check out the Wiki, you’ll find some instructions are also available for HTC Once, and Linux devices (Raspberry Pi).

To get started, download and install TI SensorTag app to your Bt 4.0 enabled iOS device (iPhone 4S, iPhone 5, iPod Touch, or the new iPad), press the side button on the SensorTag to connect the two devices, and play around with the sensors from the application.
The application also has a “Generate Source Code” button to show you the source code. Sample code can also be downloaded from TI website.

If you don’t have an iOS device, you can also install BLE Device Monitor to communicate with SensorTag from a Windows 7/XP computer fitted with CC2540 USB dongle, or possibly, another Bluetooth 4.0 LE compliant USB dongle (TBC).

Finally the company also provides CC2540/41 Bluetooth low energy (BLE) software development kit for both the controller and host, as well as the hardware files (Schematics, BoM, and PCB layout) for the kit.

If you’re interested in an introduction about Bluetooth 4.0 LE, and learn how to use and program SensorTag, you can watch the short 15-minutes video tutorial below.

For further information, visit http://www.ti.com/sensortag.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Wimoto Motes are Tiny Bluetooth Sensors for iOS, Android, and Linux Devices

May 30th, 2013 3 comments

Wimoto Motes are small (30x30x8mm) wireless sensors that communicate temperature, humidity, soil moisture… values to your iPhone, iPad, Android, and Linux (yes, including the Raspberry Pi) devices via Bluetooth. They are said to last for about a year on a single CR2032 battery and don’t require an Internet connection to work, but you can still upload your data to Wimoto cloud service via the app, or use an optional mote.cloud bridge to do it for you in realtime via Wifi.

Growmote

There are currently 4 Motes:

  • Climote – Measures light (0 to 60,000 lux), temperature (-25 to 85 C) and humidity. Used to monitor a room environment (bedroom, cellar, greenhouse,…), and tell you if you need to make adjustment
  • Growmote – Measures sunlight (0 to 60,000 lux), soil moisture (5 levels) and temperature (-25 to 85 C), to make sure your lawn or flowers are not  thirsty.
  • Thermote – Measures an object temperature (-40 to 125 C) via infrared, so it does not need to touch the object.
  • Securimote – Comes with an infrared motion sensor and an onboard accelerometer. Used for applications such as children monitoring, and house security.

Motes use Bluetooth SMART (aka Bluetooth Low Energy), which is part of Bluetooth 4.0, and under normal conditions and line of sight, you should be able to talk to your Motes within 30m. They also have internal storage which is big enough to store one week of data (with 15 minutes sampling rate), and can send an alert to your smartphone/tablet/computer once a threshold is reached. Motes can be used both indoor and outdoor, as they are water resistant, although they’re not waterproof, so they can’t be immersed.

There’s already an app for iOS devices (recent iPhone, iPad, and iPod touch), and an App for Android 4.3 devices with Bluetooth 4.0 support will be available in June or July. I understand there won’t be an app for Linux, but they’ll release details of their Bluetooth 4.0 profiles and services so that developers can access Motes from Linux, (or other operating systems) using BlueZ and some scripts.

The design is nearly complete, and Wimoto has launched an Indiegogo campaign in order to get funds for the plastic enclosure mold, regulatory testing, and mass-productions (at least 1,000 unit).

Each mote costs $39 + shipping ($10 in the US, and TBD in other locations), and you’ll need to pledge $99 in case you want the mote.cloud bridge to automatically send data to the Wimoto cloud service. They also offer bundle pledges where you can buy Motes for as low as $27.50 per unit. Climote, Growmote, and Thermote are expected to ship in August 2013, whereas Securimote should be available in October.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$19 RFDuino is a Coin-sized Bluetooth Arduino-compatible Board

March 20th, 2013 6 comments

RFDuino is a tiny board, about the size of a coin, powered by Nordic nRF51822 Cortex M0 SoC including bluetooth 4.0 LE support, and software compatible with Arduino UNO and DUE board, so you can just use Arduino sketches with the board. Bluetooth allows it to communicate with your smartphone (iPhone for now, but Android support is coming) to control motors & relays, monitor sensors, turn LEDs on/off, and more.

RFDuino (Left) & RFDuino with 2 shields connected to a breadboard

RFDuino (Left) & RFDuino with 2 shields connected to a breadboard

Key features of RFDuino board:

  • MCU – Nordic nRF51822 Cortex M0 @ 16 MHz
  • Memory -  16 KB on-chip SRAM
  • Storage – 256 KB on-chip Flash
  • Connectivity – Bluetooth 4.0 Low Energy built in MCU
  • GPIO – 7 pin software configurable as digital IO, analog ADC, SPI, I2C, UART and PWM. 

The company currently offers several stackable shields for RFDuino including battery shields (1x AAA, 2x AAA, and CR2032 coin battery), a servo shield, a USB shield, a prototype shield and more.

RFDuino will be open source hardware, and it looks quite simple as it’s just a DIP board where RF Digital RFD51822 module has been connected. You can learn the whole design story, and get more technical details in the video below.

In order to load code unto RFduino you’ll need a USB adapter board in order to connect the board to your computer. If you want to use an existing sketch, you don’t need the USB adapter board, as they can preload a sketch on the board before shipping.

RFDuino developers are looking for funds on KickStarter. You can pledge $19 to get an RFDuino, but it’s probably a better option to pledge $39 as it includes the USB shield that allows you to program the board with any sketches. If you don’t live in the US, add $10 for shipping. If everything goes according to plans, you should receive your boards in July 2013.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

May the Force be with You Thanks to Thalmic Labs MYO Gesture Control Armband

February 27th, 2013 2 comments

If you’ve always dreamed of being able to control objects just by thinking about it, you may be interested in MYO, a gesture control armband that is supposed to “unleash your inner Jedi” by monitoring electrical activity in your forearm muscles, and converting that into input commands transmitted wirelessly to the object to control. This can be used to control a quadcopter, or more simply your computer, smartphone, tablet, television, etc..

MYO Armband

There are not many details about the technology behind it, but we do know it’s using Bluetooth 4.0 to communicate with peripheral, comes with a lithium ion battery, and will be powered by an ARM processor. It will support  Windows and Mac computers, as well as Android and iOS devices initially.

The company will provide an “MYO API” to let developers come with new concepts and products, the device will be available sometimes in 2013, and you can pre-order it now for $149.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Categories: Hardware Tags: bluetooth, thalmic labs

Bluetooth Smart Devices and Low Energy support on Linux – ELCE 2012

January 15th, 2013 No comments

Andre Guedes and João Paulo Rechi Vita, software engineers at Instituto Nokia de Tecnologia (INdT), give a presentation about Bluetooth Low Energy support on Linux (BlueZ stack) at the Embedded Linux Conference Europe in Barcelona on November 5, 2012.

Abstract:

BlueTooth Low Energy  Architecture

Bluetooth Low Energy Architecture

This presentation will cover a brief introduction on how the Bluetooth Low Energy technology works. Then it will present the current status of its support on Linux, presenting the available APIs and how to interact with Bluetooth Smart devices. Then we’ll present the profiles we’re currently working on and what support can be expected to be found on Linux and BlueZ this year. There will be also a few demos of Bluetooth Smart devices working on Linux. The audience of this talk is application or framework developers that want to add support for Bluetooth Smart devices to their software, hardware vendors,and technology curious. Basic Bluetooth understanding is recommended but not required.

The agenda of the talk is as follows:

  • Intro to BLE technology – Specified in Bluetooth 4.0 for low power consumption (Coin-cell battery devices), fast connection establishment and short range. BLE is to be used in PCs, wellness and medical devices, mobile phones, as well as sensors and automation.
  • LE profiles supported by BlueZ
    • Generic Attribute Profile
    • Proximity Profile – When reporter distances from monitor an alert is emitted
    • Find Me Profile – Emit an alert on the remote device upon a command
    • Time Profile – Synchronizes the current local time
    • Health Thermometer Profile – Temperature measurements at periodic intervals
    • HID over GATT Profile – LE Human Interface Devices
  • Broadcaster & Observer – Undirected connectionless data transfer used for sensors and info advertisement.
  • Current support status
  • Work in progress – GATT API improvements, Broadcaster and Observer APIs and Profiles (Alert Notification, Phone alert status)
  • Demos – Proximity, Time and HID over GATT

You can also download the slides for this presentation.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Categories: Linux, Video Tags: Linux, bluetooth, bluez, elce 2012, indt, nokia