Smart “things” – whether connected to the IoT or not - are reaching into every aspect of life and work, helping ensure the smooth running of factories, businesses, cities, transport infrastructures, even our homes and our health.
Each new generation of these tiny embedded devices which include the vast increase in utility and smart meters are becoming smarter, faster, more affordable, and with extra new features that users expect to be able to understand and use instantly. That economical segment or alphanumeric display may no longer be able to deliver the desired user experience, but upgrading to a custom GUI could demand significant extra system resources. Smaller microcontrollers, although powerful and energy efficient, can struggle to run colourful graphics or fluid animations on a TFT-LCD.
What are the limitations with using a microcontroller?
Typical microcontroller-to-display interfaces are I2C/SPI, 8080, or RGB, and only a small number of high-end types can support LVDS or MIPI-DSI interfaces. This can restrict the choice of displays that are suitable for direct connection to a microcontroller, and may preclude the use of more sophisticated, high-resolution units.
In addition, many microcontrollers have only a small amount of on-chip RAM to store the frame buffer. This can limit the display resolution and colour depth that can be supported. There are other restrictions, too including CPU frequency and I/O clock speeds which we detail in white paper.
It’s not all bad news, however. Creative management of priorities can help you achieve a solution that satisfies the most important criteria while at the same time minimising trade-offs against secondary factors: for example, a colourful user interface, or exciting animations may be possible using a smaller display or lower resolution.
On the other hand, if your end-users are more likely to appreciate a large display or greater resolution – maybe for easier touch control or for reading text – you could consider fewer bits per pixel or a slower frame rate.
It’s also worth remembering that a well-coded user interface can help make the most of the available interface bandwidth and CPU cycles. Here, the choice of GUI development tools can have a significant influence.
AndersDX can help you manage the various design trade-offs, and apply high-quality development tools as well as our experience of coding sophisticated GUIs, to help you ensure the user experience will always match expectations. Get in touch for more information.