In this blog post I will look at how easy (or not) it is to get started with the MTi-680-DK development kit. Although the Roadtest page for MTi-680-DK has several relevant resources linked to it, I will initially assume that page does not exist and start with the information included with the kit and on the Xsens website. My purpose is to see how intuitive the kit design and software packages' GUIs are. The documentation will be looked at afterwards.
Installation:
As noted in the previous unboxing blog post, when you lift the box flap, a getting-started message appears on the inner side of the flap.
The get-started link is:
The linked webpage has a very simple interface, which can be accomplished in 4 steps:
Step1: Choose your product: I chose Xsens MTi
Step2: Download: I chose Windows. This started a 537MB executable download
Step 3: Register: I used my info for registration. The webpage promises approx 6 notifications per year and single-click opt-out.
Step 4: Install: You land on the final page with links to MTi Manager manual as well as links to the documentation. Very good!
At this point my executable had finished downloading so I double-clicked it to install. The setup told me the current version (2021.4) needs 1.66GB. After agreeing to the terms, you come to the feature selection page, which by default has everything selected.
I went with the default. And this started the installation. Nice, brief installation sequence
The installation itself took only a few minutes. There were a few popup dialog boxes asking if I trust the drivers from Xsens. Good thing is that the software and drivers all seem to be digitally signed, so no drama here.
MT Manager, Xsens Firmware Updater
After the installation is complete, the MT Manger can be lanuched from the windows program menu.
Although the webpage encountered at the end of the process discussed previously gives a link to the documentation, as mentioned earlier, I wanted to first play around with the MT Manager software WITHOUT reading the documentation. The purpose was to see how intuitive the software interface is.
I installed the MTi-680 on to the daughter card, connected the provided GNSS antenna to the SMA connector on the GNSS module, and connected the kit to my computer with the provided USB-micro cable. Then, I launched the "MT Manager" software. After giving the correct COM port number (from Windows device manager), i clicked "Scan Single Port" icon and it connected automatically to the device without any drama. Infact, I noticed afterwards that if the USB is connected before launching the MT Manager, then the software automatically scans all the available COM ports and opens the correct COM port automatically. This is a small little nice feature to save the user from specifying the correct COM port every time.
After opening the MT Manager software, and seeing that the Development Kit was found by the software, first of all I wanted to see if there are any firmware updates available for the device. I found it easily under the menu items:
Help -> Updates -> Download Firmware updater
This downloaded a zip file, which i opened to start the installation of the firmware updater. This needed 35MB of space.
I proceeded with the defaults. The installation took less than a minute to complete.
I noticed an issue after this whereby the firmware updater failed to detect my Xsens device.
The program stayed stuck at "Scanning for devices..please wait". I wasn't able to cancel it either, and had to eventually close it using the Task Manager. I tried this ~ 10 times, with computer restarts in-between and both with/without the "MT Manager" open. It got stuck at the same place every time. I will try to repeat this on a different computer.
UPDATE 06 OCT 2022: I found a fix for this issue in the Xsens knowledgebase at the link below:
https://base.xsens.com/s/article/Firmware-Updater-freezes-while-scanning-for-devices
I checked the "Download Only" option and was able to verify the latest available firmware version for the MTi-680 device.
1.8.0 is the same firmware version on the calibration certificate that came with the device, and can also be seen from the MT Manager.
View -> Device Settings
It can also be seen under the device information in the "Device List" view
Btw, after installing the Firmware updater, following is everything I see under Xsens in my Windows Start Menu:
I briefly tried the "Magnetic Field Mapper", which is a utility for recalibrating the compass. I was able to get started with it in less than a minute and found it very easy to use. However, I plan to come back to this in a later blog post when we try to recalibrate the compass.
There are also SDKs for integration of the Motion Tracker as well as SDK for magnetic fied mapping, which I plan to explore further in a later post.
I have "played-around" quite a bit with the MT manager application over the past several evenings. I found the user interface of the MT Manager to be generally easy to use and with some prior knowledge of INS/GNSS modules, I was able to find my way around the settings, views etc. I was able to see my device's orientation, position, sensor data very quickly and easily by opening the device settings and enabling those relevant types of data in the data outputs, and then clicking the view windows for those types of data from the Icons on top (or the "View" menu item inside the menu bar). I also noticed that if the module is configured to not output certain data types, then the relevant views are greyed out. Once those outputs are turned on, the view become enabled. I liked this small, intuitive detail in the UI design.
One thing that I was really pleased to see is how configurable the output settings are. Take a look at the following screenshot of Device Settings window:
Before I received this kit, I was really hoping that the kit not only gives the fused/processed outputs (orientation, position etc) from the device, but also enables getting the raw outputs from the device. This is really helpful if you are building your own sensor fusion algorithms in any capacity (academic, industry etc). This way, you have the raw data that you can process through your own algorithms, and as a bonus you can also compare your output with those coming from the module (which should serve as a very decent benchmark). Looking the device output options, you can notice that not only can you get the most processed/fused outputs (for example the "Orientation") but also the raw inputs (for example the Rate of Turn, Acceleration, etc). Not only this, but you can also set the output format and the sample rate for each type of output. This is really good, and it should make the device suitable for a much wider audience!
On top of this, I was also very pleased to see that Xsens makes the calibration/modeling parameters available for advanced users to refer to, under the Device settings:
On the other side, there are a few things I have noticed that I think can be improved in the MT Manager software:
1. Although the icons in the MT Manager have tool-tips that tell the function of each icon, that's mostly as far as the help goes within the GUI (without going to the documentation). If you open the "Device Settings" window, for example, the UI does not offer any help or explanations on what the various options do, which I think leaves a very good opportunity for improvement. I would suggest adding more detailed tool-tips or small info icons "(i)" besides the various options with some details on the function, so that the user can understand most of the options without having to look up the documentation. I have seen this in the GUIs for evaluation kits from MPS, and I have written about it in my review of their evaluation kit, which really left a mark in my head about the user-friendliness of their software. As an example, a screenshot of one such case from the MPS Evaluation kit software is as below:
2. It's not always crystal-clear what the exact function of each button is. For example, let's look at the buttons on the top-right side of the MT Manager's Device Settings window
When I was about to press the "Apply" button for the first time, my thought was that this will send the new settings to the module's volatile memory, and only if I press "Save Settings" will it save the settings in the modulee's non-volatile flash. It turned out I was wrong, as the "Apply" button does both, and "Save Settings" is for saving the settings to a file on the computer. Similarly, at a later time I made some changes to the settings in the interface which I wanted to un-do. I thought the "Revert" button will revert the user-interface to the settings that were previously saved in the module. However, once I pressed it, it turned out that it reverts ALL settings to the factory defaults. It would be better to slightly change the button labels to make these things more clear (e.g, "Revert to Factory defaults" instead of "Rever", or putting small (i) "info" icons next to buttons and putting the function in the description.
3. "Restore communication" option didn't seem to work for me. Apart from just wanting to try it, there was another reason I needed this: When I turned on several outputs at once, the output baud rate became insufficient for all the data at the specified data rates. This is as expected. So I thought of increasing the interface baud rate to a higher baud rate (default is 115200bps). However, I was afraid that if, for any reason, there is an issue establishing connection at the higher baudrate, I need to have a way to bring it back to default datarate. For this reason, I tried the "restore communication" option. However, I couldn't get it to work. I made sure I was specifying the correct port COM port number, and followed the disconnection/connection sequence as specified in the dialog box. I tried this several times.
UPDATE 21-Sep-22: Ok, I found the issue and managed to get it to work.The main thing is that, for the "restore communications" feature to work, the USB-UART needs to be sending a specific sequence on the UART lines while the MTi-680 is initializing during power up. For this to happen, the USB-UART needs to be enumarated and operational before the Xsens module powers up. Otherwise, by the time the USB-UART will initialize after connecting to USB port, the module will already have finished its init sequence. So, instead of removing the USB-UART from my computer's USB port (as I was doing previously), I let the USB-UART stay plugged-in, and disconnected the Xsens module only. Then, after pressing "Start", I plugged in the module back on the USB-UART connector. The "Restore Communications" window still did not show any indication that the process was successful (I tried this twice!) but afterwards when I closed the window and re-scanned the COM port to connect to the module again, I saw that the module was now back at 115200 baud rate, which is the default value.
4. I noticed a small bug(?) whereby, if I change the UART baud rate to any value more 115200, the "Device List" view still shows 115200 as the baud rate in the properties, even though I confirmed (from the "Device settings" window as well as checking the successful scan baud rate) that the module had indeed moved to the new (higher) baud rate.
The same was not the case if i changed to a baud rate slower than 115200 though. I closed and re-opened the MT Manager also during the process to see if that fixes it, but it didn't. Reporting it here so it can get fixed.
As i use the MT Manager more, I will try to come back and update this blog post if I find any more issues or suggestions for improvement.
In the next blog post I plan to experiment with and write about the performance of the module. Thanks for reading and Stay tuned!