Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Bluetooth Overview

From Wiki
Jump to: navigation, search
Article Metadata
Created: jimgilmour1 (16 Mar 2007)
Last edited: hamishwillee (18 Oct 2012)
Bt protocol stack.JPG
The Bluetooth wireless technology is a low cost, short range, and low power specification for an ad-hoc network for data and voice communication in any place of the world. It was created by Ericsson in 1994 to provide wireless connection between devices and mobile phones. The given name and logotype comes from a Scandinavian king called Harold Bluetooth (Blatand'). It is based on 2.4GHz unlicensed frequency. This radio is not like the mobile phone radio used to connect Telecom suppliers. On average the distance from transmitter to receiver is 10 Meters (depending of Bluetooth Radio classification by Bluetooth SIG). It can also be 100 Meters.


Bluetooth Profiles

The main reason for use of Bluetooth is the cheap connection cost and the ability to connect to a range of electronic devices, not just PC's and other mobile phones, so most Bluetooth devices do not need an Operating System to support them. It is possible because the technology is profile-based which defines a set of protocols for each feature enabled.

These are some of the defined profiles:
- GAP: Generic Access Profile (mandatory for all devices - enables inquiry, service discovery, etc.)
- PAN: Personal Area Network Profile
- SPP: Serial Port Profile (over RFCOMM emulates RS-232)

For more profiles visit: PaloWireless


If there is a group of Bluetooth devices supporting the PAN profile, they can create a network where one device is the 'master' and the rest of devices are 'slaves'. This network is called "Piconet" and it has 1 master and a max of 7 slaves. It is possible for a slave from a given piconet, to become master for a different piconet. Then, it is possible to merge piconets creating a "Scatternet". It is possible to create a max of 10 Scatternets.

A common use of Bluetooth is to connect a Bluetooth headset to a phone. It means you do not need wires to connect to your phone. One of the latest development is to use specific mobile phones as stereo music players via Bluetooth using specific headphones which support the Advanced Audio Distribution Profile (A2DP) for Bluetooth 2.0.

These are some example devices that use Bluetooth to communicate: - Headsets (Audio Profile)
- Printers (SPP)
- Virtual Cards, Notes (OBEX)

Brief Technical View

- 2.4GHz (ISM) frequency
- 79MHz band and 79 channels (1MHz per channel)
- Frequency hop and TDM (Time Division Multiplexing) - 1,600 hops/second

Radio ranges:
- Class 1: 100 meters (300 feet)
- Class 2: 10 meters (30 feet)
- Class 3: 1 meter (3 feet)

Rate: 1MBps (Theorical)
Rate: ~700KBps (Real - approximated and with no overhead)
Data/Voice simultaneous capability

Establishing a connection

MASTER is always the one who PERFORMS connection;
SLAVES awaits for connections. (The slave wakes up every 1.28sec to listen to one of 32 available slots)

  1. Master performs the INQUIRY
  2. Slaves (in LIAC or GIAC mode) answers with a key and clock. If a device is in NOT DISCOVER mode, it won't answer that.
  3. Master sends PAGE command and await for ACK
  4. Slave sends ACKnowledges

Looking for Services

  1. Master queries for available services (using Service Discovery Protocol - SDP)
  2. Slave answers with services UUID's (a 128 bit key)


The code is often written for S60 Symbian, but it can be developed using Java and Python as well.
Wiki: How to use bluetooth and GPS
Nokia Developer: Where is TomTom Source?


External links :
Bluetooth Tutorial (SUN)

This page was last modified on 18 October 2012, at 04:19.
92 page views in the last 30 days.