5198

Open-Vario is an open-source multi-function connected variometer for paragliding and hang gliding. A variometer – also known as a rate of climb and descent indicator (RCDI), vertical speed indicator (VSI), or vertical velocity indicator (VVI) – is one of the flight instruments used to inform the pilot of the rate of descent or climb. This is the key information to help looking for the thermals which will allow the glider to climb up and thus to stay in the air and allow multiple hours of flight.

Description

Open-Vario is an open-source multi-function connected variometer for paragliding and hang gliding.
A variometer – also known as a rate of climb and descent indicator (RCDI), rate-of-climb indicator, vertical speed indicator (VSI), or vertical velocity indicator (VVI) – is one of the flight instruments used to inform the pilot of the rate of descent or climb. This is the key information to help looking for the thermals which will allow the glider to climb up and thus to stay in the air and allow multiple hours of flight.

Along with variometer functionality, Open-Vario provides the following features:

  • GNSS positioning
  • Accelerometer
  • Temperature
  • Glide ratio computation
  • Flight data recording (altitude, speed, position… for up to 40 hours)
  • Local HMI to display sensor and flight data
  • BLE link to configure parameter and read real-time flight data values
  • USB OTG link to connect to the XCTrack smartphone application
  • USB device link to connect to PC python tools to export recorded flights

The Open-Vario device is based on the STM32WB5MM-DK discovery kit on which additional sensors have been added to get GNSS and barometer data.

Hardware

The Open-Vario hardware is composed 4 COTS boards powered by a compact USB power bank:

  • STM32WB5MM-DK Discovery kit from ST
  • Arduino UNO click shield from Mikroe
  • GNSS 4 click module from Mikroe
  • Altitude 2 click module from Mikroe
  • vPow power supply from Vida IT

By leveraging the Arduino UNO connector of the STM32WB5MM-DK Discovery kit, no soldering nor flying wires are needed to build the hardware.

Since Open-Vario is meant to be used during paragliding flights so the total volume of the assembly is reduced and the Arduino shield connectors guarantee that the connections between the boards will be failure proof even when the whole assembly will be put in motion.

Software

The Open-Vario software is open source and distributed under the MIT licence written entirely in C++17 language.

The software has been designed to be easily portable on other hardware than the one used for this demo project.

It is based on the following 3rd party libraries:

  • FreeRTOS : Operating system
  • little-fs : Tiny failure proof filesystem 
  • YACSGL/YACSWL : Graphical library
  • STM32HAL, STM32WPAN and STM32USB librairies

The build system is CMake based and a docker file is provided to quickly setup the build environment.
The current memory usage is relatively small and lets plenty of space for future improvements.
With all optimisations disabled and ready for debug :

Memory region         Used Size  Region Size  %age Used
           FLASH:      151494 B       512 KB     28.90%
             RAM:       43928 B     196600 B     22.34%
      RAM_SHARED:        2643 B        10 KB     25.81%

Need more info?

Look at the attached PDFs:

  • Presensation.pdf : Full description of the device and its interfaces
  • Software design.pdf : Software source code explained (build system, architecture...)
  • Hardware design.pdf: Deeper description of the hardware

Look at the source code: https://github.com/open-vario/open-vario

What's next?

  • Improve sink rate and glide ratio computation: more tests during real flights must be done to adjust the filters used for the computation. The current ones are too simple and the values are sometime not enough accurate
  • Save sink rate and glide ratio into recorded flight files
  • Add export of recorded flight using BLE
  • Add other export format than KML for recorded flights
  • Work on low power modes to reduce the power consumption at run-time
  • New hardware platforms