How to design an embedded GUI for future migration between MCU and MPU

When designing an embedded system with an MCU, one of the hardest tasks for an engineering team is deciding on the type of “brains” their new electronic product really requires. While there are really only two (and some in between) choices to choose from, the decision made can influence (and constrain) future GUI decisions.  
It is also essential to consider the implications of the graphical user interface (GUI) development software you choose to use on it. You need to ask your embedded GUI software vendor if the GUI you create with them will scale across their (or others) hardware with ease at a later date. Some software companies, usually the free ones included with the hardware, restrict this to the same processor family. 

Mapping out a migration path for potential hardware change is critical to ensuring a longer life for your product, and ensuring you make the right hardware and GUI software decisions. Fortunately, you have options.

Design your embedded GUI while planning your product’s future

Storyboard, Crank’s embedded GUI design and development software, was designed to be platform-agnostic, which means all applications created can work with an extensive selection of hardware platforms. Even then, its rendering engine is automatically optimized for the specific features and hardware capabilities of the hardware selected.

This means you can focus on building the richest, most modern and user friendly, graphical user interface for your product, without having to worry about the particulars of the intended platform. It also means that should you want to move to an MPU or MCU at a later stage, your selection will never be limited just because the GUI cannot be transported over.

Any Storyboard-built GUIs are capable of scaling with changing product requirements, whether it be onto different hardware, or with a different operating system, with minimal effort. 

So how exactly does Crank Software and Storyboard provide this ease of scalability and migration across MCU and MPU platforms?

The ease at which you can support multiple platforms is a direct result of the way Storyboard is architected; it was purpose-built to maximize the performance of each GUI on specific hardware. 

Storyboard uses a fixed data model to represent the GUI, not generated code. This means the same (GUI) application model can be used across multiple platforms using specific-built runtimes that have been optimized for the features and hardware specifics of the platform. The model itself is event-driven and uses a well-defined API between the GUI and the event/messaging system native to the deployment platform, meaning it is not tied to a specific platform environment.

Furthermore, the Storyboard Engine is based on a modular plugin system, such that only the required components are included in the final system configuration for deployment. Not only does this reduce the application’s footprint, it allows the development team to scale functionality down for systems with minimal memory and CPU resources, such as those found on a typical MCU platform.

For product owners that wish to modernize their product, and perhaps increase the complexity, input modes or power of their MCU-based product, this means their Storyboard-created GUI can easily scale up to a MPU with minimal effort required to port it over to the different platform. 
Similarly, for manufacturers looking to take advantage of the more cost-effective MCU, or cross-over MCUs now available, they can be confident that their Storyboard GUI will be capable of being ported over with minimal disruption to existing development cycles. Design changes, if required, can also be done quickly and easily, ensuring that the desired user experience across their product line remains consistent and brilliant.

Embedded graphics for the STM32 processor series

At Embedded World earlier this year, Crank showed their booth visitors the GUI potential for those looking to build on platforms across the STMicroelectronics STM32-bit Arm Cortex MCUs and STM32 Arm Cortex MPU series.

In this video, Garry Clarkson, Crank’s Field Applications Engineer, talked to the rich GUIs that were available across this varied portfolio, and explains how GUIs built in Storyboard can be moved with ease across ST’s wide range microcontroller product portfolio from the high performance STM32H7 MCU, right up to the powerful STM32MP1.

In both these highly visual GUI examples running on the STM MCUs and MPUs, Storyboard has been leveraged to ensure the GUIs created take advantage of hardware capabilities, whether it be 3D acceleration, Chrom-ART Acceleration, or at the lower end – DMA 2D acceleration and Chrom-ART. In all cases, the GUI is demonstrating capability and richness that is unexpected due to the level of automated optimization that has occurred.

Advanced graphics for the dual-core STM32H7 MCU (with flexibility to scale beyond the MCU family)

Based on the Arm® Cortex®-M processor, the new dual-core STM32H7, the latest in their lineup of powerful 32-bit MCUs, combines very high performance, real-time capabilities, digital signal processing, low-power / low-voltage operation, and connectivity. The onboard Chrom-ART Accelerator and MPJEG codec ensures that brilliant graphics are always displayed – by being able to offload the CPU by more than 90% in most cases.

Storyboard is platform-agnostic and OS-agnostic. Any GUI developed using the Crank software is compatible with the majority of hardware platforms, families of processors within the vendors portfolio, and OS options that go along with them.

With the Cortex-M7 able to handle audio and generate rich graphics, and the Cortex-M4 running the Real Time control tasks, embedded GUIs built in Storyboard will always be of high resolution due to these added acceleration functionality.

If you are considering using the free STM32 GUI builder and graphics software that is readily available to STM32 customers, be aware that if you are looking to scale your product, your GUI app created will be constrained to only work with the MCU family, and not MPU. With Storyboard, that is not the case as it can easily be modified to work on the STM32MP1, or migrated to another platform as discussed above.

Would you like more information on this subject? Please contact us.