0% found this document useful (0 votes)
21 views9 pages

BLE FAQs

The document discusses Bluetooth Low Energy (BLE) technology. It covers topics like BLE versions, compatibility with Classic Bluetooth, beacons, advantages over Classic, range, number of connectable devices, power sources, power consumption management, data rate, required certifications, audio streaming capabilities, and comparison to Classic Bluetooth.

Uploaded by

Krishna Sg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views9 pages

BLE FAQs

The document discusses Bluetooth Low Energy (BLE) technology. It covers topics like BLE versions, compatibility with Classic Bluetooth, beacons, advantages over Classic, range, number of connectable devices, power sources, power consumption management, data rate, required certifications, audio streaming capabilities, and comparison to Classic Bluetooth.

Uploaded by

Krishna Sg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Which Bluetooth versions support mesh networking?

Can I upgrade existing products


that use Bluetooth technology?
Bluetooth Low Energy (LE) Mesh networking is compatible with the Core Specification
version 4.0 or later version.

Are Bluetooth Low Energy and Classic compatible?


Although Bluetooth Classic and BLE share some common components, they are not
compatible. Rather, they work side by side. A BLE radio can't connect to a
Bluetooth radio unless that Bluetooth radio supports BLE (called Dual Mode).

What are Beacons and iBeacons?


Beacons are BLE devices that transmit standard packets. Devices that are nearby
like smartphones can receive these packets and trigger events, perform actions like
launching an app, opening an information page, or sending a notification. For
example, Beacons are used in retail stores to help the user interact and provide
custom offers.

Why should I use BLE instead of Bluetooth Classic?


BLE has several advantages compared to Bluetooth Classic. It is much lower power,
up to 100x lower consumption, can connect quickly, has wide support, and can
communicate data to iPhones without the need to create an MFI compatible device.

What kind of range can I expect from BLE?


BLE can be used from a few feet of range to over a 1km, depending on design and
features used, antenna, RF design and environmental conditions.

How many devices can I connect in BLE?


BLE uses a Master (Central) and Slave(Peripheral) topology where a Central can
connect to multiple peripherals. Centrals can connect to multiple devices and it's
possible to connect 20 peripherals to one Central. There are limitations depending
on memory, timing and other aspects which are application specific, but the limit
is typically practical in nature. A device can be a Central and Peripheral device
simultaneously as well.

How do I power BLE devices?


Because BLE is a protocol designed for low power, BLE based products can use
anything from Coin Cells, Alkaline, Lithium Ion or practically any power source.
The current draw in the microamps make it also possible to use energy harvesting.

How is the power consumption managed in BLE?


- low-duty cycle operation,
- connection intervals,
- sleep modes.

How fast is BLE?


BLE can achieve a data rate slightly over 1.2Mb/s in practice, but the actual data
rate depends on factors like the signal level, interference, radio PHY, and
implementation.

What Certifications will my BLE device need?


BLE radios are RF transceivers, so you will need to get FCC (US) IC (Canada), CE
(Europe) or applicable certification for the countries where the device will be
used or sold. You will also need to get an End Listing with the Bluetooth Special
Interest Group.

Can I stream Audio over BLE?


Before the adoption Bluetooth 5.2 specification, BLE was limited in its ability to
stream audio. This was usually done using custom implementations The audio would be
compressed to reduce the data rate and usually didn't need real time low latency.
For example, TV Voice Remotes commonly use BLE to transmit the request when you
press the button. However, streaming quality audio was not possible. With the
introduction of Bluetooth 5.2, Audio streaming over BLE is possible, although the
specifications are still in progress at the time of this writing.

What is Bluetooth 5.0?


Bluetooth 5.0 is a Bluetooth Specification adopted which introduced several new
features and capabilities to increase the speed and throughput of BLE.

What is Bluetooth 5.1?


Bluetooth 5.0 is a Bluetooth Specification adopted which introduced primarily the
Location capability, allowing devices to use Angle of Arrival (AoA) or Angle of
Departure (AoD) to locate devices physically and enable Real Time Location Services
(RTLS).

What is Bluetooth 5.2?


Bluetooth 5.0 is a Bluetooth Specification adopted which introduced LE Audio, the
ability to stream audio over Bluetooth LE (previously supported only by Bluetooth
Classic), as well as GATT enhancements and several other improvements.

