Developing with Microcontrollers: At-a-Glance Reference
Microcontrollers are transforming consumer goods, industrial automation, infrastructure and more — essentially reshaping how we interact with the world around us. Exciting stuff! Let me share with you some of the capabilities of Qt for MCUs, as well as offer an at-a-Glance reference. It’s a great resource if you’re considering incorporating microcontrollers into your next device.
Qt for MCUs
This latest offering from our partner The Qt Company, addresses a real need in the marketplace for sophisticated development tools and frameworks that are still in their infancy in the MCU world. Qt for MCUs is a complete graphics framework and toolkit with everything you need to design, develop, and deploy GUIs on MCUs. Run your application on bare metal or a real-time operating system. A new release of Qt for MCUs is available here.
An important point to note is that the minimum (currently) supported MCUs by Qt are well, quite large by MCU standards. For example, the table below summarizes the supported NXP and STM supported platforms, as well as some more common MCUs you might have come across. (And since this table was created, The Qt Company has added support for even more MCUs.)
One note on the chart: these specs are complicated and it is difficult to compare apples to apples because similar items have different names depending on the manufacturer. And, of course the manufacturer continuously improves the product. If you spot an error, please let us know so that we can correct it!
Getting Started with MCUs
Microcontrollers At-a-Glance Reference
MCU | Processor Architecture | Clock (MHz) | RAM(Kbytes) | SDRAM (*) (Mbytes) | Flash (Mbytes) |
---|---|---|---|---|---|
NXP RT1050 | ARM M7 | 600 | 512 | 32 | 64+8 |
NXP RT1060 | ARM M7 | 600 | 1024 | 32 | 64+8 |
NXP RT1064 | ARM M7 | 600 | 1024 | 32 | 64+8 |
NXP RT1170 | Dual Core ARM M7/M4 | 1000(M7)400(M4) | 2048+512+256 | 64 | 16 |
Renesas RH850 D 1M1 A | V850 RISC | 160/200/240 | 512 | DDR2-SDRAM | 64 |
STM32F769I Discovery | ARM M7 | 216 | 512+16+4 | 16 | 2+64 |
STM32F7508 Discovery | ARM M7 | 216 | 340 | 16 | 64+16 |
STM32H750B Discovery | Dual Core ARM M7/M4 | 480(M7) | 1024 | 16 | 128 + 4gb eMMC |
STM32L4R9I Discovery | ARM M4 | 120 | 640 | 2 | 64 |
STM32L4R9I Eval | ARM M4 | 120 | 640 | 2 | 64+16 + 8gb eMMC |
STM32F469I Discovery | ARM M4 | 180 | 324 | 16 | 16 |
Teensy 4.1 | ARM M7 | 600 | 512 | 8-16psdram (opt) | 2+.5 |
RaspberryPi PICO | RP2040 ARM M0+ | 133 | 256 (sram) | 2 (onboard) 16 (opt offboard) | |
ESP32/Rover | Xtensa LX7 | 240 | 320 | 8 (psdram) | 4 |
STM32 “Blue Pill” | ARM M3 | 72 | 20 | 64k | |
Arduino Mega 2560 | Atmega2560 | 16 | 8 | 245k | |
Arduino Nano | ATmega328P | 16 | 2 | 32k | |
SiFive E310 | RISC-V | 320 | 16 | 8K + external |
* There are some subtle differences between RAM, SDRAM and PSDRAM in feature and function. For instance, some are “static” (i.e. values were maintained between power cycles) and while others are not. The manufacturers also often list RAM/flash that has specialized functions, hence the 512+16+4 notation.
About the Reference
The first 11 rows from NXP, Renesas and STM32 encompass the supported processors for Qt for MCUs. Pricing for the evaluation/discovery boards are pretty inexpensive and, we strongly believe a great way to get started. Of special interest is that Qt for MCU supports the low-power, generally less-capable ARM M4 platforms. These platforms, at least at a spec level, are similar to some of the higher-end MCUs likeTeensy 4.1 and ESP-32 Roover. This suggests that Qt for MCU can scale to today’s medium-priced MCUs, which no-doubt will become the low end in the next few years.
The remaining rows provide some perspective on how these boards compare to other MCUs you might have in your office or home. For example, you may come across the STM32 “blue pill” and the Arduino Mega as the main processor for a 3D-printer. In my home, my Ham radio gear runs either Arduino Nanos’ or various PIC processors.
My point is that Qt for MCU currently covers the high end (often referred to as “cross-over MCUs”), as well as the middle of the MCU curve. So future-proofing your project today with Qt for MCUs and some of these upscale MCUs is both a great technical as well as business decision.
Looking Ahead
Next up in our series we'll share insight on how to choose the right GUI framework for microcontrollers. If you missed earlier installments in our series on developing with microcontrollers, start here.