Skip to main content

Sensor Types

Active sensor events are produced on a rolling basis via interactions by a Participant. They are transferred to the Platform Server automatically by using the Activity API written in JavaScript. By “beginning” and “ending” a recording of these interactions, as well as “emitting” temporal data during the interaction, an ActivityEvent can be captured and sent to the Platform Server. A list of existing Sensors is provided below with name and description; a live server instance must be consulted for data schema information (see GET /sensor_spec). Implementations for these hardware sensors are provided in the GitHub repository.

Device Motionlamp.device_motion
Bluetooth & WiFilamp.nearby_device
Calls & Textslamp.telephony
Blood Pressurelamp.blood_pressure
Blood Glucoselamp.blood_glucose
Oxygen Saturationlamp.oxygen_saturation
Body Temperaturelamp.body_temperature
Heart Rate & HRVlamp.heart_rate
Respiratory Ratelamp.respiratory_rate
Activity Recognitionlamp.activity_recognition

Details on the most commonly analyzed specs are below: For greater detail of specs, see Cortex & API section.#


SensorSpec: lamp.accelerometer


The triaxial accelerometer measures acceleration applied to the device. Each measurement is measured in Gs and is taken relative to the coordinate plane of the device, screen facing upwards. For example, a device resting face-up on a flat surface will report a measurement with the coordinate values <0, 0, 1>.

Blood Pressure#

SensorSpec: lamp.blood_pressure

Blood pressure is

  • lamp.blood_pressure: records blood pressure from an external connected monitor.
    1. value: number
    2. units: string


Cortex: cortex.raw.bluetooth


The bluetooth sensor logs information about the device's Bluetooth sensor and about surrounding Bluetooth devices that are enabled and/or visible. The device scan for surrounding Bluetooth devices at a set frequency (default is 60 seconds). If multiple devices are detected in a single scan, they are all assigned the same timestamp.


SensorSpec: lamp.calls


The calls sensor measures information on phone calls made and received by the user. Each event is a single phone call, with information on its type (incoming, outgoing, missed, etc), duration, and trace (the other device which the user connected with during the call). Call type options differ between Android and iOS devices.


SensorSpec: lamp.distance


SensorSpec: lamp.gyroscope


The gyroscope sensors measures the rate of rotation around each of a device's x, y and z axes. Rotation values are in radians/second. Positive values indicate counter-clockwise rotation; negative values indicate clockwise rotation. These are raw values—i.e. they do not correct for nosie or drift.


SensorSpec: lamp.accelerometer.motion


The motion sensor gathers information on the device's physical movement. It includes metrics on device tilt, rotation, experienced gravity, acceleration, and magnetic field. The acceleration measure here differs from lamp.accelerometer in that this measure does not correct for gravity.


SensorSpec: lamp.sms


The sms sensor measures information on text messages sent and received by the user. Each event is a single message, with information on its type (incoming, outgoing) and trace (the other device involved in the messaging exchange).


SensorSpec: lamp.screen_state


The screen state sensor records when the screen was turned on or off, when the device was locked or unlocked, and changes in battery level from charging or discharging the device. This sensor DOES NOT record the amount of time spent within specific apps on the device or how many notifications were received.


SensorSpec: lamp.weight


Cortex: cortex.raw.wifi


The wifi sensor provides information about the devices to which the user's device connects via wifi.

Last updated on by Aditya Vaidyam