SensorLog 4+

Log and Stream Sensor Data

Bernd Thomas

    • 4.3 • 34 Ratings
    • $4.99
    • Offers In-App Purchases


Log and Stream Sensor Data

With SensorLog you can read sensor data from the iPhone, iPad and Apple Watch.

The sensor data can be saved as a file in CSV or JSON format, streamed via TCP/UDP or sent as an HTTP request.

The most important functions for iPhone and iPad:

- Sensor data can be recorded at up to 100Hz (depending on the iOS device version and sensor type).
- Sensor data can be streamed in server or client mode using TCP or UDP. Depending on the network speed and the server or client configuration used, this is possible with up to 100Hz.
- Via HTTP(S) GET/POST request, sensor data in JSON format (POST) or form-url encoded (POST and GET) can be transmitted to a REST API with up to 20Hz.
- With the SensorLog Remote Client/Server function, an iPad or iPhone can connect as a SensorLog Remote Client to an iPhone or iPad, which takes on the role of SensorLog Remote Server. The client's sensor data can be visualized on the server, and the server can control the clients (start/stop logging, start/stop sending data).
- Logging can be started and stopped using Siri and shortcuts.
- SensorLog supports Core ML models created with Apple's Create ML app. Log data with SensorLog, train a model with the data in Create ML, load exported models in SensorLog and log the model prediction. Supported Create ML models are: Activity Classifier, Tabular Regressor and Tabular Classifier.
- If you have an Apple Watch, HealthKit data such as heart rate, energy used, sleep and movement data can be exported on the watch as a csv or json file and then transferred to your iPhone.

Sensor data iPhone / iPad:
For sample log files, please visit the SensorLog homepage (link App Support).
- CLLocation, CLHeading, CMAccelerometer, CMGyroData, CMMagnetometer, CMDeviceMotion, CMActivity, CMPedometer, CMAltimeter, WLAN and network provider IP addresses, device orientation, battery info, decibels.

The most important functions for Apple Watch:

- Logging Option 1: Logging duration up to 1 hour
Simultaneous logging of all selectable sensor data is supported in the background with up to 50Hz. Individual sensors can be logged with a higher frequency of up to 100Hz. Streaming (only client mode, TCP) and HTTP requests are supported.
- Logging option 2: Logging duration greater than 1 hour
In the background only logging of the accelerometer data with max. 50Hz is supported. In the foreground all sensor data with up to 100Hz. Streaming and HTTP requests are only supported when the app is in the foreground.
- Depending on the network speed, the server configuration used and the selected logging option, streaming is possible at up to 100Hz. A connected iPhone with LAN/WAN connection is required.
- Via HTTP(S) GET/POST request, sensor data can be transmitted to a REST API with up to 10Hz in JSON format (POST) or form-url encoded (POST and GET).
- With the SensorLog Remote Client function, the sensor data can be sent to an iPhone or iPad with an activated SensorLog Remote Server function and visualized there. The connected SensorLog Remote Server can start and stop logging on the watch as request sending the sensor data.
- The Health Store data feature off the SensorLog Watch app allows you to export HealthKit data like heart rate, energy burned, sleep, and movement data. This data is automatically recorded by your Watch and can be read out and exported by SensorLog as csv or json file and transferred to your iPhone.
- Logging can be started and stopped using Siri and Shortcuts.

Sensor Data Watch:
For sample log files, please visit the SensorLog homepage (link App Support).
- CLLocation, CMAccelerometer, CMDeviceMotion, CMActivity, CMPedometer, CMAltimeter, battery info

What’s New

Version 5.2

iPhone / iPad
- bugfix: crash long term acceleromter export view
- SensorLog Remote server mode now supports logging of sensor data from connected SensorLog Remote clients

Ratings and Reviews

4.3 out of 5
34 Ratings

34 Ratings

jalponcho ,

Good and easy to use app

This is a great app to log the Watch sensor data. I like the fact that you can log data on the watch for long term monitoring.

I am using this for my these to record hand motions in patients.

I wish the app could record for 24 hrs without needing to trigger it every 12 hours. Is there a work around ?

Also I wish the gyroscope was logged along with accelerometer in background logging mode.

Great app otherwise!

Lumberton NJ ,

Output File Time Tags worthless

App measurement data collection is easy to initiate but limitations in the output measurement file time tags make the data useless for performing engineering analysis. I am using it to log time tagged earth magnetic field measurements. I tried to log the data at 100 hz but when I inspected the data file the time tags only have 1 decimal point of accuracy (0.1 sec) and there are multiple rows of data with the same time tag; thus when I collect data at say 100 hz, the data entries are not exactly 100 hz but some mismatch of approx 100 hz.

Any way I can force the output to be exactly the hz I want.

Also can you increase the time tag accuracy down to at least the hz you are collecting data at (e.g. If 100 hz data collection, then time tags accurate to 0.01 sec).

Without these fixes to you app, your app is worthless for engineers using it for engineering applications.

Developer Response ,

Hi Lumberton, please double check to correctly import the logged data. Depending on the program you use to read the log file you may have data conversion / transformation issues (for instance that may happen if you import the data in MS Excel without using the data import functionality and not defining the correct data types). For detailed information on the different sensor timestamps and therewith connected sampling rates please have a look at the explanations and links provided under the Configuration -> Info view of the app. Please feel free to contact me via email I would appreciate to help you via email.

Npvw ,

Works out of the box

Worked as expected and very easily.
I cannot say yet if it is accurate but was able to log data to a file and email it without hassle.
I need to just make sense of what the state options mean? Bernd can you explain perhaps? 0-5?

Good and simple app.

Developer Response ,

Thanks for your feedback. With the state option ( or label in Version 2.3 ) you can tag the recorded sensor data. The state ( label ) information can be of benefit if you want to tag your data for later post processing as for instance if you want to use it for machine learning tasks. For example use state / label „1“ while walking and label „2“ while jumping. Later on you can easily identify the „jump“ and „walk“ data in your log by the label column.

App Privacy

The developer, Bernd Thomas, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Collected

The developer does not collect any data from this app.

Privacy practices may vary, for example, based on the features you use or your age. Learn More

You Might Also Like