Qt Quick Ultralite Motorcycle Cluster Demo

Demonstrates integrating QML and C++, and handling multiple variants of the same design.


The application demonstrates a Motorcycle Instrument Cluster supporting two different screen configurations: 800x480px and 720x1280px (rotated). It's possible to switch between configurations using the SIZE_VARIANT cmake variable.

For example:

cmake .. -DSIZE_VARIANT=small

Setting this variable to small will produce binaries supporting a resolution of 800x480px. Setting it to big will produce binaries supporting a resolution of 720x1280px. The big variant is rotated by 90 degrees, for example to accomodate a display natively orientated in portrait mode.

If a platform has enough storage, the application can have a start-up animation with image sequences. The intro variant enables the animation, so its .qmlproject file lists the image files for the animation. Refer to Resource properties and Resource properties for sprite animation sections which explains how to manage resource for image sequences.

The demo shows how to connect a C++ simulation backend to the QML user interface.

The application contains:

  • start-up animation (only in intro variant)
  • welcome animation
  • driving cycle
  • goodbye animation
  • day mode (only in small variant)
  • navigation with keyboard (only in small variant)
  • warnings (only in small variant)

Target platforms

  • MIMXRT1170 (big variant)
  • RH850-D1M1A (small variant)
  • STM32F769i-discovery (small and intro variant)
  • Infineon TRAVEO™ T2G (small variant)


Start-up animation

Night Mode

Day Mode




Available under certain Qt licenses.
Find out more.