National Chengchi University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

6

Local AI

--

Uedu Code

--

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

UEDU FIT · iOS INSTRUMENT

UeduPAD user guide

UeduPAD is a research-grade iOS app built on the Garmin Health Companion SDK, streaming beat-to-beat physiological signals from Garmin wearables to a phone or tablet in real time for classroom and research use. This manual explains the full workflow, from installation and sign-in, to watch pairing, live streaming, interval recording and upload, as well as multi-user measurement and data governance.

1. What is UeduPAD

UeduPAD is a research-grade iOS app developed by the Uedu team, belonging to the Uedu Fit subsystem and built on Garmin Health Companion SDK. It connects to Garmin wearable devices via Bluetooth, reads beat-to-beat interval (BBI), heart rate, respiratory rate, stress and other physiological signals, and sends the data back to the Uedu platform after tagging it with the user's identity, becoming a source of population-level physiological data for multimodal learning analytics (MMLA).

UeduPAD is not an ordinary personal health app, but a physiological signal acquisition tool for classroom and research settings. It has two complementary data pathways:

PathPurposeCorresponding page
Live streamingMeasurement in progress: heart rate / BBI / respiration rate / stress data are sent back to the platform in real time, by the second, for on-site monitoring and live analysisReal-time data (Real-Time Data)
Interval recording and uploadSelect a period of time, then upload the data already recorded by the watch afterwards for post-class review and research analysisChoose Time (Choose Time) / Event (Event)
Relationship with PALM and Data Lake

Physiological signals collected by UeduPAD are written to Uedu Fit and Educational Omics Data Lake, and are PALM Physiologically-Aware Language Modelsone of the primary sources. The marketing and technology showcase introduction page is at /uedupad(In-site shell version /uedupad/intro)。

2. Preparation before starting

Before starting the measurement, please confirm that these three things are ready:

ItemDescription
iOS deviceAn iPhone or iPad (iOS 15 or later), with the UeduPAD App installed and Bluetooth enabled
Garmin watchSupports devices with beat-by-beat interval (BBI) streaming, such as vívoactive 5. The watch must be charged, switched on and within Bluetooth range
Uedu accountOne set of Uedu platform account credentials (email + password). If you do not yet have an account, you can click "Register" on the sign-in page, or register first at uedu.tw/signup
A small note on measurement stability

Please wear the watch correctly on your wrist (snug, not too loose) and, during measurement, minimise vigorous hand movements to maintain the quality of the optical heart-rate and BBI signals. On iOS devices, please keep the app in the foreground during measurement and avoid auto-lock (see Chapter 5 for details).

3. Installation, sign-in and pairing

3.1 First launch

After launching the App, the SDK will initialise first, the splash screen will briefly appear, and then the login screen will open.

3.2 Login

  1. Enter the Email and password for your Uedu account on the login page.
  2. Tap "Log in". The app authenticates using salted bcrypt — the password is hashed on the mobile device before being sent, and is not transmitted in plain text.
  3. After verification succeeds, the account information will be stored on the device, so next time you open the App you do not need to log in again (you can log out in the “User Information” tab).

If you do not yet have an account, click "Register" on the sign-in page; the app will open uedu.tw/signup to complete registration, then return here to sign in.

3.3 Pair Garmin watch

After logging in,you must first pair a watch before entering the main screen — when unpaired, the app will automatically pop up the device selection window.

  1. Confirm that the watch is powered on, Bluetooth is enabled, and it is close to the iOS device.
  2. In the device selection window, the app will scan for nearby Garmin devices; tap your watch.
  3. Follow the on-screen instructions to confirm the pairing request on the watch and complete the linking.
  4. Once pairing is successful, you will enter the main screen. The app will then remember this watch and connect automatically next time.
One iOS device paired with one watch

One instance of the UeduPAD app pairs with and streams from one watch at a time. Multi-user synchronous measurement is achieved by 'each person using their own device and watch, and signing in separately'; the aggregated view is presented on the platform side (see Chapter 7), rather than one iPad connecting directly to multiple watches.

4. Five tabs on the home screen

After entering the home screen, there are five tabs at the bottom:

