IMU Bench Test

This article should allow you to get the IMU Bench test tool set to work under Windows.

It will require:


  1. GY-87 IMU board
  2. Arduino Mini/Nano/Uno
  3. Qt Installed (this is performed with version 5.3) - Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language. Qt Creator is the supporting Qt IDE.
  4. QextSerialPort Library (local copy)A cross-platform serial port class. This class encapsulates a serial port on both POSIX and Windows systems 
  5. Flight Instruments Library (local copy) Collection of Qt4 and Qt5 widgets of flight instruments, inluding Attitude Indicator, Airspeed Indicator, Vertical Speed Indicator, Turn Indicator, Horizontal Situation Indicator and Primary Flight Display.
  6. Arduino 1.0.5 
  7. FreeIMU Libraries (local copy)
  8. Source Code for Arduino Board ()
  9. Source Code for Work Bench Application (



 Building the libraries for Flight Instruments and QextSerialPort can be done by opening the command prompt (specifically the one within the Qt Directory within the Windows Menu). Navigating to extracted directory with the libraries.



Run following commands within a Qt Environment Command Shell to generate the libraries.


          qmake [ or]


          mingw32-make release


 Once both Flight Instruments and QextSerialPort have been built the IMU Bench Test Application can be complied. The same process performed to compile the dependent Flight Instruments and QextSerialPort can performed provided the lines within the .pro defining the locations of the dependent libraries are set accordingly. These are:


win32: INCLUDEPATH += ../../qflightinstruments-20140126
win32: INCLUDEPATH += ../../qextserialport/src
win32:LIBS += ../../qextserialport/release/libQt5ExtSerialPort1.a
win32:LIBS += ../../qflightinstruments-20140126/release/libqfi.a


Once complete the dynamic link libraries (dlls) are complied they can be copied from the release directories of the dependent libraries together with the mingw32 and Qt standard dlls to the release directory of the final application. This should allow the complied application to be run without linking or memory errors. Linked is a zipped version of the final required set of compiled files for the bench test application. This should allow the reader to download the application and run it without performing any of the above steps. However it does not allow the reader modify the application.

 Programming the Arduino Board:

 Next the steps require programming the Arduino Board using Arduino 1.0.5. Once the Arduino system is installed, the FreeIMU libraries needs to be download and installed. This is simply done by copying the libraries directory within the zip file to the Arduino Install Directory.

The Arduino Application should then be started and the linked sketch download opened, complied and uploaded to the micro-controller. A screenshot of the Arduino Sketch is shown below.



The microcontroller should then be wired to the GY-87 Boards as prescribed in the below table and shown in the below picture.














The Bench Test Application can then be started. The serial port the microcontroller is connected to can then be set within the application. The collect button can then be pressed.  For some unknown reason at the moment, sometimes the send command is required to activate the unit. The below picture shows a screen shot of the application and the video shows the application in use.