appdb's dev account reseller program - get up to $300 per dev account
SensorLog

SensorLog

With SensorLog you can read out sensor data of your iOS and watchOS device and save it as CSV or JSON file.

Sensor data can be sampled with up to 100Hz (depending on the version of your iOS and watchOS device and fore or background mode).

On the Apple Watch background sampling is only supported when logging to file. Background logging on the watch only supports logging accelerometer data with max. 50Hz.

Sensor data can be streamed in server (only iOS) or client mode supporting tcp and udp (only iOS) protocol. Streaming is supported up to 100Hz depending on the network speed and the receiving client or server configuration. On iPhone and iPad streaming is supported in fore and background. Streaming on Apple watch requires a connected iPhone with LAN/WAN access and is only supported in foreground mode.

Via HTTP(S) GET/POST request sensor data can be sent in JSON (POST) or form-url encoded (GET and POST) format to a REST API. Up to 20Hz (10Hz watchOS) upload rate is supported depending on the network speed and receiving server configuration.

SensorLog supports sending HTTP requests while it is running in fore and background on iPhone and iPad. On Watch only in foreground.

Machine Learning: On iPhone and iPad Apple CoreML models can be loaded, sensor data be mapped to model input features, and model output being logged.

The following data of the iOS framework (iPhone, iPad) is provided by SensorLog (depending on the device version):
- CLLocation: latitude, longitude, altitude, speed, course, verticalAccuracy, horizontalAccuracy, floor
- CLHeading: heading.x, heading.y, heading.z, trueHeading, magneticHeading, headingAccuracy
- CMAccelerometer: acceleration.x, acceleration.y, acceleration.z
- CMGyroData: rotationRate.x, rotationRate.y, rotationRate.z
- CMMagnetometerData: raw magneticField.x, magneticField.z, magneticField.z
- CMDeviceMotion: yaw, roll, pitch, rotationRate, userAcceleration, attitudeReferenceFrame, quaternions, gravity, magneticField, magneticField.accuracy
- AVAudioRecorder: peakPower, averagePower (decibels)
- Core ML Model output (supported type int, double, string, dictionary)
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate, pedometerAverageActivePace, pedometerCurrentPace, pedometerCurrentCadence,
floorsAscended, floorsDescended
- CMAltimeter: relativeAltitude, pressure

SensorLog additionally supports:
- logging of WIFI and network carrier IP addresses
- logging of the device orientation
- logging of battery level
- tagging of the logged data with numerical values

On the Apple Watch SensorLog supports logging of the following data:
- CLLocation: latitude, longitude, altitude, speed, course, verticalAccuracy, horizontalAccuracy, floor
- CMAccelerometer: acceleration.x, acceleration.y, acceleration.z
- CMDeviceMotion: yaw, roll, pitch, rotationRate, userAcceleration, attitudeReferenceFrame, quaternions, gravity, magneticField, magneticField.accuracy
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate, floorsAscended, floorsDescended
- CMAltimeter: relativeAltitude, pressure
- Battery information

What's New

- Rework of Background Logging on Apple Watch (details please see description)
- Bugfix: timestamp background logging Apple Watch
- Bugfixes
- SensorLog v3.4 requires iOS 13.2 or newer, watchOS 6.1 or newer

Screenshots