Available downloads:

1) App for recording all sensors readings in a smartphone (GetSensorData)

​The «GetSensorData» app (for Android) is capable of recording into a logfile all the sensor information available in a smartphone. It is capable of recording  WiFi RSS, Inertial data (Accelerometer and Gyroscope), Magnetic, GPS, the orientation of the phone, Pressure, Temperature, Humidity, Sound intensity and Light intensity, as well as other external sensors (Xsens & Inertial Elements IMUs, RFCode RFID readers, etc). This app is used starting in the International IPIN 2016 Competition («Smartphone-based» track 3 ompetition) and in subsequent editions (2017, 2018, 2019, 2020).

You can download«GetSensorData» app to make your own experimentation for further signal processing and location estimation. Also, you can collaborate and improve the app (and other related Matlab tools) in our GitLab repository that you can find in Please collaborators are welcome.

Here some pictures of the GetSEnsorData app interface:

The app can store a logfile with sensor data. Each logfile is a “txt” file containing multiple rows with different types of data. Each row registers the data received from a particular sensor type in the phone at a given time. The stream of sensor data generated in the phone is stored, row by row, in the logfile in sequence as they are received. Each row begins with an initial header (4 capital letters followed by a semicolon, e.g. ‘WIFI’, ‘ACC’,’MAGN’, etc.) that determines the kind of sensor read, and several fields separated by semicolon with different readings. This is an extract of a real log file shown as example:

You can mark your ground-truth or reference points by pressing the lower button to insert «POSI» lines. You can download the GetSensorData Android apk file here and for Android 6 or above use GetSensorData apk version 2.0 here. A Matlab parser to interprent the txt file and to visualize the data in figures is available for download here. Note: more uptodate versions can be found in the GitLAb repository at

Please, do not forget to cite us when using our GETSensorData app in your experimentation. You could cite the following reference that describe the full GetSensorData Suite:

  • A. R. Jiménez, F. Seco y J. Torres-Sospedra, «Tools for smartphone multi-sensor data registration and GT mapping for positioning applications», IEEE International Conference on Indoor Positioning and Indoor Navigation – IPIN 2019, Pisa, Italy. ISBN: 978-1-7281-1788-1. Download PDF.

​and, if appropriate, some papers where that App is used for experimental registration:

  • A.R. Jiménez, F.Zampella and F.Seco, «Light-Matching: a new Signal of Opportunity for Pedestrian Indoor Navigation», 4th Indoor Positioning and Indoor Navigation Conference (IPIN 2013), Montbeliard, France, October 28–31st (2013). DOI: 10.1109/IPIN.2013.6817843 
  • J. Torres-Sospedra, A.R. Jiménez, et al. «The Smartphone-Based Offline Indoor Location Competition at IPIN 2016: Analysis and Future Work», Sensors 2017, 17(3), 557;, ISSN: 1424-8220




2) Foot Mounted IMU data sets for the evaluation of PDR algorithms:

We present a set of synthetic noiseless IMU signals with groundtruth, for the evaluation of PDR algorithms and Monte Carlo analysis of the results

1.1) Straight trajectory of 200 steps.
Download dataset

1.2) Closed 3-loop trajectory in rectangular path of 12 x 7 m.
Download dataset

Comments :

  • Datasets are simplified human step patterns synthetically created and then derived to obtain the simulated IMU information
  • The simulated information from the IMU is the acceleration (Acc), turn rates (Gyr) and magnetic field (Mag)
  • All datasets includes a position (Pos), velocity (Vel) and orientation (Euler and DCM) ground truth.
  • Units are in meters, seconds and radians. Sampling frequency: 100 Hz
  • All steps are normalized at 1 second duration
  • The IMU is simulated rotated with 5 degrees of roll and 15 degress of pitch like the picture.
  • All trajectories starts in the point (0,0,0)
  • Gravity is 9.8 m/s2
  • All the datasets include a 20 seconds initial stance and 20 seconds final stance
  • To generate a longer dataset, eliminate the initial and final stance phases and concatenate several signals.
  • The signals are noiseless, therefore the specific noise pattern of an IMU must be added, for the IMU used by us (XSense MTi) is:
  • Accelerometer:  0.012 m/s2 standard deviation random noise and a random constant with a Gaussian distribution and a standard deviation  of 0.04 m/s2 for the bias.
  • Gyroscope: 0.0087 rad/s standard deviation random noise and a random constant with a Gaussian distribution and a standard deviation of 0.015 m/s2 for the bias.
  • Any other noise pattern can be used.

Any question, or in case you need us to create more ground-truth trajectories, please fell free to contact: