{"id":190047,"date":"2026-02-11T16:38:18","date_gmt":"2026-02-11T16:38:18","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?page_id=190047"},"modified":"2026-04-09T13:04:24","modified_gmt":"2026-04-09T13:04:24","slug":"projects-esp-idf-esp32","status":"publish","type":"page","link":"https:\/\/randomnerdtutorials.com\/projects-esp-idf-esp32\/","title":{"rendered":"ESP-IDF: ESP32 Projects, Tutorials and Guides\u200b"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"190047\" class=\"elementor elementor-190047\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7257469c elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7257469c\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3556f801\" data-id=\"3556f801\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1fbf9303 elementor-widget elementor-widget-heading\" data-id=\"1fbf9303\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">ESP-IDF: ESP32 Projects, Tutorials and Guides<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74d8b740 elementor-hidden-phone elementor-widget elementor-widget-text-editor\" data-id=\"74d8b740\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #ffffff;\">The ESP32 is a development board that combines Wi-Fi and Bluetooth wireless capabilities, and dual core. It supports peripherals such as: ADC, DAC, I2C, SPI, UART, I2S, PWM, capacitive touch, and more.<\/span><\/p>\n<p><span style=\"color: #ffffff;\">ESP-IDF, Espressif IoT Development Framework, is the original framework developed by Espressif (the developer of ESP32 chips) to program ESP32 boards. It is an SDK that supports C and C++ programming languages that gives you low-level access to the hardware.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b2873a5 elementor-share-buttons--skin-flat elementor-share-buttons--view-icon-text elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"5b2873a5\" data-element_type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_facebook\" role=\"button\" tabindex=\"0\" aria-label=\"Share on facebook\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-facebook\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tFacebook\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tTwitter\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tLinkedIn\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-69f44a4c elementor-hidden-desktop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"69f44a4c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-14a49edc\" data-id=\"14a49edc\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-76747c42 elementor-widget elementor-widget-text-editor\" data-id=\"76747c42\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"rnt-sb-m\"><p><span class=\"rnt-shl\">Learn ESP-IDF ESP32<\/span><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/programming-esp32-esp-idf-vs-code\/\">ESP-IDF Getting Started<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-blink-led\/\">ESP-IDF Blink LED<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-outputs\/\">ESP-IDF Digital Outputs<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\">ESP-IDF Digital Inputs<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\">ESP-IDF PWM<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\">ESP-IDF Analog Input<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\">ESP-IDF GPIO Interrupts<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\">ESP-IDF Wi-Fi Scanner<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\">ESP-IDF Web Server<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\">ESP-IDF VS Code<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\">ESP-IDF Template<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp32-pinout-reference-gpios\/\">ESP32 Pinout<\/a><\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6bcdd98a\" data-id=\"6bcdd98a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5acf9872 elementor-widget elementor-widget-text-editor\" data-id=\"5acf9872\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"rnt-sb-m\"><p><span class=\"rnt-shl\">Learn More<\/span><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32\/\">Learn ESP32<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp8266\/\">Learn ESP8266<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-cam\/\">Learn ESP32-CAM<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-esp8266-micropython\/\">Learn MicroPython<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-arduino\/\">Learn Arduino<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/build-web-servers-esp32-esp8266-ebook\/\"><strong>Build Web Servers eBook<\/strong><\/a><\/p><p><strong><a href=\"https:\/\/randomnerdtutorials.com\/smart-home-ebook\/\">Smart Home eBook<\/a><\/strong><\/p><p><strong><a href=\"https:\/\/randomnerdtutorials.com\/firebase-esp32-esp8266-ebook\/\">Firebase Web App eBook<\/a><\/strong><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\"><strong>ESP32 Premium Course \u00bb<\/strong><\/a><\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97a85a6 elementor-search-form--skin-classic elementor-search-form--button-type-icon elementor-search-form--icon-search elementor-widget elementor-widget-search-form\" data-id=\"97a85a6\" data-element_type=\"widget\" data-settings=\"{&quot;skin&quot;:&quot;classic&quot;}\" data-widget_type=\"search-form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<search role=\"search\">\n\t\t\t<form class=\"elementor-search-form\" action=\"https:\/\/randomnerdtutorials.com\" method=\"get\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-search-form__container\">\n\t\t\t\t\t<label class=\"elementor-screen-only\" for=\"elementor-search-form-97a85a6\">Search<\/label>\n\n\t\t\t\t\t\n\t\t\t\t\t<input id=\"elementor-search-form-97a85a6\" placeholder=\"Search...\" class=\"elementor-search-form__input\" type=\"search\" name=\"s\" value=\"\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-search-form__submit\" type=\"submit\" aria-label=\"Search\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-search\"><\/i>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/form>\n\t\t<\/search>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-34c6c500 elementor-hidden-desktop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"34c6c500\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-24cb8951\" data-id=\"24cb8951\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6355172d elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"6355172d\" data-element_type=\"widget\" data-settings=\"{&quot;pagination_type&quot;:&quot;prev_next&quot;,&quot;classic_columns&quot;:&quot;3&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:35,&quot;sizes&quot;:[]},&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-190643 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-190971\" alt=\"ESP-IDF ESP32 Simple Web Server Serve HTML Page\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\" >\n\t\t\t\tESP-IDF: ESP32 Simple Web Server (Serve HTML Page)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-187575 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-189776\" alt=\"ESP-IDF ESP32 Wi-Fi Scanner Scan Nearby Networks RSSI\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\" >\n\t\t\t\tESP-IDF: ESP32 Wi-Fi Scanner (Scan Nearby Networks RSSI)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-176281 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-187411\" alt=\"ESP-IDF ESP32 GPIO Interrupts Button with Debouncing\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO Interrupts (Button with Debouncing)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-175829 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-177115\" alt=\"ESP-IDF ESP32 GPIO Read Analog Input ADC Analog to Digital Converter\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO &#8211; Read Analog Input (ADC &#8211; Analog to Digital Converter)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-175191 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-177119\" alt=\"ESP-IDF ESP32 GPIO Read Digital Inputs\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO &#8211; Read Digital Inputs\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-179853 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-179854\" alt=\"ESP-IDF Create Template ESP32 Project using VS Code\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\" >\n\t\t\t\tESP-IDF: Create Template ESP32 Project using VS Code\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-174268 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-175045\" alt=\"ESP-IDF: ESP32 GPIO PWM with LEDC Control LED Brightness\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO PWM with LEDC (Control LED Brightness)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-176674 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-176676\" alt=\"Install ESP-IDF Extension for ESP32 on VS Code (Windows, Mac OS X, Linux)\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\" >\n\t\t\t\tInstall ESP-IDF Extension for ESP32 on VS Code (Windows, Mac OS X, Linux)\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t<div class=\"e-load-more-anchor\" data-page=\"1\" data-max-page=\"2\" data-next-page=\"https:\/\/randomnerdtutorials.com\/projects-esp-idf-esp32\/2\/\"><\/div>\n\t\t\t\t<nav class=\"elementor-pagination\" aria-label=\"Pagination\">\n\t\t\t<span class=\"page-numbers prev\">&laquo; Previous<\/span>\n<a class=\"page-numbers next\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp-idf-esp32\/2\/\">Next &raquo;<\/a>\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-366dddf0 elementor-hidden-tablet elementor-hidden-phone elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"366dddf0\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-bda4498\" data-id=\"bda4498\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-744406d7 elementor-widget elementor-widget-text-editor\" data-id=\"744406d7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"rnt-sb-m\"><p><span class=\"rnt-shl\">Learn ESP-IDF ESP32<\/span><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/programming-esp32-esp-idf-vs-code\/\">ESP-IDF Getting Started<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-blink-led\/\">ESP-IDF Blink LED<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-outputs\/\">ESP-IDF Digital Outputs<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\">ESP-IDF Digital Inputs<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\">ESP-IDF PWM<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\">ESP-IDF Analog Input<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\">ESP-IDF GPIO Interrupts<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\">ESP-IDF Wi-Fi Scanner<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\">ESP-IDF Web Server<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\">ESP-IDF VS Code<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\">ESP-IDF Template<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/esp32-pinout-reference-gpios\/\">ESP32 Pinout<\/a><\/p><p><span class=\"rnt-shl\">Learn More<\/span><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32\/\">Learn ESP32<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp8266\/\">Learn ESP8266<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-cam\/\">Learn ESP32-CAM<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-esp8266-micropython\/\">Learn MicroPython<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/projects-arduino\/\">Learn Arduino<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/build-web-servers-esp32-esp8266-ebook\/\">Build Web Servers eBook<\/a><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/firebase-esp32-esp8266-ebook\/\">Firebase Web App eBook<\/a><\/p><p><strong><a href=\"https:\/\/randomnerdtutorials.com\/smart-home-ebook\/\">Smart Home eBook<\/a><\/strong><\/p><p><a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\"><strong>ESP32 Premium Course \u00bb<\/strong><\/a><\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b416e05 elementor-search-form--skin-classic elementor-search-form--button-type-icon elementor-search-form--icon-search elementor-widget elementor-widget-search-form\" data-id=\"6b416e05\" data-element_type=\"widget\" data-settings=\"{&quot;skin&quot;:&quot;classic&quot;}\" data-widget_type=\"search-form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<search role=\"search\">\n\t\t\t<form class=\"elementor-search-form\" action=\"https:\/\/randomnerdtutorials.com\" method=\"get\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-search-form__container\">\n\t\t\t\t\t<label class=\"elementor-screen-only\" for=\"elementor-search-form-6b416e05\">Search<\/label>\n\n\t\t\t\t\t\n\t\t\t\t\t<input id=\"elementor-search-form-6b416e05\" placeholder=\"Search...\" class=\"elementor-search-form__input\" type=\"search\" name=\"s\" value=\"\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-search-form__submit\" type=\"submit\" aria-label=\"Search\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-search\"><\/i>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/form>\n\t\t<\/search>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-647ac8e\" data-id=\"647ac8e\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-97a44e elementor-widget elementor-widget-text-editor\" data-id=\"97a44e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"rnt-menu-top-links\" style=\"margin-top: 10px; padding: 10px;\"><a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/\">HOME<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp32\/\">ESP32<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp8266\/\">ESP8266<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-cam\/\">ESP32-CAM<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-raspberry-pi\/\">RPi<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-esp8266-micropython\/\">MICROPYTHON<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-raspberry-pi-pico\/\">RPi PICO<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-esp-idf-esp32\/\">ESP-IDF<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/randomnerdtutorials.com\/projects-arduino\/\">ARDUINO<\/a>\n<a class=\"rntn-top-menu\" href=\"https:\/\/makeradvisor.com\/\" target=\"_blank\" rel=\"noopener\">REVIEWS<\/a><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-720e34b4 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"720e34b4\" data-element_type=\"widget\" data-settings=\"{&quot;pagination_type&quot;:&quot;numbers_and_prev_next&quot;,&quot;classic_columns&quot;:&quot;3&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:35,&quot;sizes&quot;:[]},&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-190643 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-190971\" alt=\"ESP-IDF ESP32 Simple Web Server Serve HTML Page\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/03\/ESP-IDF-ESP32-Simple-Web-Server-Serve-HTML-Page.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-web-server\/\" >\n\t\t\t\tESP-IDF: ESP32 Simple Web Server (Serve HTML Page)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-187575 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-189776\" alt=\"ESP-IDF ESP32 Wi-Fi Scanner Scan Nearby Networks RSSI\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-Scan-Networks.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-wi-fi-scanner\/\" >\n\t\t\t\tESP-IDF: ESP32 Wi-Fi Scanner (Scan Nearby Networks RSSI)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-176281 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-187411\" alt=\"ESP-IDF ESP32 GPIO Interrupts Button with Debouncing\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2026\/01\/ESP32-ESP-IDF-GPIO-Interrupts-Button-Debouncing.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-interrupts\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO Interrupts (Button with Debouncing)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-175829 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-177115\" alt=\"ESP-IDF ESP32 GPIO Read Analog Input ADC Analog to Digital Converter\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Analog-Input-ADC-Analog-to-Digital-Converter.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-analog-adc\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO &#8211; Read Analog Input (ADC &#8211; Analog to Digital Converter)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-175191 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-177119\" alt=\"ESP-IDF ESP32 GPIO Read Digital Inputs\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP-IDF-ESP32-GPIO-Read-Digital-Inputs.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-inputs\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO &#8211; Read Digital Inputs\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-179853 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-179854\" alt=\"ESP-IDF Create Template ESP32 Project using VS Code\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/10\/ESP32-IDF-Create-Template.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-template-project-vs-code\/\" >\n\t\t\t\tESP-IDF: Create Template ESP32 Project using VS Code\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-174268 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-175045\" alt=\"ESP-IDF: ESP32 GPIO PWM with LEDC Control LED Brightness\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/08\/ESP-IDF-ESP32-GPIO-PWM-LEDC-Control-LED-Brightness.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-pwm-ledc\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO PWM with LEDC (Control LED Brightness)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-176674 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-176676\" alt=\"Install ESP-IDF Extension for ESP32 on VS Code (Windows, Mac OS X, Linux)\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/09\/ESP32-Install-ESP-IDF-Extension-VS-Code-Windows-Mac-OS-X-Linux.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/install-esp-idf-extension-esp32-on-vs-code\/\" >\n\t\t\t\tInstall ESP-IDF Extension for ESP32 on VS Code (Windows, Mac OS X, Linux)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-173537 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-outputs\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-173926\" alt=\"ESP-IDF: ESP32 GPIO Control Digital Outputs\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/07\/ESP32-ESP-IDF-Digital-Outputs.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-gpio-outputs\/\" >\n\t\t\t\tESP-IDF: ESP32 GPIO &#8211; Control Digital Outputs\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-170519 post type-post status-publish format-standard has-post-thumbnail hentry category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-blink-led\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-171105\" alt=\"ESP-IDF ESP32 Blink LED Example VS Code\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/06\/ESP32-ESP-IDF-Blink-LED.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp-idf-esp32-blink-led\/\" >\n\t\t\t\tESP-IDF: ESP32 Blink LED Example (VS Code)\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-170029 post type-post status-publish format-standard has-post-thumbnail hentry category-0-other category-esp-idf category-esp32-esp-idf category-project\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/randomnerdtutorials.com\/programming-esp32-esp-idf-vs-code\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?fit=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-medium size-medium wp-image-170352\" alt=\"Programming ESP32 with ESP-IDF using VS Code - Getting Started Guide\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP-IDF-Getting-Started.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h2 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/programming-esp32-esp-idf-vs-code\/\" >\n\t\t\t\tProgramming ESP32 with ESP-IDF using VS Code &#8211; Getting Started Guide\t\t\t<\/a>\n\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d3ab23c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d3ab23c\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-59844619\" data-id=\"59844619\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2329432a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2329432a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-11d582c8\" data-id=\"11d582c8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7fcf4b41 elementor-widget elementor-widget-image\" data-id=\"7fcf4b41\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\">\n\t\t\t\t\t\t\t<img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/elementor\/thumbs\/Learn-ESP32-with-Arduino-IDE-eBook-3rd-edition-cover-image-qtt5kwng4iaoewd6bex7ytx635y98z2oth832w3dog.jpg?w=1200&#038;quality=100&#038;strip=all&#038;ssl=1\" title=\"Learn-ESP32-with-Arduino-IDE-eBook-3rd-edition-cover-image\" alt=\"Learn ESP32 with Arduino IDE eBook 3rd edition cover image\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-272d5d20\" data-id=\"272d5d20\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-49f30325 elementor-widget elementor-widget-heading\" data-id=\"49f30325\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\">Enroll in Learn ESP32 with Arduino IDE<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37e7f799 elementor-widget elementor-widget-text-editor\" data-id=\"37e7f799\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThis is a practical course where you\u2019ll learn how to take the most out of the ESP32 using the Arduino IDE. It includes projects, tips, and tricks!\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6481263c elementor-widget elementor-widget-button\" data-id=\"6481263c\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">DOWNLOAD NOW \u00bb<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-73db746b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"73db746b\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;shape_divider_top&quot;:&quot;waves&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7\n\tc23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4\n\tc21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-128bead5\" data-id=\"128bead5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-454cd56c elementor-widget elementor-widget-heading\" data-id=\"454cd56c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">About Random Nerd Tutorials<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a763b07 elementor-widget elementor-widget-heading\" data-id=\"4a763b07\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Random Nerd Tutorials is an online resource with electronics projects, tutorials and reviews. Creating and posting new projects takes a lot of time. At this moment, Random Nerd Tutorials has approximately 700 free blog posts with complete tutorials using open source hardware and software that anyone can read, remix and apply to their own projects. To keep free tutorials coming, there\u2019s also paid content or what I call \u201cPremium Content\u201d. To support Random Nerd Tutorials you can get Premium Content above.\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ESP-IDF: ESP32 Projects, Tutorials and Guides The ESP32 is a development board that combines Wi-Fi and Bluetooth wireless capabilities, and dual core. It supports peripherals such as: ADC, DAC, I2C,<\/p>\n","protected":false},"author":1,"featured_media":190069,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-190047","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/pages\/190047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=190047"}],"version-history":[{"count":23,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/pages\/190047\/revisions"}],"predecessor-version":[{"id":194052,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/pages\/190047\/revisions\/194052"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/190069"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=190047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}