Do I still need to use Bluetooth Classic?


If your main application is audio or voice, Bluetooth Classic is still the best
option because it's widely supported. For example, a Car Hands Free system doesn't
support BLE and you need Bluetooth Classic. BLE can augment products by letting you
configure them using an app, for example.

Will my device need a custom iPhone or Android app?


In most cases yes. Talking to a BLE device is usually done via an app that's
programmed to do so. The exception is if you're not communicating with Smartphones
or tablets and are using embedded systems.

What is the difference between Bluetooth Classic and Bluetooth Low Energy?
Bluetooth Classic is used to connect headsets, speakers and other audio devices to
smartphones and tablets.
Bluetooth Classic can also exchange data, but BLE is quickly replacing it because
it's lower power, lower cost and faster to connect.
Bluetooth Classic can be used to connect many devices, even if it's not as good as
BLE
BLE is used mainly to exchange small data.

Is BLE Secure?
The Bluetooth specification provides for security using authentication and
encryption which protects data. This security features need to be enabled.
Devices before Bluetooth 4.2 are generally insecure because of the algorithms used.
it is important to take steps to secure your devices and data, such as using strong
passwords, limiting access to sensitive data, and keeping your software up to date.

What are the main factors that can interfere with BLE signals?
- physical obstructions such as walls, metal objects, or water,
- other wireless signals in the same frequency range.
- the signal strength can also be affected by the distance and battery life of the
BLE devices.

Environmental factors: Physical obstacles, such as walls or metal structures, can


block or reflect the signal, reducing the range of the BLE device.
Interference: Other wireless devices operating in the same frequency band can cause
interference, reducing the range of the BLE device.
Power output: The signal strength of the BLE device can affect the range, with
higher output power resulting in a greater range but shorter battery life.
Operating frequency: The operating frequency of the BLE device can also affect the
range, with higher frequencies resulting in a shorter range but potentially higher
data transfer rates.
Antenna quality: The quality of the antenna used in the BLE device can affect the
range, with a better antenna allowing for a greater range.
Receiver sensitivity: The sensitivity of the receiving device can affect the range,
with a more sensitive receiver able to pick up weaker signals and extend the range.

How can interference issues be addressed in a BLE system?


- adjusting the transmission power of our BLE devices,
- increasing the number of BLE beacons in the environment,
- signal filtering techniques to reduce interference from other wireless signals in
the same frequency range.

Where should BLE technology not be used or used less?


- may not be suitable for environments where there are a lot of physical
obstructions
- or where the signal needs to travel long distances.
- not be ideal for applications that require high bandwidth, such as video
streaming or large data transfers.
- it can be used effectively in a variety of industries and applications with
proper planning and configuration.

The Advantages of BLE


- Accessibility - phone has an integrated BLE module
- Low power requirements
- Low elements cost
- Free specification documents, ecosystem
- a star network is possible, and BLE Mesh Profile (Bluetooth Mesh) enables many-
to-many communication,

The Limitations of BLE


- Limited range - vulnerable to the obstacles
- Low data rate - 150 ms signal gap between the packet transmission

What are the Analogues of BLE?


- Z-Wave - mesh network with LE radio - used for home automation
- ZigBee
- Thread - based on IPV6 for IoT

BLE Technical Facts


- Frequency 2.4 GHz
- Minimal time to send data - 6 ms
- Maximum radio data rate - 2 Mbps (Bluetooth 5)
- Security and encryption - In CCM mode - 128-bit AES
- Peak current consumption - less than 15 mA
- Latency (non-connected -> connected state) - 6 ms

What is Bluetooth Low Energy Architecture?


- application layer: interface with the user, application logic
- host layer:
- Attribute Protocol - rules for attributes' structure and operations
- Security Manager - secure and privacy - authentication during the pairing -
concealing details
- Logical Link Controller and Adaptation Protocol (L2CAP) - protocol
converter and packet fragmentation
- Generic Access Profile (GAP) - roles, advertising, and connection
establishment
- Generic Attribute Profile (GATT) - attribute data transfer - client-server
model for read/write operations
- control layer: physical and link layers,
- physical layer: radio hardware
- link layer: interface between the physical layer and higher levels - HCI
(Host Controller Interface) layer

Are BLE Versions Backward Compatible?


Yes

What Certifications are Required for BLE Products?


