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.

../../_images/display_architecture.svg
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. The Launcher 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 CONFIG APPLICATION > Graphics Libraries Configuration > Graphics Library Selection.

../../_images/display_lvgl_library_enable_lvgl.png

For the supported LVGL versions, you can select it before building.

Select the version as your wish at CONFIG APPLICATION > Graphics Libraries Configuration > Graphics Library Selection > Enable LVGL Graphics Library > LVGL Version.

../../_images/display_lvgl_library_sel_version.png

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);
   }
}