Bluetooth Technical Resources

Silicon Labs is a Bluetooth module manufacturer and solutions provider. Over the years they have created a large number of useful technical notes. They have just created a master list that allows easier access to the notes. Here are some that more general, less proprietary and not specific to Silicon Labs’ modules:

Bluetooth advertising data basics

Bluetooth Tx power settings

Throughput with Bluetooth Low Energy technology

Bluetooth advertising using manufacturer specific data

BLE Basics (master/slave, GATT client/server, data RX/TX)

Understanding the Bluetooth Connection Process

Bluetooth Mesh Training resources

Low Power Bluetooth Advertising Chip Without SoC

Asahi Kasei Microdevices Corporation has announced the AK1595. As with the previously mentioned AK1594, it works without a System on a Chip and provides Bluetooth transmission using very low power.

Instead of setting the advertising via EEPROM programming like the AK1594, the AK1595 is controlled via UART or I2C making it suitable for variable data transmission scenarios.

We expect the AK1595 will be particularly useful for energy harvested applications.

Bluetooth Low Energy in Noisy RF Environments

Michael Spork, Carlo Alberto Boano and Kay Romer of the Institute for Technical Informatics, Graz University of Technology, Austria have a recent paper on Improving the Timeliness of Bluetooth Low Energy in Noisy RF Environments.

The paper looks into the affect of radio frequency (RF) noise on connection based Bluetooth LE communication and provides a mechanism that significantly improves the time taken to send a message in noisy environments. To be clear, beacon-related scenarios rarely use GATT connection based communication and instead use connection-less communication repeatedly broadcasting short packets on 3 advertisement channels (37, 38, and 39). Connection tends to be used only to set up beacon parameters or for more advanced scenarios where a device such as a smartphone connects to the beacon for bidirectional data transfer to get real time data, for example, more timely motion detection.

The authors distinguish their research as experimentally derived as opposed to analytic (just using calculations). They show how the Bluetooth Adaptive Frequency Hopping (AFH) algorithm allows Bluetooth devices to blacklist interfered channels and re-transmit packets on different frequencies until interference is avoided.

The paper shows how the AFH algorithm mitigates the effects of Wi-Fi interference near a Bluetooth master by blacklisting channels. An interesting insight is that the master is unable to detect Wi-Fi interference near the Bluetooth slave and is unable to adapt resulting in UDP messages being significantly delayed.

“Our experiments show that BLE connections are eventually able to successfully transmit all data packets, even under heavy Wi-Fi or Bluetooth interference”

The authors demonstrate that by lowering the connection interval in response to changes in the link quality, an application can reduced the average number of packets delayed from 6.18% to 0.54%.

Read about Bluetooth LE on the Factory Floor

What is Bluetooth Beacon Technology?

Bluetooth beacons use Bluetooth LE, a low power version of Bluetooth to repeatedly send out a short amount of data typically up to 50m but in some cases hundreds of metres. The data usually includes an identifier in various standard formats such as iBeacon or Eddystone. It can also include sensor data.

The beacon advertising can be picked up by other Bluetooth LE devices such as smartphones, WiFi gateways to send to a server and single board computers such as the Raspberry Pi.

The key features are:

  • Low power and hence can work for up to years on battery power
  • Interoperability with a large number of other Bluetooth LE devices
  • The underlying Bluetooth LE protocol is resilient to electrical interference
  • Sensing without the need for soldering or custom electronics

To learn more about the physical aspects of beacons and the actual advertising, see our article on What are Beacons?

Read more about beacons for IoT sensing.

Bluetooth Range Estimator

The Bluetooth SIG, who create the specifications for Bluetooth, have a new Bluetooth Range Estimator that takes into account the environment, transmit power, antenna gain and received gain to provide an estimated range.

There’s also an associated blog post on 3 Common Myths About Bluetooth.

In terms of beacons, the range usually relates to how they are powered. The beacons with smaller CR2032 batteries tend to be designed for ranges up 50m. Larger CR2477 powered beacons usually reach about 100m. AA battery beacons or those with power amplifers reach hundreds of metres. and some USB beacons can reach up to 4Km. These ranges are outdoors. Indoors, there’s often radio reflections and blocking that reduce range. Beacon orientation can also affect range.

Bluetooth 5 Packet Sniffing

When testing beacons and Bluetooth LE, nRF Connect is usually sufficient. However, if you need deeper analysis of Bluetooth you need to use a packet sniffer.

NCC Group has a new open source sniffer for Bluetooth 5 that also works with Bluetooth 4.x. You need to run the software on a Texas Instruments (TI) CC26x2 board.

The source code and instructions are available on GitHub.

Survey of Mesh Technologies

There’s useful new research on Wireless Mesh Networking: An IoT-Oriented Perspective Survey on Relevant Technologies by Antonio Cilfone, Luca Davoli, Laura Belli and Gianluigi Ferrari of University of Parma, Italy. It covers how various communication technologies are suitable for mesh networking.

The paper explains mesh topologies and routing protocols. It describes Bluetooth:

“BLE is presently raising more and more attention and is becoming one of the leading technologies for both IoT-oriented and industrial scenarios”

The authors provide an in-depth introduction to SIG Bluetooth Mesh. (Note that an excellent higher level overview also very recently became available from InsightSIP). The research paper also mentions other Bluetooth mesh implementations such as the draft IETF Bluetooth Mesh for IPv6.

Applications such as smart city, industrial monitoring and smart agriculture are considered and factors such as interoperability and security are mentioned. Finally, the paper compares other protocols such as Thread, ZigBee and LoRaWAN.

Read about Beacons and the Bluetooth Mesh

Sending Your Own Custom Bluetooth Advertising

We sometimes get asked if it’s possible to send custom advertising. All Bluetooth advertising is based on Bluetooth standards and our post on the Cheat Sheet shows some examples such as iBeacon and Eddystone.

The first question is why you might want to send your own advertising. Using the iBeacon or Eddystone protocol is sufficient in the majority of cases where you just want to a unique id at the Bluetooth LE receiver (usually but not always an app or gateway). The most common case of custom advertising is sensor beacons that need to send their own sensor data.

Nevertheless, some projects use custom advertising that signifies something extra other than a unique id. This is project specific and might, for example, indicate something about location, asset or person. Very few beacons support custom advertising without full re-programming (as opposed to setup). Re-programming involves replacing the SoC firmware and is a significant undertaking. Some of the MeeBlue beacons support setup of a custom channel that can contain any data.

iB003N Supports a Custom Channel

Bluetooth LE Supported on Zerynth

There’s a growing number of operating systems for microcontrollers on single board computers, most of which can scan for Bluetooth LE devices such as beacons and connect to them via GATT for setup and extraction of data. Zerynth is now one such OS that you can program using Python.
Zerynth r2.2.0 update allows use of Bluetooth LE.

There’s a new article on Design Bluetooth BLE Applications in Python on ESP32 using Zerynth. The official documentation provides lots of examples.