European Region — CE certification
Canada — IC certification
USA — FCC certification

How do I implement power management in my TI - BLE application to achieve the


lowest power consumption?
All standalone or embedded example applications in the SDK are configured by
default to enter the standby (or "sleep") state when no application or radio
activity is occurring. This configuration is controlled by the POWER_SAVING pre-
processor define in the application project. This define configures the TI Power
Driver to automatically control the device power state in response to RTOS and
radio states/events such that the lowest power state is always achieved. For
example, with POWER_SAVING defined, the MCU will enter standby in between
advertisement or connection events, or when the idle task is running. No runtime
application control is required to manage the power state. Network processor
applications require additional signalling pins to be used for controlling the
device wake up and standby states. If these pins are not available, the application
must be built with POWER_SAVING removed/undefined. For more information on this
topic, refer to the application note Measuring Bluetooth Low Energy Power
Consumption (SWRA478) and the Power Management user's guide in the SDK (SPRUI18).

TI CC26xx
When I download my code, where is it programmed? Internal or external flash memory?
The CC13xx/CC26xx is a flash based wireless MCU with 128kB or 352kB of in-system
programmable flash memory.
optionally, serial flash memory can be connected via SPI - external flash is to
support firmware upgrade using TI's custom Over-the-Air Download (OAD) profile

How do I do a simultaneous Master & Slave (i.e., Peripheral & Central role)
connection?
With the multi-role sample application multiple, simultaneous connections can be
established in any GAP role (Central or Peripheral). For the CC2640R2, CC13x2 and
CC26x2 SDKs, the multi-role sample application is included in the SDK. Please see
the multi-role example application on the SimpleLink GitHub page under the
'ble_examples' repo.

What is Pairing?
Pairs of devices may establish a trusted relationship by learning (by user input) a
shared secret known as a “passkey”. A device that wants to communicate only with a
trusted device can cryptographically authenticate the identity of the other device.
Trusted devices may also encrypt the data that they exchange over the air so that
no one can listen in.

Which Bluetooth version uses adaptive frequency hopping? Why?


In Version 1.2 Adaptive frequency hopping method is used, which improves resistance
to radio interference, and provides higher transmission speed.

Which technology is used to avoid interference in Bluetooth?


Bluetooth uses frequency hopping technology. In this technology, 79 hop frequencies
are transmitted and received from 2402 to 2480 MHz. hopping in a pseudo-random
sequence at a rate of 1600 times in a second. Guassian frequency shift keying
modulation is utilized with a maximum data transfer rate of 721 kbps. Bluetooth
protocol stack is developed and TCP/IP imported layers are used in this technology.
Interference is being avoided by utilizing the frequency-hop(FH) spread spectrum
technology. It is adaptable for low-power, low-cost radio implementations and also
used in certain wireless LAN products.
The major advantage with this technology transmission is the high rate of 1600 hops
/ ps. Another advantage is, short packet length is also used by Bluetooth.

For Android, sometimes Bluetooth crashes and when you try to turn it on again in it
just goes back to turned off state. To recover you have to reboot the phone. I must
however say that if you manage to initiate a connection and don't get any errors it
will often continue to run correctly. To avoid the Android system to kill your app
while it's in the background you have to use a foreground service. On some phones,
like Huawei, the user must also explicitly mark the app to not being killed by the
system when it's running in the background. For Android, there are also many phones
with different Bluetooth controllers and some have bugs other controllers don't
have. For example I once got hand on a Sony Xperia Z3 phone which Bluetooth
controller cancelled a pending connection when an LE scan (running in parallel) was
cancelled, but according to the HCI log the pending connection was still going on.
The peripheral was advertising but was never connected to the phone. Once the
pending connection was explicitly cancelled and restarted, it connected
immediately.

BLE Peripheral = GATT Server = (Mostly) A Slave of the communication, e.g. Sensor
BLE Central = GATT Client = (Mostly) The Master of the communication, e.g. a
Smartphone

How is a connection established?


The GATT Server (Sensor/Peripheral) broadcasts advertisement packets at a defined
interval. The GATT Client (Smartphone/Central) does a scan for nearby devices.
Central discovers advertisement and decides to connect to Peripheral. The operating
modes of antenna are never distinguished as sending and receiving. The Link Layer
(L2CAP) has the ability to send advertisement packets and check for connection
requests from the Central at the same time.

