Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Embedded LVGL-Based GUI for RF Power Amplifier Evaluation

Overview

This project was developed as part of a Bachelor’s thesis titled:

Development of a Cross-Platform GUI for the Control of an RF Power Amplifier Evaluation System Using Open-Source Software

The focus of this work is the implementation of a real-time, interactive graphical user interface for an RF power amplifier evaluation system on microcontroller-based hardware.

The developed GUI enables continuous, real-time visualization of measurement data acquired from the RF power amplifier, such as operating values and system states. In parallel, the user can modify amplifier parameters in real time via the touch-based interface. Any parameter change is immediately applied to the hardware and reflected back in the displayed measurement values, forming a bidirectional real-time interaction loop between the GUI and the RF evaluation system.

The implementation targets the STM32H750B-DK platform and is based on the LVGL (Light and Versatile Graphics Library) framework, demonstrating that responsive, real-time control and monitoring of RF systems.

Final GUI Overview Real-Time Parameter Configuration


Motivation

Graphical user interfaces play a crucial role in modern embedded systems. However, high-quality graphics typically require significant computational power and energy, which is challenging for battery-powered and cost-sensitive devices.

Microcontrollers (MCUs) provide low power consumption and high efficiency but traditionally offer limited graphical capabilities. This project demonstrates how LVGL, an open-source embedded graphics library, can be used to implement responsive and visually appealing GUIs on MCU platforms.


Hardware and Software Stack

Hardware

  • STM32H750B-DK Discovery Kit

Software

  • LVGL 8.3.0
  • STM32 HAL and BSP drivers
  • STM32CubeIDE and STM32CubeMX

System Architecture

The application uses a bootloader-based memory architecture:

  • A bootloader is flashed into internal Flash memory at address 0x08000000
  • The bootloader configures the external QSPI Flash in Dual mode
  • The user application (GUI and LVGL demos) is executed from QSPI memory at 0x90000000
  • Runtime data is stored in AXI SRAM

The linker script has been adapted to support this memory layout.


How It Works

  1. The bootloader initializes the QSPI interface
  2. Control is transferred to the application stored in external Flash
  3. LVGL handles rendering, input processing, and GUI logic
  4. Hardware acceleration via LTDC and DMA2D is used where applicable

STM32CubeMX Configuration Notes

The provided .ioc file does not automatically configure all display-related peripherals such as LTDC, DMA2D, and I²C4.

If the project is regenerated using STM32CubeMX, the configuration of these peripherals may be modified. In this case, the following HAL driver files must be manually copied from the STM32Cube firmware package (STM32Cube_FW_H7_Vx.y.z/Drivers/STM32H7xx_HAL_Driver) into their corresponding directories within the project:

  • stm32h7xx_hal_dma2d.h
  • stm32h7xx_hal_dma2d.c
  • stm32h7xx_ll_dma2d.h
  • stm32h7xx_hal_ltdc.h
  • stm32h7xx_hal_ltdc.c
  • stm32h7xx_hal_ltdc_ex.h
  • stm32h7xx_hal_ltdc_ex.c

Failure to copy these files may result in build errors or missing display functionality.

Licensing Notice

This project contains software components provided by STMicroelectronics, which are licensed under SLA0044. The LVGL library is licensed under the MIT License. This repository is intended for academic and research purposes. All third-party license texts and copyright notices are retained.

About

Real-time embedded GUI for monitoring and controlling an RF power amplifier evaluation system via CAN bus (tested via Virtual COM), implemented with LVGL on STM32H750B.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages