Basics of Bluetooth Low Energy (BLE): the ultimate guide
BLE (Bluetooth low energy) was introduced by the Bluetooth SIG in the 4.0 spec of Bluetooth. As the name suggests, BLE focuses on low energy consumption. Low energy focus comes with some sacrifices particularly around data transfer rates and the range of operation. But that’s not a bad thing, in fact BLE is very suitable for many applications. With all the hype around IoT (Internet of Things) and the slew of technologies and devices out in the market, BLE is attempting to position itself as a leader for the future of IoT. Some of the many suitable applications for BLE are:
- Fitness trackers (such as Fitbit, Misfit..etc)
- Smartwatches (such as the Apple Watch, Moto 360, and Pebble)
- Beacons (Apple iBeacon, Google Eddystone)
- Medical devices such as glucose meters, insulin pumps
- Home automation devices such as door locks, light bulbs, sensors, and others
- Low power consumption
- Low bandwidth – perfect for collecting data from sensor devices
- Proliferation in smartphones
- Relatively simple development process
- No fees to access the core spec
- Low development and module costs
- No outrageous licensing costs compared to other low power wireless technologies
Every technology has its disadvantages and BLE is no exception. The main ones are:
- Low bandwidth – not suitable for large data transfer applications
- Limited range (typically 30 -100 m, but steadily increasing with each iteration of the spec)
- Requires a gateway device to connect the end devices to the Internet (smartphones, dedicated gateway devices)
- Interference and noise from other protocols in the 2.4 GHz spectrum (WiFi, Bluetooth classic, ZigBee..etc)
- Can be difficult to debug issues with communications especially relating to longer ranges and interference
- A bit of a learning curve for newcomers to the technology
Types of Bluetooth devices
There are 4 types of Bluetooth devices in regards to support for low energy and classic:
- Bluetooth devices implementing a pre-4.0 spec -> do not support BLE
- Bluetooth devices implementing both the classic and low energy features. Typically smartphones, PCs, tablets..etc (formerly known as Bluetooth Smart Ready devices)
- Bluetooth devices implementing only the low energy features – sensor devices, and others typically running on batteries. Examples include smartwatches, fitness trackers, beacons…etc (formerly known as Bluetooth Smart devices)
- Bluetooth devices implementing only the classic features. Think headsets, wireless speakers, car infotainment systems..etc
Architecture of a BLE device
There are three main software levels in the architecture of a BLE device:
- Application: the application interfacing with the stack and implementing the specific user applications
- Host: high level layer of the protocol stack.
- Controller: low level layer of the protocol stack including the physical layer
Modes of operation
HCI (Host Controller Interface) is a standard communications protocol defined by the Bluetooth SIG to allow developers to use multiple processors from different vendors (one as a radio device, and another as the main processor for implementing the application).
Two main modes in BLE:
- Broadcasting: a broadcaster device initially advertises its presence and an observer device will discover these broadcasters by scanning the surroundings. Some devices stay in this phase, such as Apple iBeacons and Google Eddystone devices. This allows the broadcasting device to make itself visible to any observer and advertise a limited amount of useful info.
- Connection: starts with a device advertising (Peripheral/Slave) and another (Central/Master) scanning the specific advertising channels. The connection is then initiated by the central device. This mode connects the two devices allowing data transfer and a private communications channel between the two (this is the typical case outside of beacon devices). Once a connection is established, the end device (the embedded device) can turn off the radio leading to a lower power consumption.
- Generic profiles: these are the generic profiles defined by the Bluetooth spec. They lay out the fundamentals for all BLE devices.
- GATT (Generic Attribute Profile): a basic data model that allows devices to discover, write, and read elements.
- GAP (Generic Access Profile): layer responsible for managing connections, advertisements, discovery and security features.
- Use-case profiles:
- Adopted by the Bluetooth SIG and defining common behavior to make implementation simple for specific use-cases. Examples: Glucose profile, Heart Rate Monitor profile, Proximity profile.
Click here to access the latest Bluetooth spec.