English
Language : 

AN91162 Datasheet, PDF (5/43 Pages) Ramtron International Corporation – Creating a BLE Custom Profile
Creating a BLE Custom Profile
Standard Service Versus Custom Service
A Service is a group of characteristics that defines a particular function. There are two types of services. The first is the
Standard Service, which has been defined by the Bluetooth SIG for some common applications of BLE. Some examples are
Heart Rate, Health Thermometer, Blood Pressure, and Alert Notifications. The complete list of standard services can be found
in the Bluetooth Developer Portal. Refer to the application note AN91184 - PSoC 4 BLE Designing BLE Applications to learn
how to design a standard application using PSoC 4 BLE.
The second type of service is the Custom Service. This type of service, as the name suggests, is defined for custom
applications and not universally recognized. These services allow you to deploy BLE devices that can have custom
applications beyond the limited set of services defined by the BLE SIG but still utilize the BLE framework. Custom services can
be formulated by anyone developing a BLE application. The example project with this application note will demonstrate custom
services that will allow you to transfer custom RGB LED data between the BLE Pioneer Kit and a BLE-capable mobile phone
or PC.
Defining a Custom BLE Profile
A custom BLE profile incorporates custom services and characteristics. It can also include standard services and
characteristics.
Defining Services
The first thing to analyze while creating a custom BLE application is the set of functions that the application requires. Each of
these functions is represented by a custom service, which can then be used to obtain any data required.
For example, one function can be controlling the red, green, and blue color intensity of an RGB LED. This function can be
represented by a custom service, named “RGB LED Control”. Other functions could read the room humidity level or room
temperature. Figure 4 shows one such instance of an application, which defines custom services to implement three functions.
Figure 4. Define Custom Services
BLE Application
Function 1:
Control RGB LED
Function 2: Read
Humidity level of
room
Function 3: Notify
change in room
temperature
Service 1
Service 2
Service 3
Functions that differ only in the type of values they provide can be grouped under one service. In the RGB LED Control
example, you do not need to create four different custom services for controlling the four RGB LED color values (red, green,
blue, and intensity). As the function is to control the RGB LED values, one service will suffice. After the services have been
defined, allocate universally unique IDs (UUIDs) to each of these services that will uniquely identify them. These UUIDs should
be 128-bit values for custom services.
Defining Characteristics
Next, you need to define characteristics for each service. This definition contains the following:
 Data Value: The data value describes the type and the length of the data transferred. Supported data types include
unsigned byte, signed byte, word, character string, and array.
 Property: The property describes how the data value is accessed. Available choices are Broadcast, Read, Write,
WriteWithoutResponse, Notify, Indicate, SignedWrite, and WritableAuxiliaries.
www.cypress.com
Document No. 001-91162 Rev. *A
5