Qt for MCUs – Qt Announces support for Microcontrollers

Orange Pi Development Boards

[Update August 24, 2019: Added information about expected release date and license]

About Qt for MCUs

Qt for MCUsQt- The well known opensource toolkit for creating graphical interface announced their new release: Qt for MCUs, targeting MCU’s. The new graphical toolkit will be capable of running on devices without operating system.

This may be a game changer in the entire MCU world, since Qt for MCUs allows developers to create fluid user interfaces on cost-effective micro controllers. This means we will be able to see smartphone like GUI’s which are running on low-end  MCU’s with limited resources. With reference to their press release, assuring that Qt-GUI will consume less power to save the battery life.

Qt for MCUs Software Stack

QT_TitleImage1While developing any applications for MCU,  developers still can use their powerful declarative UI language QML and rich set of ready-made Qt Quick controls.  And the C++ APIs, helps the user interface with C++  based back-end.

applications are being rendered by Qt’s optimised graphics run-time with low memory foot print. This makes Qt for MCUs capable of running on resource constrained devices. This new run time engine allows the application to run directly on the processor without an operating system.

Providing Qt Quick Control 2 along with Qt offers features to start the development with Qt for MCUs. Qt’s design and development tools – Qt Design Studio and Qt Creator  will support development on the new graphical toolkit.  The Qt team is also ensuring that the current users of Qt can continue using their existing workflows to develop applications for micro-controllers.  You can  download demo binaries and try them out with a supported hardware platform.

Qt for MCUs Hardware Compatibility

Currently, Qt for MCUs is specifically developed for Arm Cortex-M microcontrollers, with a limited set of tested hardware platforms, mentioned below.

A thermostat demo can run on NXP I.MX RT1050-EVKB with the following specifications and resources consumed.

  • Screen Resolution of 480×272, Color -16 bit
  • Frame Rate 60 FPS
  • SRAM Used 1625 KB
  • FrameBuffer 522KB

As demonstrated by the videos published by the Qt team, a GUI developed with the graphical tookit  is capable of running on somewhat low-end hardware.

The company targets a mid-September release for the evaluation version to be available for download, and it will be licensed under a commercial license.

References

Support CNX Software - Donate via PayPal or become a Patron on Patreon

15
Leave a Reply

avatar
4 Comment threads
11 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
FrugidorwillySiji SunnyBumsik KimBernard Xiong Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Member

” very low-end hardware” really?! a Cortex M7 CPU is low end…. ?! And the demo is very responsive! Lololol

willy
Guest
willy

This must be sponsored by CPU vendors to force users to move from MCUs to CPUs just for their graphics capabilities. Because personally I found the video an excellent argument AGAINST using this on a low-end CPU! For anything other than week-end projects, it seems definitely better to develop something lighter in-house and make substantial savings on hardware costs!

Jean-Luc Aufranc (CNXSoft)
Admin

I’ve just noticed the video was made in June. I’ve changed the video to a more recent one, and it looks much smoother.

Member

Yes now the demo is more responsible and polished ( they chose wisely what to show this time…) Anyway, an M7 Cpu is not low end… at least in my book.
They should take some lessons from the crappy devices(with GUIs and touch) that china sells with much weaker Cpus.
Anyway using QML in a deeply embedded device make me shivers, maybe I’m just too old school ….

Bumsik Kim
Guest
Bumsik Kim

Come on…It just has started. Since it is just ported to MCU from Linux it is natural to start with M7.
Also, Qt promise QML will be a compiled language in the future release (take a look at Qt6 loadmap), making it much more native. So let’s see.

Bernard Xiong
Guest

If it’s a compiled programming language, it fails. The reason why script is a script language is that they don’t need to be compiled for ease of use.

Bumsik Kim
Guest
Bumsik Kim

Of course they said it will be optional.

Frugidor
Guest
Frugidor

That’s an argument for a language for web sites… not for a language for UIs on embedded devices. For the latter, the overwhelming majority of developers WANT it to compile. Besides, even after the introduction of compiled QML, you can still use interpreted QML (or, the more likely case, interpreted just during development… and then compile it for release as you probably don’t want qml files dangling there).

willy
Guest
willy

Yes, way better. At least now they enumerate some requirements. From quarter a megabyte of SRAM to 2 MB. Definitely not low-end though, I’d rather call these SoC. I’ve run a linux-based internet gateway on a PC with 1.6 MB of RAM in the past, I’m sure I won’t do it on an ATMega328 which I rather consider a mid-low end MCU 🙂

Bob
Guest
Bob

If they can run this stack on a little Kendryte K210 or a cheap iot soc, it’s very promissing.
For hobbyist, hard to be competitive with a cheap android for GUI with BT or wifi connectivity (with QT5).
Glad my teacher say long time ago : learn QT, it’s future and it’s a good pratice to learn c++, thanks bro 😉

Member

I don’t know what you people are complaining about. To me this is one really cool thing. Sure it’s not that low end and it’s more like SOC and stuff but seriously , you can buy these for dirt cheap probably so if you really want a GUI it’s not that much or an issue. Unless of course you’re looking at power requirements and want to go lower with those but then you don’t want Qt anyway.
Really happy to see this, I think it opens up some new possibilities and I might even use it one day.

willy
Guest
willy

You probably didn’t see the first video. It was basically not working (1 second response time is not what I call working).

txf
Guest
txf

Those are really high end microcontrollers. But fairly low end in terms of hardware these days.

The question is given the cost of these boards for the average application, surely it would be easier to run the app on a SBC and pair it with a low end microcontroller for the real time tasks.

Graphical tasks would be handled by the SBC running full fat Qt quick.