HMI Smart Display Solution
Introduction
With the vision “One Screen, Unlimited Dimensions”, Ameba introduces a full-scenario HMI smart display solution, including flagship HMI SoC series like RTL8730E, RTL8720F. These solutions empower manufacturers to create intuitive and efficient human-machine interfaces, meeting diverse smart display needs across industries. Whether enabling “whole-home control via one screen” for smart home hubs, color display upgrades for refrigerators/ovens/washing machines, or interactive innovations for medical monitors/industrial PLCs/children’s educational devices, Ameba provides full-stack solutions from chips to systems to cloud services, helping brands develop highly competitive user-friendly smart terminals.
Core Features
Multi-interface Compatibility: Supports MIPI-DSI, RGB, and SPI display interfaces
Advanced Image Processing: Built-in high-performance graphics engine for seamless data visualization
Immersive Display: Enables high-definition data visualization
Multi-modal Interaction: Combines touchscreen, physical knobs, and AI voice control via microphone arrays
Universal Connectivity: Integrated multi-protocol gateway for smart device interoperability
Application Scenarios
Smart home control panels
Appliance display terminals (major/small appliances)
Medical health devices
Industrial control terminals
Educational electronics
Display Interface
- MIPI-DSI
MIPI-DSI is a high-speed serial interface commonly used on high-resolution and high-refresh-rate LCD displays. The RTL8730E features multiple advanced capabilities in hardware interfaces and graphics processing, supporting MIPI-DSI interface with output capability of 24-bit RGB888 color format. Additionally, the RTL8730E integrates an LCD controller configurable for up to 7 RGB formats and supports a maximum of 3 layer blending, delivering exceptional performance for image processing. Equipped with 552 KB on-chip SRAM and optional external PSRAM or DDR memory, these features collectively ensure smooth rendering and rapid response for high-resolution displays.
- RGB
RGB has become the preferred display driver interface for central control panels due to its high refresh rate, capability to drive large screens, and broad applicability.
- SPI
SPI serves as a common driver interface for small-sized displays.
Graphic Engine
Todo
Software Architecture
Ameba display architecture adopts LVGL as GUI engine. LVGL is the most popular free and open-source embedded graphics library to create beautiful UIs for any MCU, MPU and display type. The whole architecure provides reference porting of the LVGL and many reference drivers. In addition to LVGL, Ameba SDK also provides robust Wi-Fi/Bluetooth functionalities, smart voice algorithm, commonly used network protocol stacks and more, making it widely used in consumer electronics, home appliances.
- Application Layer
The role of the application layer is to serve as the user interaction entry point, containing predefined application scenarios. For example, a home smart panel product includes
Launcher
,Settings
apps. TheLauncher
app is resposible for main screen interface, application launcher.- Framework Layer
Composed of LVGL Graphics Library and lv_drivers (LVGL drivers), providing the foundational framework and tools for GUI development. lv_drivers is a driver porting for a specific display board, providing essential support for display controllers and touch panels.
- Driver Layer
Contains reference touch drivers, panel drivers for specific LCD panels and input hardware.
- Firmware Library Layer
Include lcd controller, mipi-dsi, pixel process engine, managing low-level hardware communication.
Implementation
Ameba smart display solution uses LVGL as the core GUI engine for application. LVGL (Light and Versatile Graphics Library) is an open-source embedded graphics library designed to create modern UIs for resource-constrained devices. Currently two LVGL version is supported in the SDK as bellow:
Module |
Location |
---|---|
LVGL 8.3 |
{sdk}/component/ui/LVGL/lvgl-8.3/lvgl |
LVGL 9.2 |
{sdk}/component/ui/LVGL/lvgl-9.2/lvgl |
For more details for LVGL, please refer to LVGL v8.3 and LVGL v9.2.
Configuration
In the SDK, you can enable the options of LVGL.
Enable Enable LVGL Graphics Library at
.
For the supported LVGL versions, you can select it before building.
Select the version as your wish at
.
How to Use
To use the LVGL core library you have to initialize it and setup required components. The order of the initialization is as below.
Calls
lv_init()
.Uses
lv_hal_init(int32_t w, int32_t h)()
to initialize the display drivers and input drivers.Draw your UI app by using LVGL core library.
Call
lv_timer_handler()
every few milliseconds to handle LVGL related tasks.
Here is an example.
int your_app(void) {
lv_init();
lv_hal_init(480, 800);
/* Something else ... */
/* ...... */
while(1) {
lv_task_handler();
usleep(1000);
}
}