PaginationPurpose
Live data
Real-Time Data
Display the watch’s current heart rate, BBI, blood oxygen, respiration rate, steps, stress and acceleration, and stream second-by-second signals back to the platform in real time (see Chapter 5)
User information
User Info
Display the login account, name and currently connected device name; switch interface language (Traditional Chinese / English); log out
My device
My Device
View the status, battery level and synchronisation of paired devices
Choose time
Choose Time
Create a timed recording interval and upload the watch-record data for that interval afterwards (see Chapter 6)
Activity
Event
Create a multi-day recording schedule by "activity" (for example, a seven-day Python course), and upload it day by day (see Chapter 6)

5. Real-time streaming measurement

The 'Live Data' tab is the heart of on-site measurement. When entering this tab, the app automatically begins requesting a live data stream from the watch, and displays the following items on screen one by one:

  • Heart Rate: the number of heartbeats per minute in real time
  • BBI (inter-beat interval): the millisecond interval between each heartbeat
  • Blood oxygen (SpO2), Respiratory rate (Breaths Per Minute), Steps (Steps), Stress (Stress), Accelerometer (Accelerometer)

While staying on this tab, the App will sample the current heart rate / BBI / respiration rate / stress at second-level intervals, package it as an event with millisecond timestamps and user identity, and upload it to the Uedu platform in real time.

5.1 Operating steps

  1. Confirm that the watch is connected (if the connection drops midway, streaming will automatically resume once you return within range).
  2. Switch to the "Live Data" tab; measurement starts immediately and the values will keep changing.
  3. During measurement, keep the App in the foreground. This page will automatically keep the screen awake to prevent interruption from screen lock.
  4. When measurement ends, you can leave the page or close the stream; any unsent data will be retained and submitted later.

5.2 Offline and no-loss data when disconnected

Uploads use a 'first-in, first-out queue + local staging' design: each measurement event is first written to a local device file, and only removed from the queue after successful delivery to the platform (the server returns success); if there is no network at the time or the upload fails, the data is kept in the queue and automatically resent when the connection is restored, so it will not be lost.

Backgrounding pauses the stream

When an App is sent to the background or the device enters standby, iOS pauses the live stream; it automatically resumes when returning to the foreground. Therefore, for formal measurements, please keep UeduPAD running in the foreground and do not switch to other Apps midway.

About the stance on signal interpretation

BBI and its derived HRV indicators (such as RMSSD and pNN50) are objective proxy indicators of cardiac autonomic activity.Before algorithmic validation in a specific context, these signals must not be directly equated with stress, emotion or learning state; all physiological and behavioural correspondences must be research-validated. Garmin wearable devices are consumer health products, not medical devices.

6. Interval recording and upload

In addition to live streaming, UeduPAD can also select a period of time and upload the recorded data from the watch afterwards. This route is suitable for post-class review and batch collection, and is divided into two modes: "Select time" and "Activity".

6.1 Choose Time: single-session timed recording

  1. In the "Choose time" tab, enter test duration (minutes) in the field, click "Add" and confirm; this creates a recording entry of the specified length, counted from now.
  2. During recording, this entry shows "In progress"; if you need to end it early, click "Stop" (once stopped, it cannot be restarted).
  3. When time is up, click 'Upload' for that record. The app will synchronise the watch-record data for that interval and upload it in 60-second segments.
  4. After a successful upload, the status changes to “Uploaded”. Please do not switch or close the app during upload/synchronisation.

You can use "Refresh" to update each item's status, or "Delete / Delete all records" to clear them.

6.2 Event: multi-day recording schedule

The "Activities" tab uses one "activity" to cover collection over multiple consecutive days, which is especially suitable for measurements that span several weeks, such as a Python course:

  1. Select the start date and type of event ("Python Course" will automatically generate seven consecutive days of daily logs; "Test Logs" will generate seven one-minute short logs for testing).
  2. Click “Add” to confirm, and the activity and all of its multiple daily records will be created.
  3. Open the "Test content" details for the activity, then tap "Upload" for each day's record one by one.
  4. Successful uploads are marked “Uploaded”; please do not switch or close the app during synchronisation/upload.
