In this section, we list the comprehensive range of Garmin Health SDK metrics that Avicenna supports.
[!note]
The minimum supported Android SDK version for Garmin is Android 9 (SDK 28). Users with older devices are encouraged to update their operating system to continue using the app without interruption.
[!important]
API and SDK integrations cannot be used simultaneously. A Garmin device can only be paired with one app at a time. You must choose one integration method for your study.
Supported Garmin Health SDK Metrics in Avicenna
Each metric includes details about its fields and the default sampling rates. Also, all metrics include the common data fields and the following additional fields:
- Device: The Garmin device that collected the data. Internally stored as
device. It contains the following fields:- Device ID: The unique ID of the device. Internally stored as
identifier. - Device Name: The name of the device. Internally stored as
name. - Device Model: The model of the device. Internally stored as
model. - Device Firmware Version: The firmware version of the device. Internally stored as
firmware_version.
- Device ID: The unique ID of the device. Internally stored as
[!note]
The specific metrics collected depend on your Garmin device model. Not all metrics listed below are available on every device. To determine which metrics are supported by your watch, please refer to your owner’s manual.
Garmin Health SDK Logged Accelerometer
Records 25Hz accelerometer data from all three axes in milli-Gs.
- Acceleration X: The acceleration along the x-axis. Internally stored as
x_value. - Acceleration Y: The acceleration along the y-axis. Internally stored as
y_value. - Acceleration Z: The acceleration along the z-axis. Internally stored as
z_value.
Garmin Health SDK Logged Actigraphy
Provides actigraphy data from three independently configurable instances. Each sample includes three activity metrics computed from 25Hz accelerometer data. The data is logged with a default processing interval of 30 seconds.
-
Instance: Indicates which of the three actigraphy instances the data belongs to. Internally stored as
instance. Possible values are:Numeric Value Name 0 ACTIGRAPHY_INSTANCE_UNKNOWN1 ACTIGRAPHY_12 ACTIGRAPHY_23 ACTIGRAPHY_3 -
End Timestamp: The end time of the actigraphy measurement interval. Internally stored as
end_timestamp. -
Total Energy: The total energy calculated from the accelerometer data. Internally stored as
total_energy. -
Zero Crossing Count: The number of zero crossings detected during the interval. Internally stored as
zero_crossing_count. -
Time Above Threshold: The time spent above the activity threshold during the interval. Internally stored as
time_above_threshold.
Garmin Health SDK Logged BBI
Provides beat-to-beat intervals (BBI) for individual heartbeats. It records all valid heartbeats continuously, without intervals.
- BBI: The beat-to-beat interval value, in milliseconds. Internally stored as
bbi.
Garmin Health SDK Logged Enhanced BBI
Provides beat-to-beat intervals (BBI), supplemented with a confidence value that indicates the quality of the BBI data. This data type records all valid heartbeats continuously, without intervals.
-
Status: Indicates the confidence level and quality of the BBI measurement. Internally stored as
status. Possible values are:Numeric Value Name 0 ENHANCED_BBI_STATUS_UNKNOWN1 ENHANCED_BBI_STATUS_GAP2 ENHANCED_BBI_STATUS_HIGH_CONFIDENCE3 ENHANCED_BBI_STATUS_LOW_CONFIDENCE -
BBI: The beat-to-beat interval value, in milliseconds. Internally stored as
bbi.
- Gap Duration: The duration of any gap in the BBI data, in milliseconds. Internally stored as
gap_duration.
Garmin Health SDK Logged Gyroscope
Records 32Hz gyroscope data, representing the rate of rotation around each of the three axes in degrees/second.
- Rotation Rate X: The rate of rotation around the x-axis, in degrees per second. Internally stored as
x_value. - Rotation Rate Y: The rate of rotation around the y-axis, in degrees per second. Internally stored as
y_value. - Rotation Rate Z: The rate of rotation around the z-axis, in degrees per second. Internally stored as
z_value.
Garmin Health SDK Logged Heart Rate
Measures heart rate in beats per minute (BPM). Data is reported as instantaneous values with a default interval of 60 seconds.
-
Heart Rate: The heart rate in beats per minute. Internally stored as
beats_per_minute. -
Status: Determines if the device is on-wrist or not, making it useful for adherence monitoring. Internally stored as
status. Possible values are:Numeric Value Name 0 HEART_RATE_STATUS_UNKNOWN1 HEART_RATE_STATUS_SEARCHING2 HEART_RATE_STATUS_LOCKED
Garmin Health SDK Logged Heart Rate Variability
Reports heart rate variability (HRV) metrics calculated from beat-to-beat interval (BBI) data. Each entry represents HRV values computed over a 5-minute window of BBI data.
- HRV RMSSD: The root mean square of successive differences between normal heartbeats, in milliseconds. Internally stored as
hrv_rmssd. - HRV SDNN: The standard deviation of all normal-to-normal (NN) intervals, in milliseconds. Internally stored as
hrv_sdnn.
Garmin Health SDK Motion Intensity
Provides motion intensity data along with activity type classification. Motion intensity is a numerical abstraction of low-level accelerometer data calculated at minute-level granularity, representing the level of physical motion regardless of whether the user actually changes location. Motion intensity values can rise even if the user remains in the same place. For example, activities like jumping in place or fidgeting with a pencil will not contribute to distance metrics, but will still increase motion intensity scores during that period. It is also common to observe moderate motion intensity values during sedentary periods, since most people do not remain completely motionless.
-
Activity Type: Indicates the type of activity detected during the motion intensity measurement. Internally stored as
activity_type. Possible values are:Numeric Value Name 0 GENERIC1 RUNNING2 CYCLING3 TRANSITION4 FITNESS_EQUIPMENT5 SWIMMING6 WALKING7 SLEEP8 SEDENTARY9 UNMONITORED10 DRIVING11 DOG_TRAINING12 EATING13 ALL
- Intensity Level: The motion intensity level value ranging from 0 to 7, where 0 represents absolutely still and 7 represents constant, sharp motion. Internally stored as
intensity_level. - Start Timestamp: The start time of the motion intensity measurement interval. Internally stored as
record_time. - End Timestamp: The end time of the motion intensity measurement interval. Internally stored as
end_timestamp.
Garmin Health SDK MoveIQ Event
Provides MoveIQ event data with activity type classification. MoveIQ events are Garmin activities that are not started by the user explicitly. Instead, a MoveIQ activity is triggered based on the analysis of user activity.
-
Activity Type: Indicates the type of activity detected during the MoveIQ event. Internally stored as
activity_type. Possible values are:Numeric Value Name 0 GENERIC1 RUNNING2 CYCLING3 TRANSITION4 FITNESS_EQUIPMENT5 SWIMMING6 WALKING7 SLEEP8 SEDENTARY9 UNMONITORED10 DRIVING11 DOG_TRAINING12 EATING13 ALL -
Start Timestamp: The start time of the MoveIQ event. Internally stored as
record_time. -
End Timestamp: The end time of the MoveIQ event. Internally stored as
end_timestamp.
Garmin Health SDK Logged Respiration
Measures respiration rate in breaths per minute (BPM). Data is reported as instantaneous values with a default interval of 60 seconds.
-
Respiration: The respiration rate, in breaths per minute. Internally stored as
breaths_per_minute. -
Status: Indicates the quality and reliability of the respiration measurement. Internally stored as
status. Possible values are:Numeric Value Name 0 RESPIRATION_STATUS_UNKNOWN1 RESPIRATION_STATUS_VALID2 RESPIRATION_STATUS_OFF_WRIST3 RESPIRATION_STATUS_LARGE_MOTION4 RESPIRATION_STATUS_INVALID5 RESPIRATION_STATUS_UNAVAILABLE
Garmin Health SDK Logged Sleep
Provides detailed sleep data, including sleep intervals, assessments, and overnight skin temperature.
-
Sleep Result Type: Indicates the type of sleep analysis performed. Internally stored as
sleep_result_type. Possible values are:Numeric Value Name 0 SLEEP_RESULT_TYPE_UNKNOWN1 SLEEP_RESULT_TYPE_ENHANCED2 SLEEP_RESULT_TYPE_MOTION_BASED -
Sleep Source Type: Indicates the source of the sleep data. Internally stored as
sleep_source_type. Possible values are:Numeric Value Name 0 SLEEP_SOURCE_TYPE_UNKNOWN1 SLEEP_SOURCE_TYPE_SERVER2 SLEEP_SOURCE_TYPE_DEVICE -
Start Time: The start time of the sleep session. Internally stored as
record_time. -
End Time: The end time of the sleep session. Internally stored as
end_time. -
Sleep Intervals: Array of sleep intervals. Internally stored as
sleep_interval. It contains the following fields:-
Start Time: The start time of the sleep interval. Internally stored as
start_time. -
End Time: The end time of the sleep interval. Internally stored as
end_time. -
Sleep Level: Indicates the sleep stage or level during a sleep interval. Internally stored as
sleep_level. Possible values are:Numeric Value Name 0 SLEEP_LEVEL_UNKNOWN1 SLEEP_LEVEL_INVALID2 SLEEP_LEVEL_UNMEASURABLE3 SLEEP_LEVEL_AWAKE4 SLEEP_LEVEL_LIGHT5 SLEEP_LEVEL_DEEP6 SLEEP_LEVEL_REM
-
-
Sleep Assessments: Array of sleep assessments with various sleep quality scores. Internally stored as
sleep_assessment. It contains the following fields:- Start Time: The start time of the sleep assessment period, in milliseconds since epoch. Internally stored as
start_time. - End Time: The end time of the sleep assessment period, in milliseconds since epoch. Internally stored as
end_time. - Awakenings Count: Number of awakenings during the sleep period. Internally stored as
awakenings_count. - Awakenings Count Score: Garmin’s proprietary score based on the number of awakenings. Internally stored as
awakenings_count_score. - Awake Time Score: Garmin’s proprietary score based on time spent awake. Internally stored as
awake_time_score. - Combined Awake Score: Garmin’s proprietary combined score for awake-related metrics. Internally stored as
combined_awake_score. - Deep Sleep Score: Garmin’s proprietary score based on deep sleep quality. Internally stored as
deep_sleep_score. - Light Sleep Score: Garmin’s proprietary score based on light sleep quality. Internally stored as
light_sleep_score. - Overall Sleep Score: Garmin’s proprietary overall sleep quality score. Internally stored as
overall_sleep_score. - REM Sleep Score: Garmin’s proprietary score based on REM sleep quality. Internally stored as
rem_sleep_score. - Sleep Duration Score: Garmin’s proprietary score based on total sleep duration. Internally stored as
sleep_duration_score.
- Sleep Quality Score: Garmin’s proprietary general sleep quality score. Internally stored as
sleep_quality_score. - Sleep Recovery Score: Garmin’s proprietary score indicating sleep recovery quality. Internally stored as
sleep_recovery_score. - Sleep Restlessness Score: Garmin’s proprietary score based on sleep restlessness. Internally stored as
sleep_restlessness_score. - Interruptions Score: Garmin’s proprietary score based on sleep interruptions. Internally stored as
interruptions_score.
- Start Time: The start time of the sleep assessment period, in milliseconds since epoch. Internally stored as
-
Sleep Restless Moments: Array of timestamps for restless moments during sleep. Each entry is a timestamp in milliseconds since the epoch. Internally stored as
sleep_restless_moments. -
Overnight Skin Temperature: Overnight skin temperature data, including average temperature and calibration information. Internally stored as
overnight_skin_temperature. It contains the following fields:- Timestamp: The timestamp of the temperature measurement, in milliseconds since epoch. Internally stored as
timestamp. - Average Temperature Change: Change in average temperature from baseline, in degrees Celsius. Internally stored as
average_temperature_change. - Seven-Day Mean of Average Temperature Change: Seven-day average of temperature changes, in degrees Celsius. Internally stored as
seven_day_mean_of_average_temperature_change. - Average Temperature: Average skin temperature during sleep, in degrees Celsius (0°C–65°C). Internally stored as
average_temperature. - Days Calibrated: Number of days the temperature sensor has been calibrated. Internally stored as
days_calibrated.
- Timestamp: The timestamp of the temperature measurement, in milliseconds since epoch. Internally stored as
Garmin Health SDK Logged Skin Temperature
Provides skin temperature readings in degrees Celsius, estimated using a calibrated heat flow model. Data is reported as instantaneous values with a default interval of 60 seconds.
-
Status: Indicates the quality and reliability of the skin temperature measurement. Internally stored as
status. Possible values are:Numeric Value Name 0 SKIN_TEMPERATURE_STATUS_UNKNOWN1 SKIN_TEMPERATURE_STATUS_VALID2 SKIN_TEMPERATURE_STATUS_INVALID -
Temperature: The skin temperature reading, in degrees Celsius (0°C–65°C). Internally stored as
temperature.
Garmin Health SDK Logged SpO2
Measures blood oxygen saturation (SpO2). Data is reported as instantaneous values with a default interval of 60 seconds. Pulse Ox measurement is highly sensitive to motion.
- SpO2 Reading: The blood oxygen saturation. Internally stored as
spo2_reading.
Garmin Health SDK Logged Steps
Measures the number of steps taken during a one-minute interval. Data is reported as instantaneous values with a default interval of 60 seconds.
- Step Count: The number of steps recorded during the current interval. Internally stored as
step_count. - Total Steps: The cumulative total of steps recorded since the last reset. Internally stored as
total_steps. - Start Timestamp: The start time of the step counting interval. Internally stored as
record_time. - End Timestamp: The end time of the step counting interval. Internally stored as
end_timestamp.
Garmin Health SDK Logged Stress
Records the Garmin stress score, a value normalized from 0 to 100. Data is reported as instantaneous values with a default interval of 60 seconds.
-
Stress Score: The Garmin stress score. Internally stored as
stress_score. -
Status: Indicates the quality of the stress measurement. Internally stored as
status. Possible values are:Numeric Value Name 0 STRESS_STATUS_UNKNOWN1 STRESS_STATUS_LARGE_MOTION2 STRESS_STATUS_NOT_ENOUGH_DATA3 STRESS_STATUS_OFF_WRIST4 STRESS_STATUS_RECOVERING_FROM_EXERCISE5 STRESS_STATUS_UNIDENTIFIED6 STRESS_STATUS_VALID
Garmin Health SDK Logged Wrist Status
Tracks whether the Garmin device is worn on the wrist. This data is generated every minute and whenever the wrist status changes. Logging is enabled by default when other data types are active.
-
Status: Indicates if the device is on the wrist or not. Internally stored as
status. Possible values are:Numeric Value Name 0 WRIST_STATUS_UNKNOWN1 WRIST_STATUS_OFF_WRIST2 WRIST_STATUS_ON_WRIST
[!note]
You can use Garmin Health SDK Logged Wrist Status with the Sensor Data Gap Detected event in Notification Templates to automatically send notifications when there is no new wrist-status data or continuous non-wear for a configured number of hours. See Notifications for more details.
Garmin Health SDK Logged Zero Crossing
Provides an algorithmic view of motion based on a count of “zero crossings” and a calculated physical power measurement. The data is aggregated with a default interval of 30 seconds.
- Zero Crossing Count: The number of zero crossings detected during the interval. Internally stored as
zero_crossing_count. - Total Energy: The total energy calculated from the motion data. Internally stored as
total_energy. - Deadband: The deadband value used in the zero crossing calculation. Internally stored as
deadband. - Start Timestamp: The start time of the zero crossing measurement interval. Internally stored as
record_time. - End Timestamp: The end time of the zero crossing measurement interval. Internally stored as
end_timestamp.
Metric Configuration Options
The following table shows the default intervals and available configuration options for each Garmin Health SDK metric:
| Metric | Default Interval/Frequency | Configurable Range | Notes |
|---|---|---|---|
| Accelerometer | 25Hz continuous | Fixed (not configurable) | - |
| Actigraphy | 30 seconds | 1-30 seconds, or multiples of 30 seconds, max 1 hour | - |
| BBI | Continuous | Not applicable | - |
| Enhanced BBI | Continuous | Not applicable | - |
| Gyroscope | 32Hz continuous | Fixed (not configurable) | - |
| Heart Rate | 60 seconds | 1 second to 1 hour | Shorter intervals recommended for detailed monitoring |
| Heart Rate Variability | 5 minutes | Fixed (not configurable) | - |
| Motion Intensity | Not applicable | Not applicable | Motion intensity is calculated at minute-level granularity |
| MoveIQ Event | Not applicable | Not applicable | Events are triggered based on analysis of user activity |
| Respiration | 60 seconds | 1 second to 1 hour | Values may not update for intervals < 10 seconds |
| Sleep | Not applicable | Not applicable | Sleep data is collected automatically during sleep periods |
| Skin Temperature | 60 seconds | 1 second to 1 hour | - |
| SpO2 | 60 seconds | 1 second to 1 hour | Values may not update for intervals < 10 seconds |
| Steps | 60 seconds | Fixed (not configurable) | - |
| Stress | 60 seconds | 1 second to 1 hour | Values may not update for intervals < 10 seconds |
| Wrist Status | Every minute + status changes | Fixed (not configurable) | - |
| Zero Crossing | 30 seconds | Multiples of 30 seconds, max 1 hour | - |
To modify the default intervals or frequencies for your study, please contact our support team. Custom configurations can be set up based on your specific research requirements.
Data Collection Behavior
Every metric except HRV is recorded on the watch itself, continuously, from the moment the watch is paired with the phone. Reaching your dashboard then takes two steps: the watch syncs to the phone over Bluetooth, and the phone uploads to the Avicenna server.
From the Watch to the Phone
Avicenna drives this sync itself, so the watch’s own auto sync setting is not used and Garmin Connect plays no part in it. A sync runs at three points:
- On every data collection cycle. This is the study’s data collection interval, which is every 5 minutes by default. You can change it to Frequent (every 2 minutes) or to a Custom value between 1 and 60 minutes under Data Collection Configuration. The setting applies to all non-cloud-based data sources, Garmin Health SDK included.
- Immediately after the watch is paired, so the first records arrive without waiting for the next cycle.
- When the participant taps Sync on the device screen, described under Garmin Health SDK Data Sources in Participant Device.
Three conditions must hold for a sync to complete: the watch is within Bluetooth range of the phone, the Bluetooth connection is active, and Avicenna is running in the foreground or the background. If a sync is still in progress when the next cycle begins, the new request is skipped and that data is collected on the following cycle.
From the Phone to the Server
At the end of each data collection cycle, once every data source has finished, the app uploads what it has collected. This step is the same for all data sources, and it follows the Upload via Wi-Fi Only setting, which holds data on the phone until a Wi-Fi connection is available.
[!note]
Until it syncs, data stays on the watch, which holds a limited amount. Ask participants to keep their phone with them, to open Avicenna at least once a day, and to sync before unpairing or resetting the watch.
HRV is the exception to all of the above. It is not collected on the watch. Avicenna calculates it on the server from the uploaded BBI data, checking every 5 minutes for new BBI records and generating HRV records from them.
Supported Device Models
Avicenna supports integration with a wide range of Garmin devices. The table below lists all supported devices.
| Series | Supported Devices |
|---|---|
| vivofit | vivofit, vivofit2, vivofit3, vivofitJr, vivofit4 |
| vivosmart | vivosmartHR, vivosmart3, vivosmart4, vivosmart5 |
| vivoactive | vivoactiveHR, vivoactive3, vivoactive3Music, vivoactive4, vivoactive4s, vivoactive4Legacy, vivoactive5, vivoactive6 |
| vivomove | vivomoveHR, vivomove3, vivomove3s, vivomoveLuxe, vivomoveStyle, vivomoveSport, vivomoveTrend |
| vivosport | vivosport |
| fenix | fenix5, fenix5s, fenix5x, fenix5Plus, fenix5sPlus, fenix5xPlus, fenix6, fenix6s, fenix6Pro, fenix6sPro, fenix6xPro, fenix6ProSolar, fenix6sProSolar, fenix6xProSolar, fenix7, fenix7s, fenix7x, fenix7xPro, fenix7Pro, fenix8, fenix8Solar, fenixE |
| forerunner | forerunner35, forerunner45, forerunner55, forerunner165, forerunner245, forerunner245Music, forerunner255, forerunner255s, forerunner255Music, forerunner255sMusic, forerunner265, forerunner645, forerunner645Music, forerunner745, forerunner945, forerunner945LTE, forerunner955, forerunner965, forerunner570, forerunner970 |
| tactix | tactixCharlie, tactixDelta, tactixDeltaSolar, tactix7, tactix7AMOLED, tactix8AMOLED, tactix8Solar |
| MARQ | marqDriver, marqAviator, marqCaptain, marqExpedition, marqAthlete, marqCommander, marqAdventurer, marqGolfer, marqGen2 |
| quatix | quatix5 |
| Instinct | instinct, instinctSolar, instinct2, instinct2s, instinctCrossover, instinct2XSolar, instinct3Solar, instinct3AMOLED, instinctE |
| Venu | venu, venu2, venu2s, venuSq, venu2Plus, venu3, venuSq2, venuX1, venu4 |
| D2 | d2AirX10 |
| HRM | hrm200, hrm600 |
| Index | indexS2Scale |
| Cannondale Speed Sensor | cannondaleWheelSensor |
| Other Devices | lily, mission, enduro, enduro2, enduro3, epix2, epixProGen2 |
Adding Garmin Health SDK Metrics As Data Sources
See Adding Data Sources.
Monitoring and Exporting Garmin Health SDK Metrics Data
You can export and download the collected Garmin Health SDK metrics data using the Data Export page.
Garmin Health SDK Data Sources in Participant Device
[!important]
Participants must uninstall all other Garmin-related applications from their phones (for example, Garmin Connect) before using the Avicenna app.
The Garmin Health SDK only allows one app on a device to initialize it. If any other Garmin app is installed, the Garmin Health SDK will refuse initialization, and the Avicenna app will not be able to connect to the watch or collect data.
To use any of these data sources, follow the instructions below.
-
Put your Garmin watch in pairing mode.
This setting is typically found under Settings > Bluetooth or Phone > Pair Mobile Device or Pair Phone on your Garmin watch. Refer to your owner’s manual for specific steps. -
Start the Garmin pairing process and grant Bluetooth permissions.
If your study requires Garmin data, you will see an onboarding alert to pair your Garmin device. Tap the START PAIRING button to begin. The app will then request permission to scan for Bluetooth devices, if not already granted. Tap Allow to proceed. -
Select your Garmin device.
The app will scan for nearby devices. When your Garmin watch appears in the list, select it.[!note]
The Garmin Unit ID is shown in the scanned device list to help identify your watch. You can find this ID on your device under Settings > About. -
Complete user settings.
You will be asked to enter your personal information (e.g., gender, birth year, height, weight, sleep schedule). Fill in the required fields and tap Continue.[!note]
These settings affect some of your metrics, so it is important to fill them in accurately. To modify these settings later, you will need to unpair your Garmin device and pair it again. -
Pair the device.
Tap Pair Device to initiate pairing. -
Confirm pairing and connection.
Once paired, your Garmin watch will appear as a connected device in the app. You can view its status and sync data as needed. By selecting your Garmin device, you will be able to view the connection status, the date and time of the last sync, and the unpairing option. You can tap Sync to manually synchronize data from your Garmin watch.
Troubleshooting
Garmin Device Isn’t Detected During Pairing on the Android App
On Android 10 and later, the app’s Location permission must be set to Allow all the time for the Garmin device to be discovered. Participants can change it under Settings → Apps → Avicenna → Permissions → Location, then retry pairing.
The Watch Is Paired but No Data Arrives
If the app shows the watch as paired but no Garmin Health SDK data reaches your dashboard, work through the checks below before anyone re-pairs the watch.
[!warning]
Unpairing the watch, forgetting it in the phone’s Bluetooth settings, or removing it from the app discards any data that is still stored on the watch and has not synced yet. Contact support before resetting the pairing, so that data is not lost while diagnosing the issue.
- Contact Avicenna support with the participant’s ID and your study ID. We can check the participant’s logs and confirm what has already reached the server.
- Ask the participant to bring the watch close to the phone, open Avicenna, and tap
Sync. This is the safest first action, as it pushes anything still held on the watch to the server. - Check the device screen in the app. The watch should appear as connected, with a recent last sync time.
- On Android, check that the Bluetooth and Location permissions are granted and that the app is not restricted in the background. See Android Battery Optimization Workarounds and Android Background Permission Workarounds.
- Check the general steps to diagnose participation issues.
- Once support confirms the pairing needs to be reset, clear it on both sides. On the watch, remove the paired phone. On the phone, forget the Garmin device in the Bluetooth settings, then remove it in the app under
Data Sources→Garmin Health SDK. - Check that no other phone is still paired with the watch, and that no other app is using it while pairing.
- Pair again from inside the Avicenna app only, with the watch in pairing mode, following Garmin Health SDK Data Sources in Participant Device. Do not pair through the phone’s Bluetooth settings.
- Ask the participant to wear the watch for 15 to 20 minutes with the phone nearby, then open Avicenna and tap
Syncto confirm data is flowing again.
Pairing Stops at “Searching for the Garmin Connect App”
If pairing does not get past the message Searching for the Garmin Connect App. Go to the app to add your device., the watch has not completed its first-time setup yet. Some models, the vivosmart 5 among them, cannot complete that setup on the watch itself and need to finish it against a phone app. Pairing with Avicenna satisfies this, so Garmin Connect is not required:
- Ask the participant to forget the watch in the Bluetooth settings of every phone they have tried it with.
- Ask them to restart the phone and pair again from inside the Avicenna app.
- Check whether the phone pairs normally with another Bluetooth device. If it does not, the Bluetooth radio on the phone or the watch is the likely cause.
The Watch Freezes While Paired
If a watch becomes unresponsive while paired with the app, check its firmware version. Garmin has confirmed freezing as a known issue on some Instinct 3 units running with the Health SDK, and recommends updating the firmware. Update the firmware on study watches before handing them to participants, using Garmin Express on a computer or Garmin Connect on a phone other than the participant’s study phone.
Data Stops Syncing on iOS and the Participant Sees “Avicenna Is Paused”
If an iOS participant reports the Avicenna is paused notification and no new data arrives, iOS is suspending the app rather than anything being wrong with the watch:
- Check that
Settings→General→Background App Refreshis on, and that Avicenna is enabled there. - Check that Low Power Mode is off.
- Ask the participant not to close Avicenna by swiping it away, and to close apps they do not need.
- See Handling App Termination in iOS for why this happens.







