Mobile
Flutter · Android/iOS
One public sample contains both Android and iOS projects.
SDK · Development
Move from package review and Bluetooth permission through discovery, connection, PPG and motion streaming, application storage, and real-world validation.
Development guide
Mobile
One public sample contains both Android and iOS projects.
Desktop
The current ZIP contains CPython 3.9 Windows binaries. Linux needs confirmation.
Validation
Before UI polish, verify missing samples, events, and PPG or IMU time alignment.
Implement device connection and measurement with mobile permissions and application lifecycle in mind.
Implement connection and processing with the currently verified CPython 3.9 Windows example. Linux adoption needs separate confirmation.
Validate stream schemas, timing, events, storage integrity, and downstream transfer.
How to develop
Follow version-specific function names but keep state transitions and data validation in this order.
The mobile runtime notes conflict and the desktop ZIP is incomplete, so verify the files you downloaded before integration.
Match Flutter and Dart against the official VitalTrack-SDK repository and its pubspec. The README and pubspec list different minimum Dart versions.
Review the CPython 3.9 Windows binaries and imported PySide6, qasync, bleak, SciPy, and NumPy dependencies in the current ZIP.
Confirm that an EmoConnect or VitalTrack name is discoverable and prepare the required OS Bluetooth permissions.
Both versions receive raw PPG and IMU signals. Choose EmoConnect PRO when your product needs a smart-filtered signal or HR metrics.
Build the Flutter sample containing Android and iOS projects. For desktop, start with the verified Windows CPython 3.9 example and ask Newert for the Linux distribution.
Request Bluetooth and nearby-device permissions before discovery and handle denial, retry, and Bluetooth-off states in the UI.
Filter supported devices and explicitly manage discovering, connecting, connected, disconnected, and reconnecting states.
Receive PPG, ACC, Gyro, and Mag values. Mobile documentation lists each stream at 50 Hz; confirm actual fields, units, and timestamp behavior in the version you use.
The current SDK examples do not automatically create a CSV. Your application connects participant codes, session boundaries, and study events to received data and stores them.
In short and long sessions, verify missing, duplicate, or reversed samples, PPG or IMU alignment, disconnections, and recovery.
Download
The SDK streams sensor values and does not automatically create a CSV. Use the structure sample to design application storage and downstream analysis.
This example places PPG, ACC, Gyro, Mag, and events on one timeline. It is not a file generated automatically by the SDK.
Included fields
Time · PPG · ACC x/y/z · Gyro x/y/z · Mag x/y/z · event
This structural sample is based on the EmoConnect app Raw CSV. It does not establish the SDK's actual fields, units, or timestamp semantics; confirm them in the version you use.
Download development CSV sampleImplementation output
Do not stop at a connected UI. Produce session files and reproducible logs that can move into real research.
Discovery, connection, measurement, disconnection, and reconnection agree in UI and logs.
PPG, ACC, Gyro, and Mag remain separated and their received counts are visible in logs.
Participant code and study events stay connected to the measurement timeline.
Your storage logic produces a CSV or another file with verified headers, units, missing values, and encoding.
EmoConnect PRO receives a smart-filtered signal and HR metrics in addition to raw signals.
Versions, device, conditions, missing samples, and reconnection results are reproducible.
The example keeps PPG, ACC, Gyro, Mag, and study events together on the same time row.
| Time (seconds) | PPG (dB) | ACC x (m/s²) | ACC y (m/s²) | ACC z (m/s²) | Gyro x (°/s) | Gyro y (°/s) | Gyro z (°/s) | Mag x (µT) | Mag y (µT) | Mag z (µT) | event |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.02 | 24119.000 | -0.105 | 0.858 | 9.727 | -0.022 | -0.011 | -0.010 | -50.531 | -7.348 | 8.398 | 0 |
| 0.04 | 24121.918 | -0.106 | 0.907 | 9.721 | -0.030 | -0.024 | -0.010 | -50.363 | -7.078 | 8.298 | 0 |
| 0.06 | 24124.837 | -0.106 | 0.956 | 9.716 | -0.038 | -0.037 | -0.011 | -50.195 | -6.809 | 8.197 | 0 |
Connection and raw-signal reception are the same; PRO additionally receives a smart-filtered signal and HR metrics.
Purchase, download, and adoption
Tell us your environment and required data scope, and we will guide you to the appropriate product, download, and adoption path.
Contact SDK technical support