After connection loss/disconnection, is the above procedure mandatory to reconnect


again or are there other ways? What about bonding/pairing? What if I know the MAC
address of the peripheral?
To reduce the connection latency, there is a really robust structure (not
syntactically a struct) of Events provided. Whenever the Peripheral is disconnected
from Central, the BLE stack generates an event. As a service routine to this event,
if you have a handler written, you can parse the received event packet and
determine the reason of disconnection, either deliberate or accidental/unexpected.
Depending upon that, you can decide upon whether you want to put it back in
advertising mode or not. For the modules I have worked on, after a disconnect it
does automatically goes into advertising mode. It need not be done manually.
On the Central side (considering android), there is a method: connectGatt();, It
takes 3 arguments, first and third is not of out interests right now (Context and
Callback), the second argument is a boolean variable (I guess, please confirm),
which decides whether to attempt a reconnection or not. I believe that, deep down
at grass-root level, it must have been implemented using MAC Address only, because
that is what makes a device unique and hence uniquely identifiable.
How could they reconnect (as fast and energy saving as possible) if the connection
is lost.
Again, I would say. "it depends". It depends majorly on the event handling
implementation on the Peripheral side. The connection latency shall increase with
event handler execution latency.
The DISCONNECT event is actually the last to receive. It first generates events for
each of the service for which the Central had enabled Notifications/Indications.
Though you don't have much a time-consuming operations for those events, that would
definitely introduce some latency in execution of the actual disconnect event
handler.
As soon as connection is lost unintentionally both roles will go in disconnect
state. It depends on your application what should happen after that
(reconnection?). When a connection is properly terminated (by sending a disconnect
message), the connection is lost. One advantage of BLE is that a connection can be
re-established very fast from scratch because it requires fewer messages to
establish a connection (compared to BT Classic).

Is it possible to send/receive data from outside a connection (others then


advertisements)? Or is a connection mandatory to register for
notifications/indications etc?
To receive indications and notifications you have to be connected. while we can say
that it is possible to send some data into the advertisement packet, it comes with
its own disadvantages. Your data is broadcasted in the open. Any Application can
parse your advertisement packet and play with your data. So, to overcome that you
will decide upon a custom protocol known only to firmware on Peripheral and the app
on Central. That would again cost its overheads since you don't have the liberty to
send chunk of data over BLE. Again, overheads for splitting data and sending it
over? At the application side, parsing it using some sort of protocol that you have
agreed upon. Not a good idea.
It is possible to send some data with the advertisement message or send data as a
response to a scan request.

What is the best solution to establish an encrypted communication? Usually


pairing/bonding allows for encryption. But how get the passkeys exchanged.
BLE has a layer, Security Manager dedicated for Security and Data integrity. When
we say that we can send maximum of 20 bytes in a packet over BLE, its not actually
a packet of 20 bytes which is sent over. 20 Bytes is Payload length limit and not
the actual Packet length limit. Starting from a Preamble, it has many a things that
are put around your Payload. BLE implements 128-bit AES for security and
encryption, without you asking for it. I think that is good enough. If you need
more encryption, it can be done at customized level, again overheads?

While receiving advertisements, How do I know if the device is interesting for me?
Does I need to connect and discover services? Is there a mechanism to determine the
device class or type?
The advertisement packet does it for you. On a broader picture, I can think of one
reason to make advertisement packets so informative by means of GAP, is as
following. In the GAP service, you have something called Appearance which decides
what that device is. If I am an application developer and I am interested in
getting connected over a specific kind of a device like say, Generic Clock, I can
do that using this Appearance value (256 for Generic Clock) set.
Advertisements contain an advertiser address and other information about the device
which is sending the advertisements (name, address, which profiles are enabled).
With this information you can determine if a device is interesting for you.
How familiar are you with the latest Bluetooth protocols and technologies?
BLE connectivity into an Android application for cow brush motor control. This
required me to become familiar with the current BLE specifications, such as GATT
(Generic Attribute Profile), which facilitates data transfer between BLE devices.
I also have experience with Bluetooth mesh networks, which allows multiple devices
to communicate with each other and extend their range. I developed and implemented
a mesh network in collaboration with a team of software engineers for a home
automation project.
In addition to the protocols, I also keep myself updated with the latest Bluetooth
technologies such as Bluetooth 5, which offers increased range, speed, and
bandwidth. I was involved in a project to implement Bluetooth 5 within an Android
application for Dairymaster - dairy automation company, resulting in improved user
experience and better connectivity.

