6 min read

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

Topics:
Featured Image

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, this decision can influence and constrain future decisions.  

It's also essential to consider the implications of the graphical user interface (GUI) development software you choose to use on the hardware.  You need to ask your embedded GUI software vendor if the application you create with them will scale across their (or other) hardware with ease at a later date. Some software companies restrict this to the same processor family — this is often the case with free GUI builders included with the hardware.

Mapping out a migration path for potential hardware changes 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.

Comparing Crank Storyboard on an MCU and MPU

One of these embedded GUI demos runs on an MCU, one on an MPU — can you spot the difference in graphics?

 

Design your MPU or MCU GUI while planning your product's future

Storyboard, our embedded GUI design and development software, was designed to be platform-agnostic, which means all applications created work with a wide variety 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 worrying about the particulars of the intended platform. Should you want to move to an MPU or MCU at a later stage, your choice will never be limited just because the GUI cannot be transported over.

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

How Storyboard streamlines scalability and migration across MPU & MCU 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 application on specific hardware. 

Storyboard uses a fixed data model to represent the GUI, not generated code. This means the same 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, including memory, graphics pipeline, and any peripherals. 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's not tied to a specific 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.

A Storyboard-created application can easily scale up to an MPU as well, supporting product owners that wish to modernize their user experience (UX), increase the feature complexity, input modes, or power of their MCU-based GUI.
 

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 MPU 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.

How Alliance Laundry scaled their industrial GUI applications

Alliance Laundry Systems is a world-class manufacturer of commercial laundry solutions for premium markets, including hospitality, healthcare, industrial, residential, and military. To modernize the UX for their washer-extractor and tumble dryer products, they turned to Storyboard and our Professional Services team to develop a common UX style guide and implement their GUI applications.

Alliance runs Storyboard GUIs in two configurations of the NXP i.MX6 platform, Linux and Segger embOS, and on two screen sizes, 5” and 7”. They also use a dynamic feature approach, where code for multiple use cases is contained in one Storyboard runtime that’s configured based on deployment.

Alliance Laundry Systems IPSO and Primus UX comparisonExamples of scaling UX design across different Alliance brands

To read the details of the Alliance project, check out our full case study here.

Embedded graphics for the STM32 processor series

At a recent Embedded World, we showed our 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, speaks about the rich GUIs that are available across this varied portfolio, and explains how GUIs built in Storyboard can be moved with ease across ST’s wide range of microcontroller products, from the high-performance STM32H7 MCU (get the downloadable demo image here), to the powerful STM32MP1 (download the demo image here).

Garry Clarkson discusses Storyboard GUIs built for the STMicroelectronics product range

In these highly visual GUI examples running on STM MCUs and MPUs, Storyboard was used to ensure the GUIs take advantage of hardware capabilities, whether it be 3D acceleration, Chrom-ART Acceleration, or DMA 2D acceleration and Chrom-ART.

In all cases, the GUI demonstrates the capability and richness that comes from the level of optimization built into the Storyboard Engine.

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

Based on the Arm® Cortex®-M processor, the dual-core STM32H7 adds to STMicroelectronics' lineup of powerful 32-bit MCUs, combining very high performance real-time capabilities, digital signal processing, low-power/low-voltage operation, and connectivity. The onboard Chrom-ART Accelerator and JPEG codec ensures that brilliant graphics are always displayed — by offloading the CPU by more than 90% in most cases.

As Storyboard is platform-agnostic and OS-agnostic, any GUI developed using our 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 functionalities.

If you're considering using the free STM32 GUI builder and graphics software that is readily available to STM32 customers, be aware that your GUI application will be constrained to only work within this MCU family, and not MPUs. With Storyboard, this limitation is removed as GUIs can easily be modified to work on the STM32MP1, or migrated to another platform entirely.

Read more about the things to consider when evaluating Storyboard versus the TouchGFX STM32 GUI Builder in this blog post

To try Storyboard for yourself, check out our free trial now:

New call-to-action