
Begin two projects with lvgl and freertos on stm32f4, learn to integrate freertos, and install CubeIDE and CubeMX to set up the development environment.
Open Cupid, create system32 project, select STM32 F4 discovery board, name it TFT, configure external 8 MHz clock with crystal resonator, then generate code with cube and MCs configuration.
Please download the file to see the right connections
Initialize a tft display with lvgl using a set of custom functions, then connect initiation to lvgl with a single function, and copy C file and header files from resources.
Learn how the LCD set window initializes the display by configuring column and row ranges, writing pixel data to memory, and binding LVGL to drive chunked transfers.
Integrate the lvgl library with a tft display by including required files, initializing the driver, and registering the display driver; add lv tick to systick and run lvgl examples.
Learn to integrate freertos into the stm32f4 lvgl project by copying and renaming the project, selecting cmsis, enabling newlib, adding include files, and generating code.
Reorganize the freertos-based stm32f4 lvgl project by removing unnecessary code and setting up prototypes. Initialize the display, create two tasks, and start the scheduler to compare freertos usage.
Duplicate lines with ctrl d to build a gauge, label with 0 to 70, adjust font size, and export the frame as a PNG named gauge to the desktop.
Learn to craft a LVGL gauge in Square Line Studio by cropping images, exporting PNGs, adding assets, and configuring arc styles, indicator width, and transparency to display temperature.
Export the UI templates, create a ui folder, and transfer all UI files, fonts, images, and components into your stm32f4 lvgl freertos project. Refresh the project and update include paths.
Demonstrate the final project using stm32f4, lvgl, freertos, and can protocol to build an embedded display.
Demonstrates reading a thermistor via adc1 with continuous conversion, converting to temperature, and displaying on a label and arc using LVGL with FreeRTOS tasks.
Create a new STM32 project for the ST7789 display and enable the Khan protocol. Configure baud rate to 500k with appropriate prescaler and time quanta, then generate code.
Copy and place lvgl display files into the source, configure spi and pins, enable nvic rx interrupts, and initialize lvgl in main.c with can message processing.
Draw and style UI elements, adjust dimensions, and set the background to match the screen. Export UI files, open the generated UI folder, and ensure 16-bit depth in project settings.
Explore the final project by detailing the process function, message handling, and updating the roller position when relevant bytes change, with callback interrupts refreshing the display.
Discover how the STM32 project communicates over CAN using a transceiver and a CAN bus analyzer. Validate messages with id 540, dlc, and byte payloads to see the display react.
if you are passionate about embedded systems and you want to go deep with creating GUIs for displays with different sensors, then enroll to my course to get life-time access to different display projects that will be continiously updated and added to the course. You will know how to combine LVGL with freertos, how to add GUI to your project. It is not the course for designers, however, you will get the main concepts how to create powerfull images.
The course is divided into sections, each section contains several lectures to the topic. At the end you will be able to get final project.
You will not need the deep knowledge of stm32, simple knowledge of how to connect STM32 with sensors and the display are enough. All the connections will be provided for your understanding. In addition, the step-by-step creation of driver and actions will be shown.
Finally, by enrolling to my course you will definitely save time to get information quickly and be able to apply your knowledge to further development of different projects. You will be able to ask questions if needed.
Practice with me and use your imagination and knowledge to create GUIs on STM32 using displays