Bluetooth Vocabulary

Some commonly encountered Bluetooth terms are overloaded, especially when used in contexts which are not exclusively scoped to Bluetooth. This leads to confusion and communication overhead. We therefore define the following recommended vocabulary to encourage consistent usage.


This term is overloaded between an instance of the Bluetooth host subsystem (which comprises bt-init, bt-gap and the bt-host driver), the bt-host driver-layer, and the ‘host’ machine when performing operations on a separate device under test (the ‘target’, e.g. Fuchsia test hardware)

  • When referring solely to the Bluetooth Host software (in core/bt-host), use the term ‘bt-host’ or ‘bt-host driver’.
  • When referring to the Bluetooth Host Subsystem (including the bt-gap and bt-init components), use the full term (‘Bluetooth Host Subsystem’)
  • When referring to a host machine in a host/target setup, the term ‘host’ may be used.
  • Do not use any of these terms outside these definitions
  • In source code, namespaces may be considered part of the name, so bt::host is sufficient to describe the host driver, and bt::bthost is not required.


The term adapter has historically been used to refer to either the controller hardware or the bt-host driver. Its use is ambiguous and unclear. It should be avoided.

  • Avoid using the term ‘adapter’
  • If referring to the bluetooth hardware, use the term ‘controller’. E.g. “A Fuchsia system may contain multiple active controllers at once”
  • If referring to the bt-host driver (for example, within bt-gap), then use the term ‘bt-host’ as directed above.


This term is overloaded between a remote unit of physical hardware capable of communicating via bluetooth, and a part of the system bound as a device driver

  • When referring to a system device (e.g. represented in /dev), use the term ‘device’ (this is consistent with the rest of Fuchsia)
  • When referring to a remote Bluetooth Host/Controller pair that we may communiate and interact with, use the term ‘peer’
  • In situations where standard Bluetooth terms like ‘paging device’ or ‘inquiring device’ are used to describe peers in a specific situation, these terms may be used, but should be used in full. If in the given context it is clearer and more consistent to avoid the term ‘peer’, then the qualified term ‘remote device’ can be used, but the standalone term ‘device’ should be avoided.

Respectful Code

Bluetooth Core Specification 5.3 updated certain terms that were identified as inappropriate to more inclusive versions. For example, usages of ‘master’ and ‘slave’ were changed to ‘central’ and ‘peripheral’, respectively. We no longer allow uses of the prior terms.

In following with the Fuchsia project's policy on Respectful Code, we use the new terms in all cases, even when referring to previous versions of the specification, and no longer allow new uses of the prior terms.

For more information on the appropriate language mapping table published by the Bluetooth SIG, see Appropriate Language Mapping Table.