Synchronization with the MTi

One of the best features of the MTi is the possibility to synchronize with other devices and sensor systems. With 6 functions (a SendLatest, a TriggerIndication, a SyncOut, a ClockSync, a StartSampling and a GNSS 1 PPS output), there is always a way to get other sensor systems aligned with the MTi. Most of these functions can also be combined to achieve an even more versatile functionality. 

Not all functions are available for all MTi devices. See the following table for an overview of available synchronization options per device. 

Sync function MTi 1-series MTi-7 MTi 10/100/600-series MTi-670, MTi-G-710


ClockSync (Clock Bias Estimation)   X X X
SyncOut (Interval Transition Measurement)     X X
TriggerIndication     X X
StartSampling     X X
GNSS 1 PPS    X   X


In case multiple systems are used during a measurement it is important to have the measurement data synchronized between the systems. Processing synchronized data is much easier because there is no need to resample the data to compensate for timing inaccuracies like clock drift and clock deviations. Synchronization using multiple systems involves 2 important issues: starting the measurement at the same time and having a fixed time relationship of the sampling instances. This section will explain how the MTi must be setup when using multiple measurement systems.

External device triggers MTi: SendLatest

SendLatest is used when an external device triggers the MTi. 

In the following figure, a possible configuration is shown where a Motion Tracker and Device A are synchronised. In this example, a clock generator triggers device A and an MTi ensuring that the two devices are synchronized with each other.

The output of the clock generator can be directly connected to the MTi.

NOTE: Always check if the SyncIn specification matches with the trigger signal.

Once a SyncIn signal or a ReqData message is received, the MTi will output the latest available data. It is possible to delay the data to be sent, to choose whether the SyncIn signal needs to be triggered on rising edge or falling edge etc. The internal clock determines when data is available. This data is transmitted only if a trigger is detected on the SyncIn line or when polled (ReqData software trigger). This means that the trigger instance will not coincide with the availability of the data. Because two different clocks are used the time difference between the trigger instance and the last sampling instance may vary during the measurement and at most with a time equal to the used sampling period.

SendLatest does not apply to AccelerationHR and RateOfTurnHR data output. In case of PVT data, SendLatest will send the last received PVT data only once. Subsequent triggers will not output any PVT data until new PVT data is available.

Marker in MT Data: TriggerIndication

Next to let the MTi send data to the computer, it is also possible to incorporate a trigger indication in the MTData2 packet (Status Word). The data will not be affected by the trigger indication; the data is marked with the pulse received.

MTi triggers external device: SyncOut

The SyncOut (called Interval Transition Measurement as the SyncOut is generated on the transition between two 400 Hz intervals of the SDI) is used to trigger other devices. 

In case the clock specification of the MTi is accurate enough for the measurement, the MTi can provide a sync pulse which is generated based on its internal clock at a frequency of 400 Hz, regardless of the frequency of the data outputted. For example, when Interval Transition Measurement is set with a skip factor of 3 and a pulse width of 1000 µs, the following will be outputted: 1 ms sync pulse, 9 ms no sync pulse, 1 ms sync pulse, 9 ms no sync pulse and so on. Three pulses will be skipped after every pulse, resulting in a 100 Hz output signal. The data output (e.g. orientation) and frequency is irrelevant for the functionality of Interval Transition Measurement. 

A SyncOut marker is outputted in the data stream that shows the exact time of the transmission of the SyncOut pulse. The signal can be set to either pulse or toggle mode and in case of pulse mode the polarity can be set to negative or positive. The Low Level Communication Protocol (link) describes the different settings.  

To connect the SyncOut signal to an external device you can either make a custom cable that wires the SyncOut pin (see the User Manual here for pin configurations) directly from the MTi/MTi-OEM or in case you use the CA-MP2-MTI cable you can connect directly to the appropriate pin of the Molex header.

Always check if the input voltage levels and the input impedance of the external device matches the SyncOut specifications.

1 PPS output directly from GNSS receiver

Another possibility on the SyncOut line is the 1 PPS signal, that is coming directly from the GNSS receiver. This 1 PPS pulse has a duration of 100 us and is outputted at exactly the integer second (1.00000, 2.00000, etc.) with an accuracy of 30 ns. This functionality is only available on GNSS-enabled MTi devices. The MTi-680G does not support a true 1 PPS signal as described above, however it can generate its own 1 PPS pulse using the Interval Transition Measurement function. This pulse is then synchronized with the 1 PPS pulse of the internal GNSS receiver, but it does not appear exactly at the integer second.

