Perun - Automotive Dashboard

We built an extensively animated HMI demo for a car cockpit using both Qt and Kotlin. The project was deployed on both Android OS and a custom Yocto Linux system.

Qt frameworkYocto

About the demo

DOMAIN

Automotive / embedded HMI

TECH STACK

Qt6 · QML · Kotlin Jetpack Compose · Yocto · Android

TARGET HARDWARE

Toradex Verdin iMX8M Plus

SCOPE

Embedded GUI Development | UX/UI Design | Cross-platform comparison

Perun is a car cockpit HMI our team built in-house, implementing the same instrument cluster twice — once in Qt6/QML on custom Yocto Linux, once in Kotlin on Android — to support our Qt vs Android whitepaper.

Engineering challenge

  • Building the same automotive HMI twice while keeping visual and behavioral consistency across both.
  • Building the OS stack for both targets - compiling a custom Yocto Linux image and the Android build - to run the same HMI on each.
  • Optimizing both apps and operating systems carefully, so the Qt vs Android comparison stayed fair and meaningful.
  • Drawing almost every visual element from scratch - custom gauges, masked level indicators, animated paths, styled widgets - with no off-the-shelf controls.

Application Key Features

The speedometer combines an animated analog needle with a large digital speed readout, giving the driver clear feedback at a glance. The illuminated scale responds dynamically to the current speed, while the gear indicator provides additional driving context in the same compact view.

The Vehicle Status screen presents a top down overview of the vehicle, showing simulated door and trunk status, tire pressure, battery condition, and engine temperature. Indicators animate as the simulated data changes, including open and closed doors and OK or NOK system states, providing a clear view of changing vehicle conditions.

Sixteen status and warning indicators surround the central speedometer, covering driver assistance, safety, lighting, and vehicle systems such as cruise control, lane keeping, ABS, and more. Driven by simulated real world data, the indicators dynamically reflect active states, warnings, and faults, while illuminated turn signals provide clear directional feedback.

The Power and Energy section visualizes simulated real world vehicle data, including power output, energy usage, battery charge, driving range, and charging status. Animated masked meters show live kW and kWh values, while the battery indicator combines remaining charge percentage with estimated range.

The Navigation Panel displays the planned route as a dynamically drawn path, with an animated vehicle marker showing progress and direction along the journey. It also presents key trip information, including remaining distance, elapsed trip time, and estimated time to destination.

Development insights PDF

This application was developed in both Qt and Android (Kotlin Jetpack Compose) to evaluate how the two platforms perform under identical conditions. Results are exciting.

Explore the full whitepaper to compare each stack across development effort, UI responsiveness, resource usage, and real-world implementation trade-offs on embedded hardware.

  • Based on real benchmarks
  • Full of numbers, not opinions
Read the Qt vs Android Whitepaper

Sneak peak of the performance metrics

59 FPS, stable

Steady ~59 FPS versus ~32 FPS on Android, on identical hardware - smooth transitions with no visible stutter.

34% CPU usage

Qt held average CPU at ~34% vs ~41% for Android - leaving more resources for other tasks, including safety-critical ones.

10s to full boot

Qt on Yocto showed the cluster in ~10 seconds. Roughly 4× faster than the ~40s Android build. Critical where a display must come up almost instantly.

109 MB memory

A ~109 MB footprint against ~161 MB on Android. On a fleet of devices, every megabyte drives hardware choice and cost.

Supported platforms

  • Verified and tested on: Toradex Verdin iMX8M Plus, NXP i.MX 8M Plus Applications Processor, Quad-core Arm Cortex-A53 @ 1.8 GHz + Cortex-M7 @ 800 MHz
  • Android OS and custom Yocto Linux image
  • Any Qt6-capable embedded Linux board with an OpenGL-capable display driver
  • Any desktop platform (macOS / Linux / Windows)

Custom Figma design

Every element of the Perun dashboard was designed in-house in Figma - a visually rich, dark-themed cluster built on layered gradients, soft shadows, glowing indicators and fluid animated transitions. Getting these effects to render sharp and smooth on embedded hardware is where design and engineering meet, and it's exactly the kind of polish our team delivers end to end.

We offer UI/UX design as a standalone service, tailored to your product, brand and hardware.

CONTACT US

Now let's talk about your project

Lukas Kosiński

Lukas Kosiński

Chief Executive Officer

We'll address every query and pinpoint
the ideal strategy for your project's success.

Fill out the form, and we’ll get back to you shortly.

The administrator of the personal data is Somco Software sp. z o.o., 13 Gen. Ottokara Brzoza-Brzeziny St., 05-220 Zielonka, KRS: 855688. The personal data are processed in order to answer the question contained in the contact form. More information, including a description of data subjects rights, is available in the information clause.