{"id":15795,"date":"2023-09-14T09:38:37","date_gmt":"2023-09-14T04:08:37","guid":{"rendered":"https:\/\/fastbitlab.com\/?p=15795"},"modified":"2023-09-14T09:40:52","modified_gmt":"2023-09-14T04:10:52","slug":"stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator","status":"publish","type":"post","link":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/","title":{"rendered":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 56| Exercise implementation on simulator part-1"},"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=\"\"><strong><span style=\"color: #000080;\">Create a basic graphical user interface (GUI) using the LVGL<\/span><\/strong><\/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 inset;\"><\/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;\">The exercise involves creating a basic graphical user interface (GUI) using the LVGL (Light and Versatile Graphics Library) in the LVGL simulator.<\/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;\">To begin, create two source files:&nbsp;<\/span><\/p>\n<ol 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=\"color: #993366;\"><b>rgb_mixer.c<\/b><\/span><span style=\"font-weight: 400;\"> for the LVGL code&nbsp;<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"color: #000000;\"><b><span style=\"color: #993366;\">rgb_mixer.h<\/span> <\/b><span style=\"font-weight: 400;\">for declaring functions and structures used in rgb_mixer.c.&nbsp;<\/span><\/span><\/li>\n<\/ol>\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;\">Right-click on the project, select &#8220;Add&#8221; &gt; &#8220;New Item&#8221; (Figure 1) and name the file rgb_mixer.c (Figure 2). Repeat the process to create rgb_mixer.h.(Figure 3).<\/span><\/p>\n<figure id=\"attachment_15819\" aria-describedby=\"caption-attachment-15819\" style=\"width: 629px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-15819 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-1-1.png\" alt=\"Figure 1. Create a new project \" width=\"629\" height=\"317\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-1-1.png 1920w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-1-1-300x151.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-1-1-1024x516.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-1-1-768x387.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-1-1-1536x774.png 1536w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><figcaption id=\"caption-attachment-15819\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 1. Create a new project<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<figure id=\"attachment_15820\" aria-describedby=\"caption-attachment-15820\" style=\"width: 646px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-15820 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-2-1.png\" alt=\"Figure 2. C file creation\" width=\"646\" height=\"354\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-2-1.png 1718w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-2-1-300x164.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-2-1-1024x561.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-2-1-768x421.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-2-1-1536x842.png 1536w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><figcaption id=\"caption-attachment-15820\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 2. C file creation<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<figure id=\"attachment_15821\" aria-describedby=\"caption-attachment-15821\" style=\"width: 643px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-15821 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-3-1.png\" alt=\"Figure 3. Header file creation\" width=\"643\" height=\"327\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-3-1.png 1848w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-3-1-300x153.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-3-1-1024x521.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-3-1-768x391.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-3-1-1536x781.png 1536w\" sizes=\"(max-width: 643px) 100vw, 643px\" \/><figcaption id=\"caption-attachment-15821\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 3. Header file creation<\/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 the rgb_mixer.c file, define a function named rgb_mixer_create_ui, which will create and set up the LVGL widgets for the RGB mixer UI.<\/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 initializing a base object (a rectangle) using the lv_obj_create function and setting its parent as the active screen (retrieved with lv_scr_act()).&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=\"color: #000000;\"><span style=\"font-weight: 400;\">Don&#8217;t forget to include the LVGL header <\/span><span style=\"color: #993366;\"><b>#include &#8220;lvgl\/lvgl.h&#8221;<\/b><\/span><span style=\"font-weight: 400;\">. This provides access to the LVGL functions and features.<\/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;\">I get this from the LVGL documentation. Go to the Widgets, and go to the Base object. And if you want to understand what all APIs are related to a base object, go to the API section.&nbsp;<\/span><\/p>\n<figure id=\"attachment_15822\" aria-describedby=\"caption-attachment-15822\" style=\"width: 695px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15822\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-4.png\" alt=\"graphical user interface gui\" width=\"695\" height=\"222\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-4.png 1782w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-4-300x96.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-4-1024x326.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-4-768x245.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-4-1536x490.png 1536w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><figcaption id=\"caption-attachment-15822\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 4. Rgb_mixer.c file<\/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;\">Let&#8217;s give the prototype of the rgb_mixer_create_ui function in rgb_mixer.h and add the include guards here.<\/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;\">#ifndef RGB_MIXER_H<\/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;\">#define RGB _MIXER_H<\/span><\/p>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"font-family: 'Roboto Slab'; font-weight: 400; font-size: 25px; line-height: 35px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"text-decoration: underline; color: #000080;\"><b>Handling C++ Compilation Issues:<\/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;\">Since the project is a C++ project, there might be linkage issues when calling C functions from C++ files.<\/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;\">So, in rgb_mixer.h, use #ifdef __cplusplus and extern &#8220;C&#8221; to ensure proper C function linkage when used in a C++ environment.<\/span><\/p>\n<figure id=\"attachment_15823\" aria-describedby=\"caption-attachment-15823\" style=\"width: 558px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15823 \" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-5.png\" alt=\"Figure 5. Rgb_mixer.h file\" width=\"558\" height=\"228\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-5.png 1694w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-5-300x123.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-5-1024x418.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-5-768x314.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-5-1536x627.png 1536w\" sizes=\"(max-width: 558px) 100vw, 558px\" \/><figcaption id=\"caption-attachment-15823\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 5. Rgb_mixer.h file<\/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=\"color: #000000;\"><span style=\"font-weight: 400;\">Run the code, and you&#8217;ll see a rectangle in the center of the screen. <\/span><span style=\"font-weight: 400;\">A base object is nothing but it&#8217;s a rectangle. <\/span><\/span><\/p>\n<figure id=\"attachment_15824\" aria-describedby=\"caption-attachment-15824\" style=\"width: 790px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15824\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-6.png\" alt=\"graphical user interface gui\" width=\"790\" height=\"306\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png 1842w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6-300x116.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6-1024x397.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6-768x298.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6-1536x595.png 1536w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><figcaption id=\"caption-attachment-15824\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 6. Output<\/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;\">You can now adjust its properties, like its position.<\/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;\">Set its properties like width, height, and alignment using lv_obj_set_width, lv_obj_set_height, and lv_obj_align functions, as shown in Figure 7.<\/span><\/p>\n<figure id=\"attachment_15825\" aria-describedby=\"caption-attachment-15825\" style=\"width: 719px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15825\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-7.png\" alt=\"graphical user interface gui\" width=\"719\" height=\"332\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-7.png 1858w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-7-300x139.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-7-1024x473.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-7-768x355.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-7-1536x709.png 1536w\" sizes=\"(max-width: 719px) 100vw, 719px\" \/><figcaption id=\"caption-attachment-15825\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 7. Sets the properties<\/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;\">Run the code, and you can see that now it came to the center. (Figure 8) And this width is 300, and the height is 50.<\/span><\/p>\n<figure id=\"attachment_15826\" aria-describedby=\"caption-attachment-15826\" style=\"width: 656px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15826\" src=\"https:\/\/fastbitlab.com\/wp-content\/uploads\/2023\/09\/Figure-8.png\" alt=\"graphical user interface gui\" width=\"656\" height=\"453\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-8.png 1278w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-8-300x207.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-8-1024x707.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-8-768x530.png 768w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><figcaption id=\"caption-attachment-15826\" class=\"wp-caption-text\">Figure 8. Output<\/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;\">So, like that, you can use &#8216;set&#8217; and &#8216;get&#8217; methods to manipulate to play with the attributes.&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;\">But this is not our objective. Our objective is to create a slider. Use LVGL&#8217;s lv_slider_create function to create a slider widget and set its properties like size, position, and alignment using LVGL API functions.<\/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;\">The exercise guides users on how to use LVGL to create GUIs in a simulator environment. To explore more LVGL features and widgets in the official LVGL documentation.<\/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=\"color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/docs.lvgl.io\/8.3\/_downloads\/39cea4971f327964c804e4e6bc96bfb4\/LVGL.pdf\"><span style=\"font-weight: 400;\">LVGL documentation version 8.3<\/span><\/a><\/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=\"\"><span style=\"color: #000080;\"><strong>Fastbit Embedded Brain Academy Courses<\/strong><\/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=\"color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/fastbitlab.com\/course1\">https:\/\/fastbitlab.com\/course1<\/a><\/span><\/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; Create a basic graphical user interface (GUI) using the LVGL &nbsp; The exercise involves creating a basic graphical user interface (GUI) using the LVGL (Light and Versatile Graphics Library) in the LVGL simulator. To begin, create two source files:&nbsp; rgb_mixer.c for the LVGL code&nbsp; rgb_mixer.h for declaring functions and structures used in rgb_mixer.c.&nbsp; Right-click [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15824,"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-15795","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>Create a basic graphical user interface(GUI) with LVGL Simulator<\/title>\n<meta name=\"description\" content=\"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.\" \/>\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-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create a basic graphical user interface(GUI) with LVGL Simulator\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/\" \/>\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-09-14T04:08:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-14T04:10:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1842\" \/>\n\t<meta property=\"og:image:height\" content=\"714\" \/>\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=\"4 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-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/\"},\"author\":{\"name\":\"FastBitLab\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\"},\"headline\":\"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 56| Exercise implementation on simulator part-1\",\"datePublished\":\"2023-09-14T04:08:37+00:00\",\"dateModified\":\"2023-09-14T04:10:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/\"},\"wordCount\":568,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Figure-6.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/\",\"name\":\"Create a basic graphical user interface(GUI) with LVGL Simulator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Figure-6.png\",\"datePublished\":\"2023-09-14T04:08:37+00:00\",\"dateModified\":\"2023-09-14T04:10:52+00:00\",\"description\":\"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Figure-6.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Figure-6.png\",\"width\":1842,\"height\":714,\"caption\":\"Figure 6. Output\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\\\/#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 56| Exercise implementation on simulator part-1\"}]},{\"@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":"Create a basic graphical user interface(GUI) with LVGL Simulator","description":"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.","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-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/","og_locale":"en_US","og_type":"article","og_title":"Create a basic graphical user interface(GUI) with LVGL Simulator","og_description":"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.","og_url":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/","og_site_name":"FastBit EBA","article_publisher":"https:\/\/www.facebook.com\/fastbiteba\/","article_published_time":"2023-09-14T04:08:37+00:00","article_modified_time":"2023-09-14T04:10:52+00:00","og_image":[{"width":1842,"height":714,"url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.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":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#article","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/"},"author":{"name":"FastBitLab","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d"},"headline":"STM32-LTDC, LCD-TFT, LVGL(MCU3) Lecture 56| Exercise implementation on simulator part-1","datePublished":"2023-09-14T04:08:37+00:00","dateModified":"2023-09-14T04:10:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/"},"wordCount":568,"commentCount":0,"publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/","url":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/","name":"Create a basic graphical user interface(GUI) with LVGL Simulator","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#primaryimage"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png","datePublished":"2023-09-14T04:08:37+00:00","dateModified":"2023-09-14T04:10:52+00:00","description":"Learn how to implement a basic graphical user interface (GUI) using LVGL (Light and Versatile Graphics Library) in the LVGL simulator.","breadcrumb":{"@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#primaryimage","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2023\/09\/Figure-6.png","width":1842,"height":714,"caption":"Figure 6. Output"},{"@type":"BreadcrumbList","@id":"https:\/\/fastbitlab.com\/blog\/stm32-ltdc-lcd-tft-lvglmcu3-exercise-create-basic-graphical-user-interfacegui-with-lvgl-simulator\/#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 56| Exercise implementation on simulator part-1"}]},{"@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\/15795","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=15795"}],"version-history":[{"count":5,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/15795\/revisions"}],"predecessor-version":[{"id":15926,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/15795\/revisions\/15926"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media\/15824"}],"wp:attachment":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media?parent=15795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/categories?post=15795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/tags?post=15795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}