Synchronizing two clocks: ClockSync

The MTi features clock synchronization: it is possible to adjust the bias of the MTi’s internal clock with an external clock of which the frequency is known. Note that the adjusted bias is also used in the calibration of the inertial sensors, so that no additional errors are introduced. When a pulse is missed, e.g. because it was not sent or was lost on the input line, this will not have a bad influence on the performance. The maximum time that the pulses may be absent is 30 seconds.

The clock synchronization can be used for two distinctive use cases:

  • When a precise external clock is available (e.g. a GPS time pulse), this frequency can be sent to the MTi to make sure that the time of the MTi follows the UTC time.
  • When an external device has a time constant that differs from the MTi, the sensor readings will at some point no longer be aligned to each other. If the external device accepts synchronization pulses, it is possible to use SyncOut; if the external device can send synchronization pulses at a frequency that is the same as the required output frequency of the MTi, it is possible to use SyncIn. If these two options are not possible, the Clock Sync is an alternative.



MTi’s internal clock accuracy

10 ppm

Input frequency

0.1 – 1000 Hz

Maximum deviation from MTi’s internal clock

900 ppm

Initialisation time (per ppm difference between internal clock and external clock)

0.72 ms/ppm

The MTi-7, MTi-670 and MTi-G-710 use the clock bias estimation function to synchronize the MTi with the GPS time (1 ppm). This synchronization is set by default, and although not recommended, it is possible to disable this synchronization setting. 


One of the advanced timing features of the MTi is the StartSampling synchronization function. StartSampling will trigger the MTi to start processing data, so that the start time for sampling can be chosen. This is useful when the timing of a data needs to be aligned with an external sensor or sensor system at an accuracy of better than 2.5 ms. Timing specification is as following:

0 ms

0.69 +/- 0.05 ms

3.19 +/-0.05 ms

10.69 +/- 0.05 ms

External pulse received at MTi

First sample (10kHz) received for signal processing

First inertial data available (acc/gyr, 400 Hz)

First orientation available (400 Hz)

It is possible to delay the “First sample received”, and with that the entire data output, with up to 0.65536 seconds. For example, setting a delay of 6810 us (6.81 ms) will output data at exactly 10 ms after the external pulse has been received.  

Combining sync functions

It is possible to configure multiple synchronization functions on the MTi. This can be useful if you need to synchronize multiple devices, e.g. a GPS device (providing a 1 pulse per second (PPS) pulse), an MTi-300 and an external camera that needs 0.2 seconds to make a picture. 


In this example, you could use the GPS pulse to synchronize the clock of the MTi with the GPS clock (use Clock Bias Estimation), but you also need to know the timing difference between the GPS and MTi (so connect the 1 PPS to Trigger Indication as well: the 1 PPS trigger will be inside the MT Data2 packet). If you need orientation at a different rate than the camera images, you can send the Interval Transition Measurement (SyncOut) at a SkipFactor and with an offset to give the camera time to make the picture.

A list of possible sync combinations is shown below. There are many more use cases. Xsens can advise on this, just leave your comment below. 

Example use case Functions to combine
Two separate sensor systems that need to run at the same frequency with their own clocks and where no bias between the devices is allowed  StartSampling and ClockSync
Two separate systems of which the clocks need to run at the same frequency and where a manual trigger for the other system must be shown in the MTi data ClockSync and TriggerIndication
A system where the data has to be available at exactly the round second, and where the 3rd party devices polls the MTi for the latest data StartSampling, ClockSync and SendLatest (via ReqData message, as there are only 2 SyncIn). 
A system where device A can only generate a 1 Hz pulse, but where device B requires a 10 Hz pulse ClockSync (from Device A) and Interval Transition Measurement with skip factor 39 (to Device B) 

Common ground for Sync applications

Just as with the communication interface, it is required to have a common ground. This means that the ground of the MTi must be connected to the ground of the serial interface (USB or serial), the power source (USB or external) and the sync/clock. When this common ground is neglected, the Sync interface may become irreparably damaged or the communication may not start up. See the schematic below.


Was this article helpful?
1 out of 1 found this helpful
Do you have a question? Please post your question in our Community Forum