{"id":15541,"date":"2023-08-25T10:25:49","date_gmt":"2023-08-25T04:55:49","guid":{"rendered":"https:\/\/fastbitlab.com\/?p=15541"},"modified":"2023-08-25T10:28:51","modified_gmt":"2023-08-25T04:58:51","slug":"stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board","status":"publish","type":"post","link":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/","title":{"rendered":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 53| LVGL project for STM32F746x and STM32F407 disc board"},"content":{"rendered":"<div class=\"boldgrid-section color4-background-color color-4-text-contrast bg-background-color\">\n<div class=\"container\">\n<div class=\"row\">\n<div class=\"col-lg-1 col-md-12 col-sm-12 col-xs-12\"><\/div>\n<div class=\"col-lg-10 col-md-12 col-xs-12 col-sm-12\">\n<p class=\"\">&nbsp;<\/p>\n<h1 class=\"\" style=\"text-align: center; font-size: 35px; line-height: 50px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000080;\"><b>LVGL project for STM32F746x and STM32F407 disc board<\/b><\/span><\/h1>\n<div class=\"row bg-editor-hr-wrap\">\n<div class=\"col-lg-12 col-md-12 col-xs-12 col-sm-12\">\n<div>\n<div class=\"bg-hr bg-hr-16 color2-color\" style=\"border-style: solid; border-width: 0px 0px 2px; box-shadow: #cecece 0px 0px 0px 0px;\"><\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Running an LVGL (Light and Versatile Graphics Library) sample application on an STM32F746 and STM32F407 Discovery Board involves a few steps. Before proceeding, make sure you have the necessary hardware and software components:<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline;\"><strong><span style=\"color: #a62a17; text-decoration: underline;\">Hardware:<\/span><\/strong><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">\u2013 STM32F746G-DISCO development board and STM32F407-DISCO board<\/span><\/p>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">\u2013 Micro USB cable for power and debugging<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">\u2013 Computer with a compatible development environment (e.g., STM32CubeIDE)<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline;\"><strong><span style=\"color: #a62a17; text-decoration: underline;\">Software:<\/span><\/strong><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">\u2013 STM32CubeIDE (Integrated Development Environment) &#8211; Download and install it from the STMicroelectronics website.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">\u2013 LVGL Library &#8211; You can download the LVGL library from its GitHub repository.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Follow these steps to run the LVGL sample application<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #ff6600;\">Step 1: Set up STM32CubeIDE<\/span><\/strong><\/p>\n<ul class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Install STM32CubeIDE on your computer.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Launch STM32CubeIDE and create a new STM32 project for your board.<\/span><\/li>\n<\/ul>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #ff6600;\">Step 2: Integrate LVGL into the Project<\/span><\/strong><\/p>\n<ul class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">Download the LVGL library from its GitHub repository:<\/span><span style=\"color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/github.com\/lvgl\/lvgl\"> <span style=\"font-weight: 400;\">https:\/\/github.com\/lvgl\/lvgl<\/span><\/a><\/span><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Extract the LVGL library files into your STM32CubeIDE project&#8217;s directory.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Add the LVGL source files to your STM32CubeIDE project:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #000000;\">Right-click on the project in the Project Explorer pane and select &#8220;Import.&#8221;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #000000;\">Choose &#8220;General&#8221; &gt; &#8220;File System&#8221; and click &#8220;Next.&#8221;<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #000000;\">Browse and select the LVGL source files from your project directory, and click &#8220;Finish.&#8221;<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #ff6600;\"><strong>Step 3: Configure STM32CubeIDE Project<\/strong><\/span><\/p>\n<ul class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Open your STM32CubeIDE project and navigate to the &#8220;Core&#8221; and &#8220;Configuration&#8221; tabs.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Configure the necessary peripherals such as display (if you&#8217;re using an external display) and touch controller (if applicable).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Initialize the LVGL library, touch controller, and display (if required) in your main.c file.<\/span><\/li>\n<\/ul>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #ff6600;\">Step 4: Build and Flash the Application<\/span><\/strong><\/p>\n<ul class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Build your STM32CubeIDE project to generate the binary file.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Connect the Discovery Board to your computer using a micro USB cable.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Flash the binary file onto the&nbsp; Board using STM32CubeIDE.<\/span><\/li>\n<\/ul>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #ff6600;\">Step 5: Run the Application<\/span><\/strong><\/p>\n<ul class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Once the flash process is complete, the LVGL sample application should start running on your Board.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400; color: #000000;\">Observe the output on the display (if you&#8217;re using one) and interact with the application using the touch interface (if applicable).<\/span><\/li>\n<\/ul>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Please note that the exact steps and configurations might vary depending on the specific LVGL sample application you want to run and the hardware setup you have (e.g., display and touch controller connections). Make sure to follow the documentation and examples provided by the LVGL library for your specific use case.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Additionally, ensure that you have the necessary hardware connections and that the display and touch controller (if applicable) are supported by LVGL and configured correctly in your STM32CubeIDE project.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 25px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #000080;\"><b>LVGL sample application on STM32F746 Discovery Board<\/b><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">The steps to run the LVGL sample application are quite similar to the previous ones.<\/span><span style=\"font-weight: 400;\">&nbsp;<\/span><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Start by adding the necessary LVGL sources, including lvgl examples, lvgl.h, and lv_conf.h, into your project. Ensure that everything is added correctly.<\/span><\/p>\n<figure id=\"attachment_15544\" aria-describedby=\"caption-attachment-15544\" style=\"width: 791px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-15544 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-1-4.png\" alt=\"Figure 1. Files\" width=\"791\" height=\"410\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4.png 1876w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4-300x155.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4-1024x531.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4-768x398.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4-600x311.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-1-4-1536x796.png 1536w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><figcaption id=\"caption-attachment-15544\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 1. Files<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">If you are using the STM32F746 Discovery Board, you&#8217;ll need to include the &#8220;hal_stm_lvgl&#8221; BSP folder (board support package folder). This folder should already be available in your repository. Make sure to include it in your project.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">In case you are creating a new project, navigate to the &#8216;git&#8217; files that you downloaded. Under Projects, go to the F746GDISCOVERY section. Copy the &#8220;hal_stm_lvgl&#8221; folder(Figure 2) and paste it into your project directory(Figure 3).<\/span><\/p>\n<figure id=\"attachment_15545\" aria-describedby=\"caption-attachment-15545\" style=\"width: 691px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-15545 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-2-4.png\" alt=\"Figure 2. hal_stm_lvgl folder\" width=\"691\" height=\"374\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-2-4.png 1484w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-2-4-300x163.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-2-4-1024x555.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-2-4-768x416.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-2-4-600x325.png 600w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><figcaption id=\"caption-attachment-15545\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 2. hal_stm_lvgl folder<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">After pasting the &#8220;hal_stm_lvgl&#8221; folder, make sure it is included for the build.&nbsp;<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">To do this, go to project properties and find the C\/C++ Build settings. In this section, ensure that the &#8220;Exclude resource from build&#8221; option is unchecked for the &#8220;hal_stm_lvgl&#8221; folder.<\/span><\/p>\n<figure id=\"attachment_15546\" aria-describedby=\"caption-attachment-15546\" style=\"width: 846px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-15546 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-3-4.png\" alt=\"Figure 3. Hal_stm_lvgl properties\" width=\"846\" height=\"460\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4.png 1870w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4-300x163.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4-1024x556.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4-768x417.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4-600x326.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-3-4-1536x835.png 1536w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><figcaption id=\"caption-attachment-15546\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 3. Hal_stm_lvgl properties<\/span><\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">And it contains a couple of folders. I took this hal_stm_lvgl folder from the LVGL repository, and it includes some files provided by STMicroelectronics.<\/span> <span style=\"font-weight: 400;\">Inside this folder, all the files are given by STMicroelectronics and are related to the board support packages for the touchscreen and some general code specific to the Discovery board.&nbsp;<\/span><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">For the components, you will need this particular folder. It contains essential details like HBP (Horizontal Back Porch), VBP (Vertical Back Porch), HSYNC width, and VSYNC width related to the display.<\/span><\/p>\n<figure id=\"attachment_15548\" aria-describedby=\"caption-attachment-15548\" style=\"width: 743px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15548 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-4-4.png\" alt=\"Figure 4. Components folder\" width=\"743\" height=\"376\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png 1920w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4-300x152.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4-1024x518.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4-768x389.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4-600x304.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4-1536x778.png 1536w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><figcaption id=\"caption-attachment-15548\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 4. Components folder<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Also, the &#8220;ft5336&#8221; Components folder is essential. It contains the driver for the capacitive touchscreen controller used on this board. Additionally, there is a &#8220;tft.c&#8221; file that includes the flush function, and it also has a &#8220;touchpad&#8221; component. So, it&#8217;s crucial to ensure that all these folders are present in the project.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Another important step is to set the include paths correctly.&nbsp;<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Go to the Properties of the project and navigate to Settings. Under Settings, access Include paths and make sure to add these entries(Figure 5). One entry should point to the Components folder, and the other should point to the mentioned path. By doing this, your project should compile successfully.<\/span><\/p>\n<figure id=\"attachment_15549\" aria-describedby=\"caption-attachment-15549\" style=\"width: 693px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15549 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-5-4.png\" alt=\"Figure 5. Include path setting\" width=\"693\" height=\"402\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4.png 1722w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4-300x174.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4-1024x593.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4-768x445.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4-600x348.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-5-4-1536x890.png 1536w\" sizes=\"(max-width: 693px) 100vw, 693px\" \/><figcaption id=\"caption-attachment-15549\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 5. Include path setting<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Please note that there are additional steps you need to follow. In Debug mode, click on the .ioc file. These steps involve adding peripherals and using the device configuration tool. When creating a new project, you&#8217;ll have access to the device configuration tool. In this tool, you must set the clock configuration for the system clock.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 25px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #000080;\"><b>Clock configuration settings<\/b><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">However, you don&#8217;t need to perform any clock configuration for the LTDC (LCD TFT Display Controller) separately. The initialization for the LTDC is taken care of by the &#8220;tft_init&#8221; function itself. If you navigate to the &#8220;tft_init&#8221; function, it will lead you to &#8220;tft.c&#8221; where the &#8220;LCD_Init&#8221; function is responsible for handling the LTDC configuration.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">And in the Connectivity, make sure that you enabled the I2C3 peripheral, need not to configure it, you just enable it. Because, I2C3 is used for touchscreen functionality.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\"><span style=\"font-weight: 400;\">Go to the &#8220;Multimedia&#8221; section and ensure that the LTDC (LCD TFT Display Controller) is enabled. In this case, you should select RGB888(24) bits, <\/span><span style=\"font-weight: 400;\">because the display type is RGB888, 24 lines are there for the RGB data.<\/span><span style=\"font-weight: 400;\">.&nbsp;<\/span><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Once this configuration is set, you can run the project on the STM32F746 Discovery Board.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 25px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #000080;\"><b>LVGL_sample application on the STM32F407 Discovery Board<\/b><\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Now, let&#8217;s discuss running the LVGL_sample application on the STM32F407 Discovery Board, which is connected to an external display.&nbsp;<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">For this project, you need to use the &#8220;bsp_f4x&#8221; folder provided.<\/span><\/p>\n<figure id=\"attachment_15550\" aria-describedby=\"caption-attachment-15550\" style=\"width: 759px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15550 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-6-4.png\" alt=\"Figure 6. LVGL_sample application on the STM32F407 Discovery Board\" width=\"759\" height=\"331\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4.png 1904w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4-300x131.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4-1024x446.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4-768x335.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4-600x262.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-6-4-1536x670.png 1536w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><figcaption id=\"caption-attachment-15550\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 6. LVGL_sample application on the STM32F407 Discovery Board<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">In case you are creating a new project, navigate to the &#8216;git&#8217; files that you downloaded. Under Projects, go to the 32F407 Discovery section. Here you see the \u201cbsp_f4x\u201d folder (Figure 7).<\/span><\/p>\n<figure id=\"attachment_15551\" aria-describedby=\"caption-attachment-15551\" style=\"width: 679px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15551 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-7-3.png\" alt=\"Figure 7. bsp_f4x folder\" width=\"679\" height=\"385\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3.png 1655w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3-300x170.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3-1024x580.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3-768x435.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3-600x340.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-7-3-1536x870.png 1536w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><figcaption id=\"caption-attachment-15551\" class=\"wp-caption-text\">Figure 7. bsp_f4x folder<\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400;\">Copy the &#8220;bsp_f4x&#8221; folder and paste it into your project directory.<\/span><\/p>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400;\">The &#8220;bsp_f4x&#8221; folder has three sub-folders: lcd, lvgl, and tsc.&nbsp; This time you need to enable LVGL and touch screen(tsc) functionalities since they are required.&nbsp;<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400;\">If you don&#8217;t need these functionalities, you can turn them off by going to the project properties.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400;\">For this project, you need to configure the Include Path settings. To do this, Right click on the project \u2192Properties\u2192&nbsp; go to Settings and ensure that the three paths pointing to the three folders are correctly set.<\/span><\/p>\n<figure id=\"attachment_15552\" aria-describedby=\"caption-attachment-15552\" style=\"width: 698px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15552 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/08\/Figure-8-2.png\" alt=\"Figure 8. Include paths\" width=\"698\" height=\"363\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2.png 1920w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2-300x156.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2-1024x532.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2-768x399.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2-600x312.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-8-2-1536x798.png 1536w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><figcaption id=\"caption-attachment-15552\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 8. Include paths<\/span><\/figcaption><\/figure>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">If you are unsure how to do this, click on the &#8216;+&#8217; sign, go to Workspace, select the project folder, and click OK to add the necessary paths.<\/span><\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">With these configurations in place, you should be able to run the LVGL_sample application on the STM32F407 Discovery Board successfully, connected to the external display. If you encounter any issues, refer to the documentation and examples provided by the LVGL library for further assistance.<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 20px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><strong><span style=\"color: #000080;\">FastBit Embedded Brain Academy Courses<\/span><\/strong><\/p>\n<p class=\"\" style=\"font-size: 17px; line-height: 30px; font-family: 'Roboto Slab'; font-weight: 400;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/fastbitlab.com\/course1\">https:\/\/fastbitlab.com\/course1<\/a><\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<\/div>\n<div class=\"col-lg-1 col-md-12 col-sm-12 col-xs-12\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; LVGL project for STM32F746x and STM32F407 disc board &nbsp; Running an LVGL (Light and Versatile Graphics Library) sample application on an STM32F746 and STM32F407 Discovery Board involves a few steps. Before proceeding, make sure you have the necessary hardware and software components: Hardware: \u2013 STM32F746G-DISCO development board and STM32F407-DISCO board \u2013 Micro USB cable [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15548,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[],"footnotes":""},"categories":[8],"tags":[],"class_list":["post-15541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards<\/title>\n<meta name=\"description\" content=\"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards\" \/>\n<meta property=\"og:description\" content=\"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/\" \/>\n<meta property=\"og:site_name\" content=\"FastBit EBA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/fastbiteba\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-25T04:55:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-25T04:58:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"972\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"FastBitLab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:site\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"FastBitLab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/\"},\"author\":{\"name\":\"FastBitLab\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\"},\"headline\":\"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 53| LVGL project for STM32F746x and STM32F407 disc board\",\"datePublished\":\"2023-08-25T04:55:49+00:00\",\"dateModified\":\"2023-08-25T04:58:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/\"},\"wordCount\":1390,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Figure-4-4.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/\",\"name\":\"LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Figure-4-4.png\",\"datePublished\":\"2023-08-25T04:55:49+00:00\",\"dateModified\":\"2023-08-25T04:58:51+00:00\",\"description\":\"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Figure-4-4.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Figure-4-4.png\",\"width\":1920,\"height\":972,\"caption\":\"Figure 4. Components folder\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 53| LVGL project for STM32F746x and STM32F407 disc board\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"name\":\"FastBit EBA\",\"description\":\"Your Online Academy of Embedded Systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\",\"name\":\"FastBit EBA\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"width\":640,\"height\":640,\"caption\":\"FastBit EBA\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/fastbiteba\\\/\",\"https:\\\/\\\/x.com\\\/fastbiteba\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fastbit-embedded-brain-academy-b3167b124\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCa1REBV9hyrzGp2mjJCagBg\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\",\"name\":\"FastBitLab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"caption\":\"FastBitLab\"},\"description\":\"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards","description":"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/","og_locale":"en_US","og_type":"article","og_title":"LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards","og_description":"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions","og_url":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/","og_site_name":"FastBit EBA","article_publisher":"https:\/\/www.facebook.com\/fastbiteba\/","article_published_time":"2023-08-25T04:55:49+00:00","article_modified_time":"2023-08-25T04:58:51+00:00","og_image":[{"width":1920,"height":972,"url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png","type":"image\/png"}],"author":"FastBitLab","twitter_card":"summary_large_image","twitter_creator":"@fastbiteba","twitter_site":"@fastbiteba","twitter_misc":{"Written by":"FastBitLab","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#article","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/"},"author":{"name":"FastBitLab","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d"},"headline":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 53| LVGL project for STM32F746x and STM32F407 disc board","datePublished":"2023-08-25T04:55:49+00:00","dateModified":"2023-08-25T04:58:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/"},"wordCount":1390,"commentCount":4,"publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/","url":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/","name":"LVGL Sample Application on STM32F746x and STM32F407 Discovery Boards","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#primaryimage"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png","datePublished":"2023-08-25T04:55:49+00:00","dateModified":"2023-08-25T04:58:51+00:00","description":"Learn how to run an LVGL sample application on STM32F746 and STM32F407 Discovery Boards using STM32CubeIDE. Follow step-by-step instructions","breadcrumb":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#primaryimage","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/08\/Figure-4-4.png","width":1920,"height":972,"caption":"Figure 4. Components folder"},{"@type":"BreadcrumbList","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvgl-sample-application-on-stm32f746x-and-stm32f407-disc-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fastbitlab.com\/blog\/"},{"@type":"ListItem","position":2,"name":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 53| LVGL project for STM32F746x and STM32F407 disc board"}]},{"@type":"WebSite","@id":"https:\/\/fastbitlab.com\/blog\/#website","url":"https:\/\/fastbitlab.com\/blog\/","name":"FastBit EBA","description":"Your Online Academy of Embedded Systems","publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fastbitlab.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fastbitlab.com\/blog\/#organization","name":"FastBit EBA","url":"https:\/\/fastbitlab.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","width":640,"height":640,"caption":"FastBit EBA"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/fastbiteba\/","https:\/\/x.com\/fastbiteba","https:\/\/www.linkedin.com\/in\/fastbit-embedded-brain-academy-b3167b124\/","https:\/\/www.youtube.com\/channel\/UCa1REBV9hyrzGp2mjJCagBg"]},{"@type":"Person","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d","name":"FastBitLab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","caption":"FastBitLab"},"description":"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries."}]}},"_links":{"self":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/15541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/comments?post=15541"}],"version-history":[{"count":5,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/15541\/revisions"}],"predecessor-version":[{"id":15596,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/15541\/revisions\/15596"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media\/15548"}],"wp:attachment":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media?parent=15541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/categories?post=15541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/tags?post=15541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}