Choosing a Screen for Your Embedded Product
Not all devices require screens. Some rely on web-based user interfaces or smartphone apps for control and interaction. But if your product needs a built-in screen and you need to decide which to get and what to do with it, the rest of this blog is for you.
Elaborate or plain?
It’s important to choose the right graphics capabilities for your device’s UI – especially if you need advanced features like smooth animations, high frame rates, sophisticated rendering, and high-resolutions. Managing these countless pixels often means offloading a lot of the rendering to a GPU in order to enhance performance and ultimately improve the overall UX. In some cases, you might also need dedicated display memory for bigger or more vibrant displays with max color depth.
Ultra-powerful smartphones continually raise the public’s bar on UI expectations, which in turn drives a need for better graphics capabilities. Make sure your hardware can handle both increasing customer expectations and your product’s future requirements. Older GPU technology and limited memory bandwidth can severely restrict the performance of even simple interfaces on high-resolution displays. In such cases, even extensive software optimization may only yield limited improvements. Investing in better GPU capabilities now can provide future proofing against growing UI demands.
3D or not 3D, that is the question
Most user interfaces don’t need anything more than 2D. And a lot of 3D can be simulated with pre-rendered images or 3D-like design elements for those that do. However, certain devices such as manufacturing equipment, 3D printers, medical equipment, or CNC machines can benefit significantly from 3D visualizations. Applications for these devices often require rendering complex 3D scenes, potentially involving up to 250,000 triangles (or more) and requiring high refresh rates and larger screen sizes. This places substantial loads on the GPU, CPU, and memory pipeline. Many embedded processors can struggle with these demands. It’s advisable to test several evaluation boards with a prototype of your application to identify the most suitable hardware. Consulting with experts who have experience in 3D rendering on various platforms can also provide valuable insights into making the right hardware choice for 3D capabilities.
Finding the right screen
The appropriate screen for your device depends on its intended application. Characteristics such as refresh rate, temperature range, contrast, and visibility are crucial and vary significantly based on the environment – whether it’s a round-the-clock industrial controller or a handheld device used outdoors in sunlight.
For portable devices, power consumption is also a critical factor. Different display technologies have varying impacts on battery life. For instance, while OLED screens offer vibrant colors and don’t require a backlight, they typically consume only slightly less power than standard TFT LCD screens and may have shorter lifespans, which could be a drawback. On the other hand, ePaper displays excel in power efficiency with minimal current draw but are limited in color range, resolution, refresh rate, and overall readability under certain conditions.
Finding the right GUI framework
Opting for an established graphics framework is more efficient than developing a custom one. The choice of framework should match your project’s needs – whether you require comprehensive support for multiple operating systems and programming languages or prefer something more specialized for web and mobile applications. What should you look for in your GUI framework?
- Cross-platform compatibility: Frameworks often support different ranges of platforms. Understanding whether your application needs to run on a microcontroller, embedded board, desktop, web, or mobile can help you narrow down the options.
- Graphics requirements: Consider the complexity of the graphics you intend to display when making your choice. Frameworks have different levels of support for controls, layout, visualization, dialogs, drawing, animation, and effects.
- Programming environment: Ensure the framework offers solid support for your development language, with native APIs or well-integrated bindings.
- UI flexibility: If your product requires multiple screen types or sizes, or needs to seamlessly switch between separate sub-applications, select a framework that can naturally accommodate these features without customization.
Choosing the right framework involves balancing many factors so it can support both consumer and technical requirements. Several frameworks are well-suited for embedded, web, or desktop development. For a list of some we recommend, see our Best Practices guide on screens.
If you like this article and want to read similar material, consider subscribing via our RSS feed.
Subscribe to KDAB TV for similar informative short video content.
KDAB provides market leading software consulting and development services and training in Qt, C++ and 3D/OpenGL. Contact us.