Colepp is an open-source tool for collecting and synchronizing physiological and movement data from wearable devices such as smartwatches and heart rate monitor straps.
The system consists of two main modules:
- Mobile (Android) β centralizes data control and storage, manages connections, and exports collected data.
- Wear (Wear OS) β runs on the smartwatch, collects onboard sensor data, and sends it to the mobile app.
The focus is to enable structured and synchronized data collection, making it easier to create datasets for research in health monitoring, human activity recognition (HAR), and heart rate estimation algorithm development.
Access the paper for more info (PT-BR only):
Video tutorial (PT-BR only):
- π Colepp β Cross-Platform Tool for Wearable Device Data Collection
- Device connection: pairing with Polar H10 strap (via BLE) and Wear OS smartwatch.
- Simultaneous data collection:
- Polar H10: Accelerometer and heart rate via ECG.
- Wear OS: Accelerometer, gyroscope, and heart rate via PPG.
- Precise time synchronization between data from both devices, with time offset protocol using the
MessageClientAPI. - Local storage in SQLite database.
- On-demand CSV export.
- Intuitive interface:
- Home screen for new or past collections.
- Usage instructions.
- Session details with metadata and HR graph.
- Real-time collection with connection status and updated data.
- Standby screen: indicates readiness and connection status.
- Active collection screen: displays estimated HR via PPG and visual collection indicator.
- Continuous data transmission to the mobile app.
- Compatibility: Wear OS 3 or higher.
-
Clone the repository:
git clone https://github.com/life-ufes/Wearable-Health-Data-Sync.git
-
Open in Android Studio:
- Go to
File > Openand select the project folder.
- Go to
-
Set up devices:
- Follow the official guide to pair smartwatch and smartphone: https://developer.android.com/studio/run/device
-
Run modules:
- Select the mobile configuration and run it on the smartphone.
- Select the wear configuration and run it on the smartwatch.
- On the Home screen, click
in the bottom navigation menu.New capture
- You will be redirected to the New capture screen:
- Enter a name with more than 3 characters (description is optional).
- Click Create to go to the Start capture screen (connection guide).
- Make sure both devices are connected.
- Click Start:
- A 3-second countdown will appear before the capture starts.
- The capture will be saved locally until you:
- Click Finish
or - A device gets disconnected.
- Click Finish
- To finish, click Back and you will return to the Home screen, where you can see the list of all saved captures.
- For the app to automatically detect and connect to the Polar H10 and the smartwatch, the devices must already be paired with your phone/tablet.
- With Bluetooth turned on and the devices paired, simply click on each card to start automatic connection.
- Wait a few seconds for them to connect; you will receive feedback when the connection is successful, and the button will be enabled.
- For the smartwatch, when you click the card, the app will automatically launch on the device. If that does not happen, or if you prefer, you can manually open it by tapping the app icon directly on the smartwatch.
- On the Home screen, click the
icon on the capture card you want to delete.
- A confirmation dialog will appear, as data cannot be recovered after deletion.
- To confirm, click Delete.
- To cancel, click Cancel.
- On the Home screen, click the
icon on the capture card you want to edit.
- You will be redirected to the Edit capture screen, where you can change the name and description.
- To save changes, click Save.
- To discard changes, click Back in the upper-left corner or use the navigation bar.
- Click the card of the desired capture.
- On the capture details screen, click the
icon in the top-right corner.
- Wait for the loading dialog while the file is being generated.
- If successful:
- A success message will appear with the location where the file was saved (usually in the device's default Downloads folder).
- If there is an error:
- An error message will be displayed.
- Click the card of the desired capture.
- On the capture details screen, click the
icon in the top-right corner.
- Wait for the loading dialog while the file is being generated.
- If successful:
- A Sharing Menu will appear listing the apps available for sending the file.
- If there is an error:
- An error message will be displayed.
Communication between the mobile app and the wearable uses the Google Play Services MessageClient API, which allows real-time message exchange between devices connected via Bluetooth. The image below illustrates the data flow and interaction between system components:

The application uses SQLite to locally store collected data. The diagram below shows the database structure, including the main tables and their relationships:

| Sensor | Sampling Rate |
|---|---|
| Accelerometer (Wear OS) | 25 Hz |
| Gyroscope (Wear OS) | 50 Hz |
| Heart Rate (Wear OS) | 1 Hz |
| Gravity (Wear OS) | 25 Hz |
| Linear Acceleration (Wear OS) | 25 Hz |
| Accelerometer (Polar H10) | 25 Hz |
| Heart Rate (Polar H10) | 1 Hz |
App version limitations:
- The smartwatch app is only compatible with Wear OS 3.0 or higher.
- The smartphone app requires Android 11.0 (R) or higher.
Contributions are welcome!
To contribute:
-
Fork the repository.
-
Create a branch with your feature/fix:
git checkout -b my-feature
-
Commit your changes:
git commit -m "Add new feature X" -
Push to your branch:
git push origin my-feature
-
Open a Pull Request.
@misc{dejesus2025,
title={Colepp: uma ferramenta multiplataforma para coleta de dados de dispositivos vestiveis},
author={Vinicius Moraes de Jesus and Andre Georghton Cardoso Pacheco},
year={2025},
eprint={2510.15565},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2510.15565},
}
This project is licensed under the MIT License β see the LICENSE file for details.
