8. Empatica E4#
8.1. Sensors#
Photoplethysmography sensor (PPG)
Electrodermal activity sensor (EDA)
3-axis accelerometer (XYZ)
Optical thermometer (Infrared)
Output:
acc - 3-axis acceleration
bvp - Blood Volume Pulse
gsr - Galvanic Skin Response
ibi - Interbeat Interval and Heartbeat
tmp - Skin Temperature
bat - Device Battery
tag - Tag taken from the device (by pressing the button)
8.2. Output#
The Empatica E4 sensor provides several types of data, which are streamed in real-time:
Accelerometer Data (acc):
Format: E4_Acc
Timestamp: Unix timestamp in seconds with millisecond precision
X, Y, Z: Acceleration values in 1/64g units (integer)
Sampling rate: 32 Hz
Blood Volume Pulse Data (bvp):
Format: E4_Bvp
Timestamp: Unix timestamp in seconds with millisecond precision
BVP: Blood volume pulse value (float)
Sampling rate: 64 Hz
Galvanic Skin Response Data (gsr):
Format: E4_Gsr
Timestamp: Unix timestamp in seconds with millisecond precision
GSR: Electrodermal activity in microsiemens (float)
Sampling rate: 4 Hz
Interbeat Interval and Heartbeat Data (ibi):
Format: E4_Ibi
Timestamp: Unix timestamp in seconds with millisecond precision
IBI: Interbeat interval in seconds (float)
Sampling rate: Variable, depends on heartbeat detection
Skin Temperature Data (tmp):
Format: E4_Temperature
Timestamp: Unix timestamp in seconds with millisecond precision
Temperature: Skin temperature in degrees Celsius (float)
Sampling rate: 4 Hz
Battery Level Data (bat):
Format: E4_Batt
Timestamp: Unix timestamp in seconds with millisecond precision
Battery: Battery level percentage (integer)
Sampling rate: 0.1 Hz
Tag Data (tag):
Format: E4_Tag
Timestamp: Unix timestamp in seconds with millisecond precision
Tag: Always 1, indicates a button press event
Sampling rate: On-demand, when the button is pressed
Additional details:
Data is streamed in real-time over a TCP connection.
Clients need to subscribe to specific data streams to receive the data.
The timestamp for all data types is synchronized to the E4 streaming server’s clock.
Data can be paused and resumed without disconnecting from the device.
8.3. Application runtime#
The Empatica E4 streaming server is a Middleware which communicates to any third party software via TCP. The default server adress and port is: localhost (127.0.0.1) and 28000.
On Start: application subscribes to all available Empatica E4 data streams (see docs Empatica protocols)
After ~2-10 seconds the subscribed data streams can be seen as the visual timeseries in the frontend.
When all data streams are visually represented in the frontend, data can be saved persistently via the record button.
8.4. Important notes#
The data stream subscriptions have a delay of 700 milliseconds between each other. When this delay is set lower or, even worse, to zero, some data streams are not subscribed to and are rejected by the device.