

Breathing Rate
Avg. breath rate
Measured 2 days ago
Coughts
Coughing episodes
Last 7 days
Calories
Fat burned
2 days ago
Resting Heart Rate
Beats per minute
Normal Range
Bodyweight Workout
Burpees
Top reps this week
Calories
Fat burned
2 days ago
SpO2
Saturation
Measured 10h ago
Heart Rate Variability
ms
Measured 2h ago
Compatible with Aidlab, Aidmed One and Pulsoximeter.
The Aidlab SDK facilitates the integration and utilization of data like heart rate, respiration, skin temperature, as well as activity, mood, and stress levels with all devices supporting Bluetooth 4.0+
Get Aidlab SDKRead DocsAidlab SDK lets you dive deep inside programming and juggling with health and fitness data almost immediately. Integrate your app with Aidlab, Aidmed One, and Pulsoximeter and start building your own projects.
import UIKit
import Aidlab
class HomeViewController: UIViewController, DeviceDelegate {
private let aidlabManager = AidlabManager(delegate: self)
override func viewDidLoad() {
super.viewDidLoad()
aidlabManager.scan()
}
func didDiscover(_ device: Device) {
device.connect(delegate: self)
}
func didConnect(_ device: Device) {
device.collect(dataTypes: [.respirationRate], dataTypesToStore: [])
}
func didReceiveRespirationRate(_ device: Device, timestamp: UInt64, value: UInt32) {
respirationLabel?.text = "\(value)"
}
}
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.aidlab.sdk.*
import java.util.EnumSet
class MainActivity: AppCompatActivity(), DeviceDelegate, AidlabManagerDelegate {
private lateinit var aidlabManager: AidlabManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
aidlabManager = AidlabManager(this, this)
aidlabManager.scan()
}
override fun didDiscover(device: Device, rssi: Int) {
device.connect(this)
}
override fun didConnect(device: Device) {
device.collect(
EnumSet.of(DataType.RESPIRATION_RATE),
EnumSet.noneOf(DataType::class.java)
)
}
override fun didReceiveRespirationRate(device: Device, timestamp: Long, value: Int) {
respirationRateTextView?.text = value.toString()
}
}
import 'package:aidlab_sdk/aidlab_sdk.dart';
class HomePageState extends State<HomePage> with WidgetsBindingObserver implements AidlabManagerDelegate, DeviceDelegate {
late AidlabManager aidlabManager;
@override
void initState() {
super.initState();
aidlabManager = AidlabManager(this);
aidlabManager.scan();
}
@override
void didDiscover(Device device, int rssi) {
device.connect(this);
}
@override
void didConnect(Device device) {
device.collect([DataType.RESPIRATION_RATE], []);
}
@override
void didReceiveRespirationRate(Device device, int timestamp, int value) {
setState(() => _respirationRate = value);
}
int _respirationRate = 0;
}
import asyncio
from aidlab import AidlabManager, DataType, DeviceDelegate
class MainManager(DeviceDelegate):
async def run(self):
devices = await AidlabManager().scan()
if len(devices) > 0:
await devices[0].connect(self)
while True:
await asyncio.sleep(1)
async def did_connect(self, device):
await device.collect([DataType.RESPIRATION], [])
def did_receive_respiration(self, device, timestamp: int, value: float):
pass
asyncio.run(MainManager().run())
using UnityEngine;
public class MainLoop : MonoBehaviour, AidlabDelegate {
void Start() {
aidlab = new Aidlab(this);
}
void Update() {
aidlab.Update();
var cube = GameObject.Find("Cube");
Vector3 position = cube.transform.position;
position.y = aidlab.getCurrentRespirationSample();
cube.transform.position = position;
}
private Aidlab aidlab;
}
Start tinkering with the most advanced assistant by reading materials we have prepared for you.See other examples on our GitHub
Get the most up-to-date SDK for variety of platforms.
Download SDKLearn how to develop apps with Aidlab SDK.
DocumentationCheck out the latest engineering news and guidelines.
Learn MoreCreate your family's health center. Use Aidlab SDK in your health research. Integrate it with other IoT devices. Learn how to develop your first app for iOS, Android and more platforms.
Made with Aidlab SDK
In my opinion, building health, fitness or IoT related projects is really difficult and Aidlab SDK gives us tools to make a fast start for everyone. It's amazing that you no longer have to be a Steve Wozniak or John Carmack to create great stuff.
Wojtek Kokorzycki, Head of Hackerspace 3City

Aidlab SDK is playing a vital role in creating an IoT-oriented culture at our coding courses. It helps our students to dive into development really fast and smooth. They have an opportunity to interact with wireless communication or data analysis, staying close to the hardware.
Marcin Młyński, CEO at CODE:ME coding courses

Aidlab™ is a registered trademark. Copyright © 2025