Unable to synchronize IMUs while streaming or while saving locally
Using 4 MMR
Hardware revision [0.3]
Firmware revision [1.5.0]
Model Number 
Host Device Information:
Using metabase app
In our use case of the IMUs it is crucial that we accurately synchronize the IMU data and compare time signals between them accurately. I know the tutorial recommends simply using the epoch times in the CSVs to correlate events, but in my experience that solution was not good enough. Instead I tried using calibration events, where both IMUs were subject to high acceleration from the same event in order to identify an offset to synchronize the elapsed times of the IMU. But when that still wasn't satisfactory I decided to do additional testing, attaching both IMUs to a hammer and making regular hits, finding and comparing the elapsed time when each IMU reported peak acceleration. For this testing I only had basic acceleration on, at 100 hz, both streaming and locally recording the data, finding the peaks of the vector sums of acceleration. From the other posts I have seen regarding synchronization it appears that non-sensor fusion metrics are recommended to reduce processor latency, and that recording locally is better, as on the order of 1% of data can be lost while streaming.
The results of one locally recording experiment are shown below, with the difference between the reported elapsed times at a peak in acceleration being plotted against the average elapsed time of the two sensors. Of course some of the offset is due to different starting times for each sensor that can be easily accounted for, but there is a variance of almost half a second between when the elapsed times are closest and farthest from each other.
This drift doesn't appear mathematically easy to account for, and matches the results of the other trials I did. If posting more trials would help, or the raw data from said trials just let me know.
As for the streamed trials, the same calibration method shows a large linear offset combined with what seems to be the same variation present in the locally recorded data.
Though the linear curve appears to fit the data pretty well, the variance between the curve and actual data can be as high as half a second. Once more I am happy to post more trials or raw data from the streamed testing.
Overall is there something I am missing or are these sensors just not capable of temporal synchronization?