Published: June 3, 2024
22 min read
In this article, you'll learn:
1
🤖 BLE Integration: Relevant Tech Stack Basics
2
💼 Bluetooth, BLE & Fitness Industry Use Cases
3
📲 BLE Integration Process for Fitness Devices
4
🚴 Our Expertise: SportPlus & Multiple BLE Devices Integration
5
💡 Takeaways
Smart fitness devices became users’ best friends after the COVID-19 pandemic boosted the switch of the world to remote working, studying, negotiating, you name it. Fitness wasn’t an exception and a lot of people started working out using various smart devices combined with an application.
January typically witnesses a seasonal spike in downloads of fitness and workout mobile applications. According to Statista, in January 2020, there were approximately 16.3 million downloads of top fitness and workout apps, marking an impressive 80 percent surge from the previous year.
However, the trend seems to have stabilized in the last two years, with downloads of these popular mobile fitness apps showing a slower rate of growth. In January 2024, the foremost mobile fitness and workout apps registered nearly 14 million downloads globally, reflecting trends in the fitness app retention rate.
Companies had to dynamically adjust to current market needs and offer users a solution. For a lot of companies, the solution was a BLE-based fitness device paired up with a dedicated app, which often requires BLE app development service.
Bluetooth Low Energy can support you on your way to providing each client with an innovative solution (image by MoRas ✪)
Here comes the question of what stays behind the scenes — how can BLE integration work with your app? Surely, the technical side isn’t something you have to perfectly understand as the provider unless you are the person who performs the integration.
Yet, our goal is to give you just about enough knowledge to be on the same page with the tech guys talking about BLE integration. Surely, we’ll also talk about enabling communication between BLE fitness devices and your app.
Additionally, we’ll look at some fascinating BLE-based fitness device use cases, give you insights on how to simultaneously connect several devices, and share our experience in the integration process for the projects in the fitness industry that Stormotion’s worked on.
Enjoy! 🚀
According to Bluetooth Special Interest Group (SIG), Bluetooth Low Energy is a wireless technology that’s used for connecting two or more nearby devices so they can communicate, (exchange data, for the most part) a critical feature for the application of IoT in manufacturing where seamless and efficient communication between sensors and controllers is vital. The three keywords that describe BLE are power efficiency, high battery longevity, and rapid connection.
Good to know but not a must: Bluetooth Low Energy (BLE, Bluetooth Smart, Bluetooth LE) is a part of the Bluetooth Core Specification 4.0 — a specification that defines technologies needed to build devices that are based on various BLE technologies.
BLE-based devices are pivotal in fitness tracking app development due to their efficiency in power use and ease of pairing — they enable companies to provide their customers with convenient solutions for wellness app development that require very little maintenance and zero technical knowledge to pair up with users’ devices. BLE technology is also critical for e-scooter sharing app development, providing users with real-time data like battery status and trip information.
Let’s start with some technical details. Firstly, the data transfer between two BLE-enabled devices is regulated by GATT. It stands for Generic ATTribute Profile and defines that two devices with an exclusive connection communicate using the Services and Characteristics concepts. Take a look at the following scheme and we’ll unpack it right after:
Each BLE device can be a Server and/or a Client (shots from O’Reilly)
Here’s a table that demonstrates the hierarchy of the GATT:
Server | Blood Pressure | |
Services | Blood Pressure Service | Device Information Service |
Characteristics | Intermediate Cuff Pressure Blood Pressure Measurement Blood Pressure Feature | Manufacturer Name String Hardware Revision String Model Number String ... |
For businesses in the fitness industry, it’s important to understand this concept so they’re able to break up their own services into single data flow blocks.
Another essential part is the difference between central and peripheral devices. To begin with, central devices are the ones that initiate the connection, peripheral accept the responses. A central BLE device can be connected to multiple peripheral devices at the same time.
For peripheral devices, it’s the opposite — they can only be connected to one central device at a time. For example, your user’s phone (central) can be connected to a fitness band, a heart rate ring, and smart dumbbells (peripherals) simultaneously, while each one of these devices can be connected to a single iOS or Android device.
Each specific device can be a peripheral or central device (image by Adafruit)
However, these are only some general rules. With a proper configuration, a device can be both at the same time, which enables peripheral devices to several connections to different central devices. Plus, the number of connections is technically unlimited, but in practice, there’s always a certain limit. For example, 20 connections are something totally reachable.
There are also such terms as GATT Client and Server, that are often compared with central and peripheral roles, but these are dissimilar concepts. The difference is that client and server terms refer to how the data flow and storage are managed, while central and peripheral roles define the connectivity structure.
The Client/Server relationship itself is pretty simple. Client devices access the data, while Servers are responsible for storing and providing access.
BLE connectivity capabilities can be further extended and enhanced with the
Mesh Bluetooth technology. It enables devices to form a mesh network, allowing them to communicate with each other over longer distances by relaying messages through intermediate nodes.
Bluetooth SIG defines that even if a device is out of direct range of a central device, it can still communicate as long as there’re other devices within range to relay the message.
BLE-based fitness trackers allow users to monitor their health metrics inside the app (image by Rupak Chakraborty)
Mesh technology can also be applied in diverse IoT domains, from fitness apps paired with BLE-enabled devices to smart farming with IoT applications, where connected sensors enable real-time monitoring and optimization. This allows for seamless data synchronization, higher transmission power, and analysis across multiple devices, enhancing the user experience and enabling more comprehensive fitness tracking.
Understanding these technical details is crucial when estimating the cost to build a Fitbit and similar fitness apps, as these features can add significant complexity to the app
If you’d like to learn more technical details about Bluetooth technology and BLE intergrations, feel free to follow the link to our article fully dedicated to BLE devices:
Most likely, if you’re exploring BLE-based fitness device integration for corporate fitness app development, you already understand the advantages of Bluetooth Low Energy over other wireless networks. However, there’s this network that always gets compared to BLE and is its ancestor — Bluetooth Classic or simply good old Bluetooth.
So, to better highlight the features of the BLE, let’s briefly discuss the main differences between these 2 networks. After that, we’ll give you a couple of fascinating BLE use cases in the fitness industry. You might get some inspiration for your own business or figure out what’s something you would avoid.
Feel free to skip this section if that’s something you believe you’re perfectly aware of.
Since we’ve already talked about what BLE is, let’s briefly talk about Bluetooth Classic. It’s also a wireless network that establishes a connection between 2 Bluetooth devices (think about wireless earphones or speakers). Its main function is exchanging big amounts of data at close distances.
It’s pretty reasonable to compare Bluetooth Low Energy and Classic Bluetooth as they have pretty different use cases (image by Andrew Rosek)
The main significant Bluetooth vs BLE difference is that BLE is designed for smaller amounts of data transfers with lower battery consumption. The battery service in BLE fitness devices can last for years. Thus, BLE is much cheaper, helping companies manage IoT development costs effectively compared to building Bluetooth-based devices. Bluetooth, on the contrary, is more pricey because it works with “heavier” data and requires more maintenance in terms of battery level.
Because of this difference, Bluetooth Low Energy is much more widespread in the fitness industry. It allows companies to provide their customers with user-friendly ready-to-use devices at a relatively low cost.
The Bluetooth SIG predicts that shipments of single-mode BLE devices will reach 1.8 billion in 2024 and double over the next five years. Looking ahead to 2028, it's anticipated that 97 percent of all Bluetooth devices will incorporate Bluetooth Low Energy (LE), encompassing both single-mode LE and dual-mode Classic + LE devices.
Another important difference is that Bluetooth Classic has an active connection for a limited period of time (from a couple of seconds to several hours). BLE, on the other hand, has a continuous connection in sleep mode, which is the main reason for considerably reduced power consumption. Now, let’s take a look at how BLE integrations can be used in the fitness industry.
Fitness bands and smartwatches are something that most of us know, have, or regularly use — this is one of the most widespread BLE integration use cases. However, the industry, including when you develop a mental health app, goes far beyond that and embraces a lot of fascinating IoT (Internet of Things) technologies. Now, a BLE device acting as a bridge between the physical object and the digital world enables seamless communication and data exchange.
You can also think about this section as getting to know your potential partners. If a company offers a device that you’re interested in, you can always contact them and ask if they have any partnership opportunities in terms of providing their hardware and/or API (we’ll talk about what API is later in this article).
BLE-based smart mats for exercise and yoga are able to analyze posture and exercise positions, provide users with recommendations on how to improve them, count the repetition of the exercise, keep a record of workouts to overview progress, etc.
Even a regular smartphone nowadays has an integrated Bluetooth Low Energy module so you simply have to build an app to enable each client to control such devices (image by ARI)
When it comes to providers of such mats, the market is full of them: YogiFi, SmartMat, Otari, and many others. The basic functionality is pretty much the same, but some providers offer additional features that surely increase costs. Otari, for example, has an AI-based camera that oversees people while exercising in real-time and provides voice-based instructions.
If you’d like to learn more about building yoga applications, we have an article about it, where we review the whole development process in detail:
There’s a start-up called Solos that offers smart glasses to their customers. Solos glasses were used by cyclists for training for the Olympic Games.
Such Bluetooth Low Energy devices can provide great support for those interested in sports (image by Dmitrii Kharchenko)
These glasses are BLE-based technology using Augment Reality features that are able to provide athletes with real-time data like speed, distance, cadence, calory count, heart rate, etc. Additionally, it can communicate with such popular cycling apps as Strava, MapMyRide, and TrainingPeaks.
Users can actually see the data in front of their eyes while wearing glasses, thanks to an intuitive interface. To see more visual content and videos on how the Solos are used, you can visit their Kickstarter page.
BLE integration doesn’t necessarily have to be about providing fitness devices to your customers — it can also be used for management & marketing services. Namely, you can use Beacons for such purposes.
Beacons are Bluetooth Low Energy devices that constantly radiate radio waves that other BLE- or Bluetooth-enabled devices can see. Their main purpose is “taking over” the device they communicate with to perform specific actions — open a webpage, start an app, launch a marketing campaign, etc.
When researching the topic, you’ll definitely come across iBeacons. These are simply BLE-based beacons from Apple. There are some technical differences but those are irrelevant to us now.
Basically, when users’ devices get into a beacon’s range, they do what beacons ask them to, meaning you can easily use them for business purposes. For beacon-enabled solutions, it’s worth analyzing the advantages of ANT or Bluetooth to determine the most efficient protocol for specific gym automation tasks.
However, this functionality relies on location permission, which users may not always grant, limiting the effectiveness of beacon-based strategies. Obtaining the necessary location permission is crucial for ensuring seamless BLE integration and optimal performance of beacon technology within your business operations.
An app for Bluetooth Low Energy device control can also function as a support for gym management (image by Estimote)
Let’s take a look at use cases:
Equipment Guidance | Whenever users approach a certain exercise machine, you can offer users watch a tutorial on how to use it or watch a guided workout. |
After-Care | When users leave the gym, you can send them information on how to avoid muscle soreness and appropriately recover. |
Social Media Marketing | You can send users reminders to share their feedback with you/on social media, and offer incentives for that (like discounts, merch, extra classes, etc.). |
All of that can be done even if you don’t have an app. However, in case you do, you get access to much more detailed customer information. It allows you to personalize your campaigns better and generally adjust your approach to clients’ needs.
If you have questions on possible beacon use cases for your business, feel free to contact us — we’ll do our best to consult you!
In this section, we’ll talk about how you can enable communication between the fitness device and users' mobile devices. Your users are the ones who would perform the final connection by clicking the “Connect” button. What you have to do is take care of all the back- and front-end so users have a highly user-friendly solution.
Let’s first divide this section into 2 parts. In the first part, we’ll talk about integrating your application with BLE-based fitness hardware from third-party providers. In the second one, we’ll talk about connecting custom BLE devices with applications, which is a whole different process.
Let’s start with the first option.
The hardware part isn’t something you should worry about at all in this case. If you partner with a third-party device provider, you’ll most likely have a ready-to-use BLE-based fitness solution. They’ll also provide you with an SDK and/or API for building an app and/or establishing communication channels.
SDKs and APIs are two of the most important concepts when working with third-party providers. They’re often used in a bundle but can surely exist without one another.
An API is an intermediary between the device and the user. So, in your case, you’ll be enabling users to control a fitness device using your application. An SDK is a broader concept that combines several development tools for building an application for certain hardware of API.
Often, an SDK includes API as part of the development package. An API, on the contrary, can’t contain SDKs. To better understand the difference between these 2 concepts, you can watch this explanatory video:
For fitness app developers involved in BLE development, the chances that their hardware provider won’t offer an SDK/API as part of the cooperation are minimal. In case that happens, they’ll most likely refer you to their partners who have solutions for their products specifically.
So, generally, the steps you should follow when opting for a partnership with a third-party fitness device provider are as follows:
Now, let’s take a look at what options there are for you in case you have a custom firmware of BLE fitness device.
We can’t say that it’s much more complex because practically, it’s still working with code. It’s not like a person without coding knowledge would be able to use API to perform the integration. So, if you have enough coding expertise yourself, an in-house development team, or a trusted Tech Partner, it shouldn’t be a problem. Let’s briefly talk about what you need for that.
Bluetooth Low Energy integration process will differ depending on whether you have a custom device or use one from a third-party provider (image by Ofspace)
Of course, your device needs a well-functioning BLE module. If it works well, you need a library for BLE implementation for your specific framework. First, let’s cover what a library for a framework is.
Long story short, a library is a storage for prewritten code (files, functions, routines, etc.) that can be used for the development of applications and their integration with other applications, services, devices, etc.
So, a library for a framework implies the collection of code for this specific framework (React Native, Native Android, or any other one). In the following table, we’ve collected libraries for the most widespread programming languages:
Programming language | Library |
---|---|
Native iOS (Swift) | |
Native Android: | |
React Native: | react-native-ble-plx (combines RxBluetoothKit & RxAndroidBle). Our team works primarily with this library |
Flutter: |
To integrate BLE fitness devices into your app, the Web Bluetooth connect feature can be particularly useful. Then, your development team performs the integration using the corresponding library and enables communication between the device and the app. That’s it, that’s how the whole magic happens.
If there isn’t one for your desired framework or need help with the development, feel free to contact us — we’ll provide you with the necessary information and help!
The way we described it now might create an impression that the job is in fact pretty easy but don’t get us wrong — for it to be “easy”, developers need to have a high level of expertise.
If you're eager to gain hands-on experience with BLE integrations, this section is for you. Our developer, Andrian Yarotskyi, will show you a practical example of BLE connection integration using React Native and react-native-ble-plx.
Lets’ go! 🚀
In this code snippet SERVICE_UUIDS is an array of UUID-like strings that refer to BLE services, defined in Bluetooth Core Specification. There are many conventional BLE services like Heart Rate Service, but if you’re implementing a custom protocol, then you’ll have to collaborate with the manufacturer to find out the required service and characteristics UUIDs (Universally Unique Identifier). SCAN_OPTIONS is an object that allows to implement a fine-grained scan, adjusting the scan behavior to the project requirements.
Each service has at least one characteristic. Characteristics allow one or more of these actions or none of them: read, write and notify. To find out which characteristics you need to use for the communication with you device, you’ll need to contact the manufacturer or research the service documentation.
Overall, by following the steps outlined above, you can seamlessly extract data from and interact with BLE devices. However, being mindful of potential interference and security concerns inherent in such implementations is crucial. Ensuring your platform's security remains paramount, especially when dealing with sensitive data exchanges over Bluetooth connections.
How much does a fitness app cost with BLE integration? To get an accurate estimate, you should decide on the app’s key features and consult with experienced app developers who can provide a detailed breakdown of costs tailored to your project.
Even though the general steps of enabling communication between BLE fitness devices and users is a common practice, developers need to have a high level of expertise to perform these steps time- and resource-efficient.
In this section, we’ll share our fitness app development company expertise in integrating BLE-based devices for the SportPlus app. The project is extremely useful to learn about as we’ll share how to approach the integration of several BLE fitness devices using one application.
Generally, SportPlus offers various exercise equipment and machines. The company asked us to build an app that would work with multiple fitness devices, meaning that we had to enable the communication for different BLE protocols.
Make sure to think about the server where you’ll store data (shots from SportPlus)
But what is a protocol after all? Basically, you can think about it as a language that the device “speaks” and that has to be used for communication. The fact of devices being based on the same wireless network (in our case, BLE) doesn’t mean, however, that they’ll have the same protocols. In addition, each device on the network has a unique Media Access Control (MAC) address, serving as its distinct identifier within the network system.
So, the challenge comes when we have several BLE-based elliptical machines, for example, that all have different protocols for integration and communication. In other words, they all perceive commands and requests differently.
For example, one device doesn’t require anything for connection — you simply perform a BLE connection (enable the “Connect” button). Another protocol requires one line of code, and a third one might need 3 lines of code sent in a specific order with a predefined holdup.
The same thing works for communication itself. If we want to change the speed of some elliptical machines from different providers, the prompt for that can be different for all of them. Some might specifically require a line that starts with the “3, 2 …” number and ends with “20”. This is how the device will understand that it needs to do something with speed settings.
Following the general logic, all devices might have different line specifications for different commands. And every single detail from the order of numbers in the line to the line length is important — even the slightest deviation from the protocol will throw errors.
What’s even more exciting is that developers often don’t know what protocols they’re dealing with. Just like in real life: when you approach a person, you can’t be sure what language they speak so you start trying out every possibility.
In such cases, we try to communicate with the device using various numbers and command combinations to figure out what the device uses. Surely, there are some “unspoken” rules of how protocols are formed. It’s not like out of 1M fitness bands, each one of them has different protocols.
Once BLE device returns responses to developers in accordance with a certain protocol, they’re able to define its structure and easily communicate with the device. This allows them to create React Native fitness apps that facilitate seamless communication across various BLE devices.
Integrating several BLE devices with different protocols is pretty challenging yet simple with enough technical expertise (image by Kajetan Iżycki)
Here’s the summary of the steps you should take to integrate multiple BLE devices that have different protocols:
Learn how to develop a personal trainer app that meets all your needs by following our recommendations and professional advice.
After reading this article, we hope you have a better understanding of how the whole integration process happens. With the right approach, integrating BLE fitness devices with your application can significantly improve the user experience your customers get.
Even though we’ve provided you with a general flow of how to approach the integration process, keep in mind that you’ll most likely need to adjust the process according to your business needs.
If you have any questions left or need help with integrating BLE appliances with your application, don’t hesitate and contact us. The Stormotion team is here for you! 🚀
Was it helpful?
Take a look at how we solve challenges to meet project requirements
Key challenges in BLE integration include understanding various protocols, ensuring compatibility across devices, and optimizing power consumption. To overcome them, partner with experienced developers, thoroughly test compatibility with different devices, and implement power-saving strategies like minimizing active scanning.
For developing BLE connections in mobile apps, popular libraries include RxBluetoothKit for native iOS, Android-BLE-Library or RxAndroidBle for native Android, and react-native-ble-plx for React Native. These libraries provide comprehensive tools for managing BLE communication efficiently.
To ensure compatibility with a wide range of BLE fitness devices, it's crucial to follow standardized protocols and specifications such as GATT (Generic Attribute Profile) and UUIDs (Universally Unique Identifiers). Additionally, thorough testing with different devices during the development process can help identify and resolve compatibility issues early on.
When connecting to BLE devices, security considerations include encryption of data transmissions, authentication mechanisms to verify device identities, and implementing secure pairing procedures. It's also important to regularly update firmware and software to address potential security vulnerabilities and protect user data from unauthorized access.
Managing multiple BLE connections simultaneously in an app involves careful resource management and prioritization of connections based on user interactions. Implementing efficient connection handling mechanisms, such as connection pooling and background scanning, can help optimize resource usage and ensure the smooth operation of the app with multiple connected devices.
BLE can have a significant impact on the app's battery life due to continuous scanning and data transmission. To optimize battery usage, you can minimize the frequency and duration of BLE operations, use low-power modes whenever possible, and implement efficient data synchronization strategies. Optimizing app background activity and minimizing unnecessary BLE scanning can also further reduce battery consumption.
Common BLE connectivity issues in fitness apps may include device pairing failures, intermittent disconnections, and data synchronization errors. Debugging tools provided by BLE libraries can help diagnose communication errors, while thorough testing across different environments can identify potential connectivity issues early in development.
Read also
Our clients say
They make the whole business work for us, and their improvements are fundamental to our operations. They’re reliable, honest, and willing to try new things that will help us. We appreciate how flexible and easygoing they are.
Pietro Saccomani, Founder
MobiLoud