Dual Display of Spectrum and Waveform: Transforming the ESP32 into a Mini Oscilloscope

Dual Display of Spectrum and Waveform: Transforming the ESP32 into a Mini Oscilloscope

This project utilizes the Elecrow CrowPanel ESP32 4.3″ HMI to create a “mini audio analyzer”: audio from a microphone is collected on a PC and transmitted in real-time to the development board, which displays waveforms and spectra using the onboard LVGL UI, allowing for flexible viewing options. Project Overview This project is developed as part … Read more

Switching Embedded GUI Pages Using Linked List Accounting Method

Switching Embedded GUI Pages Using Linked List Accounting Method

For those engaged in embedded GUI development, have you ever encountered the confusion of needing to rely on global variables to remember the state after writing three or four pages? As you add more pages, the code becomes increasingly chaotic, and you might even experience “page stuttering” during transitions? Here, I share a method from … Read more

ESP32 HMI + TinyMaix: Low-Power Handwritten Digit Recognition Solution Implementation

ESP32 HMI + TinyMaix: Low-Power Handwritten Digit Recognition Solution Implementation

During this winter vacation project, I wanted to do something that seemed “simple but extremely interesting”—to make an ESP32S3 HMI development board learn to “understand” the handwritten digits I write on the screen and display the recognition results on an 8×8 LED board. From designing the interface with LVGL to running the handwritten digit recognition … Read more

Guide to Dynamic Memory Usage in FreeRTOS: Choosing Between malloc and pvPortMalloc

Guide to Dynamic Memory Usage in FreeRTOS: Choosing Between malloc and pvPortMalloc

In embedded development, you might write something like this: uint8_t* buf = malloc(1024); // Allocate 1KB of memory It seems convenient, but in a multitasking system like FreeRTOS, there are some details regarding memory management that need attention. Differences Between malloc Heap and FreeRTOS Heap Feature malloc / free pvPortMalloc / vPortFree Heap Source C … Read more

Renesas Partners with LVGL PRO to Create an Integrated Solution for Embedded GUI Development

Renesas Partners with LVGL PRO to Create an Integrated Solution for Embedded GUI Development

As the demand for user experience in embedded devices continues to rise, graphical user interfaces (GUIs) have become an increasingly important aspect of product development. Recently, LVGL, one of the most popular open-source embedded graphics libraries, launched its commercial professional UI editor, LVGL PRO version 1.0. Renesas Electronics, a global supplier of MCUs/MPUs, has maintained … Read more

Integrating STM32 with LVGL v9 Touchscreen

In the previous article “Porting LVGL v9 to STM32”, we completed the porting of LVGL on STM32. In the article “STM32 Driver for XPT2046 Touchscreen”, we implemented the driver for the XPT2046 touchscreen chip.Next, we will combine LVGL with the touchscreen to enable interaction through buttons and other controls on the screen.1. Modify the Touch … Read more

Which GUI Frameworks are Suitable for Embedded Development

With the rapid development of smart devices, embedded GUI development has become a key bridge connecting hardware and user experience. In the face of resource-constrained embedded environments, choosing the right GUI framework not only affects development efficiency but also directly determines the product’s user experience and market competitiveness. Comparison of Three Major Frameworks LVGL – … Read more

Integrating Touch Screen with STM32F407 and LVGL

So far, the project has integrated LVGL with STM32F407 and also supports touch screens using STM32F407 + SPI for resistive touch screens. Therefore, integrating the touch screen with LVGL is a natural progression. You can refer to the official documentation at https://docs.lvgl.io/master/details/main-modules/indev/overview.html#indev-creation. It is simpler to refer to an official example template, especially for touch … Read more

Taishan School – LVGL Porting on RK3566, Resolving Buildroot System Errors

Taishan School - LVGL Porting on RK3566, Resolving Buildroot System Errors

Recently, I have been compiling the rk3566 Buildroot system, while preparing to run LVGL on the Buildroot system, aiming to create an application similar to a Qt interface that automatically runs on startup to observe the overall effect. This is what I have been working on lately. Previously, my system was an Android system, so … Read more

Exploring the DFRobot ESP32-C5 Development Board: LVGL MicroPython Performance Testing

Exploring the DFRobot ESP32-C5 Development Board: LVGL MicroPython Performance Testing

DFRobot recently released a new development board<span>FireBeetle 2 ESP32-C5</span>, which is equipped with the<span>ESP32-C5-WROOM-1</span> module, supporting 5GHz Wi-Fi 6, offering strong performance and lower power consumption. Today, let’s quickly get started! 1. Development Board Overview USB-C: Download/Power Interface Charge: Charging Indicator Off: Not connected to power or fully charged On: Charging 15/D13: Onboard LED (lights … Read more