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.

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_architecture1.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 LVGL v9.1 is supported in the SDK.

For more details for LVGL, please refer to LVGL v9.1 .

Configuration

Please follow the steps below to enable and compile LVGL in linux SDK:

  1. Add the command below to the end of <sdk>/sources/yocto/meta-realtek/meta-sdk/recipes-core/images/ameba-image-core.bb

IMAGE_INSTALL += "lvgl"

LVGL compile file located at <sdk>/sources/yocto/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb

  1. Execute the command below to compile LVGL seperately

bitbake lvgl

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().

  • Configure display buffer.

  • Initialize the display, implement the flush callback, and register the display.

  • 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();

   // Configure display buffer(Assume the screen resolution is 480x800)
   static lv_disp_draw_buf_t draw_buf;
   static lv_color_t buf[480 * 800 / 10];
   lv_disp_draw_buf_init(&draw_buf, buf, NULL, 480 * 800 / 10);

   // Initialize the display
   static lv_disp_drv_t disp_drv;
   lv_disp_drv_init(&disp_drv);
   disp_drv.draw_buf = &draw_buf;
   disp_drv.flush_cb = my_disp_flush_cb; // Implement this callback
   disp_drv.hor_res = 480;
   disp_drv.ver_res = 800;
   lv_disp_t *disp = lv_disp_drv_register(&disp_drv);

   /* Something else ... */
   /* ...... */
   while(1) {
      lv_task_handler();
      usleep(1000);
   }
}

Graphic Engine

Libdrm is a standard library to interface with DRM in the Linux kernel. Details

Kernel

The Kernel layer is the foundation of the entire software architecture, interacting directly with hardware and providing abstraction and services for upper-layer software. It includes the following:

Device Files

Hardware Interface

Application

/dev/dri/card0

DRM device

Display initialization, pixel format setting, data transmission

/dev/Input/event

Input device

Process events from various input devices provide an interface for reading input events.