Enabling the IoT, part 1: What BLE v5.0 means to you
In 2010, Bluetooth Low Energy (BLE) was added to Bluetooth specification to enable connections between devices that only needed to send a few bytes of data to each other over a limited range. It focused on consuming less power compared to Bluetooth classic and other wireless technologies. As the Internet of Things (IoT) transitions from concept to execution, BLE can be found in a variety of applications, including automation, remote controllers, beacons, wireless sensor nodes, and many others. System designers are realizing they need to transfer more data than what was supported by older versions of the BLE specification. In addition, greater range would enable new applications like automation, asset tracking, and wireless sensor nodes. BLE v5.0 tries to address these needs and more to make BLE more IoT friendly.
There are several key updates introduced in BLE v5.0:
- 2-Mbps PHY
- Longer range
- Increase in maximum allowed transmission (TX) power
- Advertising extensions
Since its inception, the BLE specification has evolved to improve throughput (Figure 1). However, v5.0 implements a major change by adding 2-Mbps PHY capabilities, compared to 1-Mbps in older versions.
[Figure 1 | Throughput and BLE specification]
As can be seen in Figure 1, the change to a 2-Mbps PHY in BLE v5.0 does not translate to 2X throughput compared to V4.2 using a 1-Mbps PHY. To understand this, consider the link layer packet structure (Figure 2). The preamble is 1 byte for the 1-Mbps PHY and 2 bytes for the 2-Mbps PHY. Thus, when data is sent over a 2-Mbps PHY, an additional 1 byte needs to be sent per packet. This translates to an additional 4 μs per packet.
[Figure 2 | Link Layer packet structure]
Next, let’s look at the difference in data transfers between BLE v4.2 and v5.0 (Figure 3). Interframe spacing (T_IFS) remains unchanged from 1-Mbps PHY to 2-Mbps PHY. The preamble takes the same amount of time due to the additional 1-byte requirement as mentioned above. Based on this, the throughput for both can be calculated as following:
BLE v4.2 Maximum Throughput = 251 / (80 + 150 + 2120 + 150) = 803 kbps
BLE v5.0 Maximum Throughput = 251/ (44 + 150 + 1064 + 150) = 1430 kbps
[Figure 3 | Data transfer using BLE v4.2 vs BLE v5.0]
For this reason, the 2-Mbps PHY provides only 1.8X more throughput compared to the 1-Mbps PHY. The 2-Mbps PHY supports only data channels and cannot be used by primary advertising channels.
A key advantage of transferring data using a 2-Mbps PHY is the lower power consumption required to transmit data. With a 2-Mbps PHY, the radio needs to be active for a shorter period and hence, consumes less current. The device can also spend more time in deep-sleep mode (approximately 1092 μs per 251 byte data transfer), further reducing average power consumption.
Some of the applications that will benefit from the 2-Mbps PHY include wearables and remotes controllers. Faster throughput will also enable over-the-air (OTA) upgrades. Upgrades are an important feature in many IoT applications to keep products up-to-date and still maintain time-to-market requirements for a successful commercial product.
Limited range is a bottleneck for various applications like industrial automation, home automation, and asset tracking in an open environment (e.g., cattle in a field). Support for longer range will help address bottlenecks, to some extent. BLE v5.0 increases range by 4X compared to BLE v4.2. BLE v5.0 uses forward-error correction (FEC) to detect and fix errors in communication. FEC codes data with redundant bits that allow detection and reconstruction of lost bits but, in turn, reduce the data rate to 125 kbps or 500 kbps, based on the coding scheme. Also, 1-Mbps PHY is used for coded PHY instead of 2-Mbps that can be used only for uncoded PHY. Figure 4 shows the Protocol Data Unit (PDU) structure for the coded PHY. Fields that are highlighted in green are new ones introduced for long range by v5.0. Coding Indicator (CI) tells whether S=2 coding or S=8 coding is being used, where 'S' means the number of symbols that are transmitted per bit.
[Figure 4 | Link layer packet structure for uncoded and coded PHY]
The way long range is implemented in BLE v5.0 introduces challenges that did not exist with earlier versions. Table 1 shows a comparison of the time taken by an uncoded PHY and coded PHY for both coding schemes.
[Table 1 | Performance comparison between uncoded and coded PHY]
As can be seen in Table 1, transmitting at 4X range (S=8) takes about 13X the time compared to an uncoded PHY transferring 251 bytes of data using BLE v5.0. About 4X time is required to transfer 251 bytes when S=2 coding is used. This translates to approximately 13X and 4X radio power consumption respectively for 4X and 2X range. Although peak power consumption does not increase in this implementation, this huge increase in radio power consumption makes it unsuitable for battery-powered applications.
Another tradeoff is that longer transmissions consume more bandwidth within the already busy 2.4 GHz spectrum. This increases the difficulty of implementing co-existence when several Bluetooth devices and other devices based on 2.4 GHz wireless technologies are operating in same vicinity. Thus, for many applications, using an external power amplifier to add gain within the limits specified by the Bluetooth specification and country-specific regulations will result in more efficient operation compared to using longer range (i.e., shorter time in the spectrum and lower average power consumption). Of course, an external power amplifier comes at additional cost. However, as average power consumption reduces drastically with an external PA versus using a coded PHY, this will increase operating life and reduce how frequently batteries need to be changed or charged as well as associated operating costs to replace/charge batteries.
Increase in maximum allowed TX power
BLE v5.0 supports a maximum low energy TX power of 20 dBm, an increase of 10 dBm increase from previous specifications. This is a more optimal option for increasing device range than using a coded PHY if the added cost of a PA is not an issue. However, as mentioned earlier, as average power consumption comes down with an external PA compared to using a coded PHY to increase range, operating cost comes down. But, higher TX power can saturate other device's RX if devices are too close. Thus, this feature is useful if devices are separated by reasonable distances like they are when tracking cattle in a field or deploying wireless sensor nodes across an open area. It is important to keep in mind regulatory requirements of the country where the device has to operate. Even though the v5.0 spec allows TX power to be 20 dBm, some countries may not allow that much transmit power.
There are two key additions to the advertising capabilities in BLE v5.0. The first is an increase in the payload size, from 31 bytes to 251 bytes. This allows larger payloads to be broadcasted in fewer packets and hence more efficiently in terms of power consumption. However, this feature may be limited to specific applications like using beacons to send URLs in advertising packets in a shopping mall. As a result, this feature may not be implemented in most devices in the near-term.
The second addition is the ability to use data channels for broadcasting. These channels are known as secondary advertising channels while dedicated advertising channels are known as primary advertising channels. To support this feature, a new Adv PDU, ADV_EXT_IND is supported in v5.0 that tells if there is any packet on the data channel. This PDU type is ignored by legacy devices (v4.2 and older). If device wants data to be broadcasted to device based on older versions as well as v5.0, it will need to broadcast the data twice – first using the primary channels and then using data channels. This effectively negates the purpose of this feature. The only practical use case is where an observer also supports BLE v5.0. This may not be practical for applications where the observer is an unknown device like a mobile phone.
The Bluetooth v5.0 spec has tried solving various problems in low energy connectivity like low throughput, short range, and limited advertising capabilities. The introduction of a 2-Mbps PHY has resolved low throughput issues by increasing throughput by 1.8X compared to v4.2 and about 6X compared to v4.1. Long range and advertising extension features do address issues up to some extent but may not be practical for many applications due to various limitations and side effects. An increase in TX power can help applications increase range with slightly higher peak power at the cost of an additional power amplifier. Still, this will keep operating costs low and simplify co-existence.
The articles that will follow are:
- Connecting things easily and reliably
- Smart Mesh
- Device specifications for IoT
- Security in IoT