Can you explain your experience in building robust Bluetooth connections in Android
applications?
To ensure robustness in the Bluetooth connection, I implemented several error
handling mechanisms. For instance, I created a mechanism that automatically
reconnected the application to the peripheral when the Bluetooth connection was
lost due to signal interference or weak signal strength.
I also created a mechanism that alerts the user when the peripheral's battery
levels are low, prompting the user to replace the battery to avoid disconnection.
In addition, I tested the Bluetooth connection intensively and optimized the code
to ensure that the connection speed was fast and reliable. The connection stability
was also tested successfully under different network conditions.
Finally, I conducted extensive research on the latest Bluetooth technologies and
implemented the most advanced features to enhance the connection performance. This
included using the latest Bluetooth Low Energy protocol and integrating it with the
application's workflows to reduce battery consumption on both the heart rate
monitor and the user's device.

What tools and libraries have you used for developing Android Bluetooth
applications?
Android Bluetooth APIs: The go-to tool for any Bluetooth development on the Android
platform. I have used the APIs extensively to connect devices, send and receive
data, and manage Bluetooth connections through the application.
ButterKnife: An Android library that simplifies view injection in Android
applications by reducing boilerplate code. I used ButterKnife in one of my
applications to aid in updating the UI with real-time Bluetooth data.

Can you describe your debugging and troubleshooting process for Bluetooth-related
issues in Android apps?
Identify the issue:
Isolate the problem: debugging tools, such as breakpoints or logs
Test the code: testing on different Android devices, various Bluetooth
configurations, and scenarios
Document the resolution:
Verify the solution:
troubleshooting an issue where the Bluetooth feature of the app was causing the app
to crash unexpectedly. I found that the issue was arising due to an outdated API
call that was no longer supported.

How do you ensure compatibility and interoperability between different Bluetooth


devices and versions?
thorough testing of all devices and versions, using a combination of manual and
automated testing
testing various pairing scenarios, transferring data between devices, and
simulating real-world usage scenarios
how different devices and versions behave in different situations
Automated Testing: tools include frameworks such as Appium and Calabash, for
automated testing of Bluetooth connections, data transfers, and other related
behaviors
Data Analysis: By tracking data such as latency, disconnect rates, and error rates,
I can identify potential bottlenecks and areas where improvements can be made

What security measures have you implemented in Android Bluetooth applications


you’ve developed?
Secure Pairing - "Passkey Entry"
Encryption - AES
Authorization - passcode
Integrity Checks
Testing

How do you optimize Bluetooth communication performance and battery usage in


Android apps?
reducing the frequency of data transmission and idle time. This can be achieved by
scheduling data transfers during periods of low app activity and reducing the time
the Bluetooth radio is kept active when not in use.
reducing the amount of data transmitted

Can you share an example of a challenging Bluetooth project you worked on and how
you overcame any obstacles?
1. to determine the hardware requirements for the project. I researched and tested
various Bluetooth modules and sensors, to ensure they worked with our selected
microcontroller.
2. designing the Bluetooth network topology. I chose a mesh topology because it was
more reliable and scalable than a star or point-to-point topology.
3. testing the Bluetooth network. I encountered many obstacles, such as signal
interference from other Bluetooth devices, data packet loss, and intermittent
connectivity. I was able to overcome these obstacles by changing the data
transmission protocol.

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/
bluetooth-forum/404236/ble-getting-started-and-faq-u-2022-mar-21

https://www.sciencedirect.com/topics/computer-science/bluetooth-low-energy

https://www.remoterocketship.com/advice/guide/ios-engineer/bluetooth-wifi-
integration-interview-questions-and-answers

https://www.remoterocketship.com/advice/guide/android-engineer/android-bluetooth-
engineer-interview-questions-and-answers

https://medium.com/@sujathamudadla1213/android-interview-questions-related-to-
android-iot-projects-4b0b7a036beb

https://www.scribd.com/document/105573250/Bluetooth-Interview-Questions-and-Answers

https://codingwithtashi.medium.com/bluetooth-low-energy-ble-for-building-iot-
devices-3d14c9cde976

You might also like