Differences between the two paths

Real-time streaming (Chapter 5) is second-by-second data at the moment of measurement, used for on-site monitoring; interval upload (this chapter) is data already recorded on the watch and retrieved afterwards, used for post-class review. The two can be used together: real-time streaming during class, then interval upload afterwards to complete the full record.

7. Multi-user measurement and data flow

7.1 How data enters the Uedu platform

Garmin watch Bluetooth (Garmin Health SDK) UeduPAD (iPhone/iPad) Events with identity and timestamp Uedu Fit/Data Lake

Every uploaded item is tagged with your logged-in user identity and a millisecond timestamp, so the platform can compare across individuals on the same time axis and align with classroom events.

7.2 How multi-user measurement is synchronised

Measurement for an entire class or group is completed by each participant using their own device:

  • Each person runs one UeduPAD on their own iPhone/iPad
  • Pair your own Garmin watch
  • Log in with your own Uedu account
  • Link the data back to the same Uedu platform, and mark each party's identity

The group-aggregation view of “one device to see the whole class” presents everyone’s data after it has been collected on the platform side (web dashboard), rather than a single device connecting directly to everyone’s watch via Bluetooth. The common workshop setup of “two people to a pair, one wearing the watch while the other monitors, then swapping over” also follows this model — the watch wearer logs in with their own account, and the data belongs to that person.

8. Research Ethics and data governance

UeduPAD collects highly sensitive physiological data, and its governance aligns with Uedu's overall research ethics framework:

  • The platform's research activities operate under research ethics protocol NTU-REC 202507EM058 (umbrella framework)
  • Informed consent and de-identification processes are built into the platform; data collected by researchers within the prescribed scope are covered by the ethics protocol
  • The research use of physiological data is carried out uniformly through the governance mechanism of Uedu Lab and the authorisation of participants
Further reading

For the governance unit of the research team and the "participant-led authorisation" mechanism for research projects (mirror view, access logs, withdrawal at any time), see Uedu Labs laboratories and research projects overview. See how physiological signals are used by AI, PALM Physiologically-Aware Language Models Methodology. Research informed consent at Research Informed Consent CenterSign.

9. Frequently asked questions

Q1: Do I have to have a Garmin watch?

Real-time streaming measurements require a Garmin watch that supports BBI streaming (such as vívoactive 5). In workshop settings, if there are only a limited number of watches, those who do not get a watch can first watch the live demonstration or use a preloaded sample dataset, and then take turns to test it themselves.

Q2: The numbers never change or show "--"?

Check in order: (1) whether the watch is connected (confirm on the "My devices" tab); (2) whether Bluetooth is on and the watch is within range; (3) whether the watch is fitted correctly to the wrist. Returning to the "Live data" tab will request the stream again.

Q3: If I switch to another app halfway through measurement, will the data be lost?

When switched to the background, iOS will pause the live stream; it will resume automatically when you return to the foreground. Measured but unsent data are kept in the local queue and will not be lost. However, for continuous and complete measurement, please keep UeduPAD in the foreground during formal measurement.

Q4: Can measurement be done without an internet connection?

Yes. Data is first stored in a local queue on the device and automatically resent when the network is restored. After a long offline measurement, return to a networked environment and keep the app in the foreground for a while to let the queue finish sending.

Q5: What is the difference between "real-time streaming" and "select time / activity upload"?

Real-time streaming means sending second-by-second data back to the platform at the moment of measurement, for on-site monitoring and real-time analysis; time/activity selection means uploading data already recorded by the watch back to the platform afterwards in segments, for post-class review and batch collection. The two can be used together.

Q6: Can one device view many people's watches at the same time?

No. One app streams one watch at a time. For multi-person measurement, each person should use their own device and account; the aggregate class-wide view is shown on the platform side (see Chapter 7).

Q7: Can BBI or HRV be used directly as indicators of stress or emotion?

Not recommended. BBI and HRV are objective surrogate indicators of cardiac autonomic activity; before algorithmic validation in a specific context, they should not be directly equated with stress, emotion or learning state. All physiological and behavioural correspondences must be interpreted only after research validation.