This blog is to describe what are the major features on the S112v7.0.1, S132v7.0.1 and S140v7.0.1 comparing to the S112v6.1.x / S132v6.1.x / S140v6.1.1.

Please use the v7.0.1 instead of v7.0.0 for the production.

In the release note of S112v7.0.1/S132v7.0.1/S140v7.0.1,

The main new features of this version compared to those versions are the ability to configure the inclusion of the

  • Central Address Resolution (CAR)
  • Peripheral Preferred Connection Parameters (PPCP) characteristics
  • the ability to trigger a task, for example, a GPIOTE task, at the start of a connection event

Device Addresses in the BLE Core Specification

Bluetooth devices use a 48-bit device address. Device addresses are classified as Public Device Address and Random Device Address:

Public Device Address: The Public Device Address is a combination of a company ID and a company-assigned ID per device following the IEEE 802-2001 standard. Company ID and company-assigned ID values are 24 bits each, constituting the total 48 bits of address as below:

Public Device Address

Random Device Address: As the name suggests, the Random Device Address is a randomly generated address. The Random Device Address is classified in two types, Static Random Address and Private Random Address.

The Static Random Address is either preprogrammed on a device before it’s shipped, or may change to a new value after each power cycle. However, a device isn’t supposed to change this address until the device goes through a power cycle. If this address is changed during runtime, the address stored in the peer device will not remain valid and the reconnection using the older address will fail.

Random Static Device Address

Static Random Address

Private Random Address

  1. Non-Resolvable Private Address
    • The two most significant bits are set to 0
    • All bits of a random number cannot be 0
    • All bits of a random number cannot be 1
  2. Resolvable Private Address (RPA)

The Resolvable Private Address (RPA) is the backbone for privacy in BLE devices. An RPA is an address that’s generated using a random number and the secret Identity Resolving Key (IRK). This IRK is shared between two devices at the time of pairing and stored in the device’s internal memory during bonding.

Along with IRK, the devices share a fixed address called the Identity Address. This Identity Address can be a Public or Random Static Address type. Because the devices, which have bonded earlier, know the IRK and Identity address, they can easily resolve the peer device’s private address. format of the Resolvable Private Address.

Format of the Resolvable Private Address.

Details can be found at URL ( https://www.electronicdesign.com/communications/ble-v42-creating-faster-more-secure-power-efficient-designs-part-2 ).

In summary, all Bluetooth device addresses can be divided into two types: Public (0x00) and Random (0x01). The Random address type can be categorized into two subtypes: Static or Private. The Private address subtype can be further divided into two subtypes: Resolvable or Non-Resolvable. These divisions can be visualized with the following tree:

Gap Service

The characteristics requirements for the GAP service in each of the GAP roles are shown in Table 12.2.

Central Address Resolution (CAR)

This seems to be a new feature added by BT 4.2. Because in BT 4.2, in order to improve the security of BT (the original SMP way can be cracked), the content of Random Address has been added. Here, the Central Address Resolution is used to indicate whether the Central device that exposes the GAP Service supports Resolvable Private Address (RPA). By reading the Central Address Resolution of the GAP Service of the other party’s Central device, the Peripheral device can know whether it supports RPA. If it supports, Peripheral can use RPA in its directed Advertisement. If it doesn’t support it, you can only use the public address.

The Peripheral should check if the peer device supports address resolution by reading the Central Address Resolution characteristic before using directed advertisement where the initiator address is set to a Resolvable Private Address (RPA).
The Central Address Resolution characteristic defines whether the device supports privacy with address resolution.

A device shall have only one instance of the Central Address Resolution characteristic. If the Central Address Resolution characteristic is not present, then it shall be assumed that Central Address Resolution is not supported.

Peripheral Preferred Connection Parameters (PPCP)

The Peripheral Preferred Connection Parameters (PPCP) characteristic contains the preferred connection parameters of the Peripheral.

The Peripheral Preferred Connection Parameters characteristic value shall be readable. Authentication and authorization may be defined by a higher layer specification or be implementation-specific.

The Peripheral Preferred Connection Parameters characteristic value shall not be writable.

The Peripheral Preferred Connection Parameters characteristic value shall be 8 octets in length. A device shall have only one instance of the Peripheral Preferred Connection Parameters characteristic.

API changes from version 6.1.x

By comparing the SD API (header file) difference from version 6.1.x