What is a Profile?

A profile is a formal specification that defines two or more devices and how they can work together. TThis article focuses on profiles for Bluetooth implementations.

The Bluetooth Special Interest Group (SIG) defines a number of standard profiles called adopted profiles. I will explain why later. Examples include the Proximity Profile, the Heart Rate Profile, and the newly released Continuous Glucose Monitoring Profile. You can find the full list on the adopted specification.

A key component of the Bluetooth Smart architecture is the Generic Attribute Profile (GATT). It defines the types of state data that a device exposes and how that data can be used. It does this in terms of structures known as services, characteristics and descriptors. Amongst other things, a Bluetooth profile must define the GATT services that each device of this type must (mandatory) or may (optional) implement. There is a many-to-many relationship between profiles and services so particular services may be used by multiple, distinct profiles. This is a simple but powerful idea and one that saves time and money for developers implementing device firmware, since it supports and promotes reuse of code across different device types.

Services are self-contained descriptions (at the specification level) or implementations (at the code level) of a set of closely related behaviors and device data. They’re completely decoupled from the profile they’re used by and so, having no “awareness” of the type of device they’re used in, can be thought of as completely self-contained components—this is what makes them perfect for reuse. For example, you’ll find the Device Information Service and the Battery Service used in a whole range of different profiles.

The data which services contain is expressed as a series of GATT characteristics. For example, the Device Information Service contains a characteristic called Serial Number, whilst the Battery Service contains a characteristic called Battery Level. Profiles, services and characteristics are three of the fundamental technical aspects of the Bluetooth architecture, defined by GATT.

Adopted vs. Custom

Those profiles, services, and characteristics defined and published by the Bluetooth SIG are termed adopted. Bluetooth SIG working groups develop and maintain adopted specifications that eventually become industry standard.

The Bluetooth SIG designed Bluetooth technology with innovation in mind. In addition to the adopted profiles and services published by the Bluetooth SIG, third-party developers are permitted to define their own profiles using the GATT architecture. We call these custom profiles. It’s permissible to define your own custom services and characteristics too.

Custom vs. Standard

If you create a custom profile, service, or characteristic, does it mean your device will be non-compliant with the Bluetooth standards? Happily, the answer is a resounding NO! This is the power and beauty of custom profiles — you can invent your own device types and device behaviors, define and implement them as a custom profile, and are still compliant with the relevant Bluetooth standards. How incredible is that?

So adopted profiles are standard profiles created and maintained by the Bluetooth SIG while custom profiles are ones created by third parties. Both categories of profiles are fully compliant with Bluetooth SIG standards.

A Closer Look at Custom Profiles

With custom profiles, you have complete flexibility. You may incorporate both adopted services and custom services in the same custom profile. The same applies to custom services; they can contain a mixture of adopted services from the Bluetooth SIG and custom services that you invented. You may also create a custom profile by assembling a new combination of previously adopted services.

How Do You Create a Custom Profile?

Watch the video above for a detailed review of the process of creating a custom profile. Your target Bluetooth chip or module will provide a software developer kit (SDK) that should include a mechanism by which you can define and implement your device’s profile and its constituent services. For a hands-on introduction to the topic, I recommend you download the Bluetooth Starter Kit and work through the labs. You will implement a custom profile using an Arduino board with Bluetooth shield plus one or more mobile applications that use that profile.

To Publish or Not to Publish?

That is the question, or at least one of them. Adopted profiles benefit from the fact that the Bluetooth SIG publishes their specification, so it’s easy for developers to work with devices that implement them. There’s a thriving third-party app developer ecosystem for smartphones and tablets where we see the result of this openness applications.

Some manufacturers choose to publish details of their custom profiles for other third-party developers to exploit, while others do not. This is a business decision not a technical one.

Custom Profiles in 2015

While the concept of custom profile creation allows for great flexibility from a developer’s point of view, the Bluetooth SIG is studying ways to make it even easier for developers to share, discover, and reuse custom profiles. Since custom and adopted profiles are structured the same way — via services and characteristics — the advent of a creation tool of these elements is definitely possible. We are currently working on something to make the process of using adopted profiles, or creating custom profiles, in a consistent and easy way in the near future.

Why Bluetooth Technology is the Developer’s Swiss Army Knife

Members of the Bluetooth® community are continuously innovating. Over the last two decades, members have…

Updates to the Bluetooth Internet Gateway Study Guide

According to the ABI report Installed Base of IoT Devices by Connectivity Technology, published…

In Case You Missed It: What’s New With Blue This Summer

The Bluetooth® developer community is always pushing the technology forward, and this summer has…

New Core Specification v5.3 Feature Enhancements

One of the key reasons why Bluetooth® technology has emerged as the global wireless…

Bluetooth® Core Specification Version 5.3 Feature Enhancements

Bluetooth® Core Specification version 5.3 includes several feature enhancements with the potential to improve…

Connect: Car Access Demo

In this demo, Texas Instruments will discuss and demonstrate Bluetooth 5.1 and its cutting…

Wireless Connectivity Options for IoT Applications - Commercial Lighting

Industry 4.0 is no longer a thing of the future. The term describes the…

4 Essential Tools for Every Bluetooth Low Energy Developer

One of the biggest challenges of learning any new technology is knowing which tools…

Is Remote IOP Testing Here To Stay?

Like many organizations around the world, the Bluetooth Special Interest Group (SIG) has made…

Designing and Developing Bluetooth® Internet Gateways

Learn about Bluetooth internet gateways, how to make them secure and scalable, and design and implement your own working prototype gateway and web application for use with either Bluetooth LE Peripherals or with Bluetooth mesh networks.

An Introduction to Bluetooth Low Energy for Swift Developers

All smartphones support Bluetooth® Low Energy (LE) and it is used in all manner…

Building a Sensor-Driven Lighting Control System Based on Bluetooth® Mesh

A technical examination of which Bluetooth mesh models to use in different types of…

How Bluetooth Low Energy Works: 21 Interesting Facts

Whether you’re a beginner or an expert in Bluetooth Low Energy development, it’s always…

Advanced Bluetooth for Android Developers

Android developers can take this guided tour of the most recent features and interesting…

How to Deploy BlueZ on a Raspberry Pi Board as a Bluetooth Mesh Provisioner

This step-by-step study guide will teach you: How to rebuild the kernel on a…

The Bluetooth LE Security Study Guide

Learn about fundamental security concepts, the security features of Bluetooth Low Energy, and gain some hands-on experience using those features in device code.

How Bluetooth 5 Increases the Achievable Range of a Bluetooth Low Energy Connection

Texas Instruments offers their theory on how to achieve long range with a Bluetooth…

Testing Long Range (Coded PHY) with Nordic Solution (It Simply Works)

There has been a lot of discussion and confusion about testing the long range…

 Get Help