{"id":8999,"date":"2025-09-09T19:21:41","date_gmt":"2025-09-10T02:21:41","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=8999"},"modified":"2025-09-09T19:21:41","modified_gmt":"2025-09-10T02:21:41","slug":"consolidated-esp32-toolchain","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/documentation\/espidf\/consolidated\/","title":{"rendered":"Consolidated ESP32 Toolchain"},"content":{"rendered":"<p>VisualGDB 6.1 and later uses the same ESP32 tools and ESP-IDF directories, that are used by the Espressif&#8217;s VS Code extension. To enable this option, make sure you select the&#8221;ESP32 (Consolidated)&#8221; in the toolchain selector across the VisualGDB GUI:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/consolidated.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9000\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/consolidated.png\" alt=\"\" width=\"823\" height=\"593\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/consolidated.png 823w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/consolidated-300x216.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/consolidated-768x553.png 768w\" sizes=\"(max-width: 823px) 100vw, 823px\" \/><\/a><\/p>\n<p>This setup supports the same ESP-IDF and ADF version as the Espressif&#8217;s VS code extension, installed in the same locations. You can get a detailed overview of the install tools via <strong>Tools-&gt;VisualGDB-&gt;Manage VisualGDB Packages-&gt;Vendor-specific Tools-&gt;Espressif<\/strong>:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9010\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1.png\" alt=\"\" width=\"1186\" height=\"793\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1.png 1186w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1-300x201.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1-1024x685.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tools-1-768x514.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/a><\/p>\n<p>VisualGDB keeps a track of various of tools needed by each ESP-IDF version (e.g. the Xtensa compiler) and can automatically detect the missing dependencies and install them:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9011\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2.png\" alt=\"\" width=\"1186\" height=\"793\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2.png 1186w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2-300x201.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2-1024x685.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/missing-2-768x514.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/a>You can also delete the packages from the bottom list by pressing the Delete key, and re-download them from the Espressif servers:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/progress.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9004\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/progress.png\" alt=\"\" width=\"653\" height=\"381\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/progress.png 653w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/progress-300x175.png 300w\" sizes=\"(max-width: 653px) 100vw, 653px\" \/><\/a><\/p>\n<h2>Troubleshooting<\/h2>\n<p>VisualGDB includes several convenient tools to simplify troubleshooting of ESP-IDF issues. First of all, you can quickly clone a sample project and try building it with the selected ESP-IDF checkout:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/testproj-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9006\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/testproj-1.png\" alt=\"\" width=\"786\" height=\"443\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/testproj-1.png 786w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/testproj-1-300x169.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/testproj-1-768x433.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a>VisualGDB saves the build command with all environment variables into a <strong>built.bat<\/strong> file in the cloned project&#8217;s directory, so you can use it for troubleshooting.<\/p>\n<p>If it looks like the project doesn&#8217;t build due to broken tools (e.g. Python environment), you can use the &#8220;<strong>Reset all packages<\/strong>&#8221; button to delete all tools required by the selected checkout, and re-install them from scratch:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9012\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset.png\" alt=\"\" width=\"1186\" height=\"415\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset.png 1186w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset-300x105.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset-1024x358.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/reset-768x269.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/a><\/p>\n<h2>Installing new ESP-IDF versions<\/h2>\n<p>You can use the &#8220;Download another ESP-IDF checkout&#8221; button to quickly install another version of ESP-IDF or ADF, exactly the same way as the Espressif VS Code extension would do:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/newidf.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9029\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/newidf.png\" alt=\"\" width=\"864\" height=\"614\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/newidf.png 864w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/newidf-300x213.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/newidf-768x546.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><\/a>The list of tags and branches comes directly from Espressif, and matches the versions shown in their VS Code extension. Note that the ESP-IDF tags (e.g. <strong>v5.5.1<\/strong>) are downloaded as Zip files, and branches (e.g. <strong>release\/v5.5<\/strong>) are cloned by running the Git client, which is slower and requires more disk space. All ESP-ADF versions are fetched using the Git client.<\/p>\n<h2>Troubleshooting VisualGDB Projects<\/h2>\n<p>You can use the new Smart Terminal GUI to easily troubleshoot ESP-IDF build problems. Right-click on the build command line in the <strong>VisualGDB Build<\/strong> window and select &#8220;Run in Smart Terminal&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/runinterm.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9013\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/runinterm.png\" alt=\"\" width=\"888\" height=\"261\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/runinterm.png 888w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/runinterm-300x88.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/runinterm-768x226.png 768w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/a><\/p>\n<p>This will run the command in the terminal window, normally producing the same error messages. Now you can use the command-line editor or the environment editor to inspect and change various parameters (e.g. PATH variable) and quickly run several experiments to see what could be causing the error:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tweak.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9014\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tweak.png\" alt=\"\" width=\"886\" height=\"584\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tweak.png 886w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tweak-300x198.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2025\/09\/tweak-768x506.png 768w\" sizes=\"(max-width: 886px) 100vw, 886px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>VisualGDB 6.1 and later uses the same ESP32 tools and ESP-IDF directories, that are used by the Espressif&#8217;s VS Code<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[197],"tags":[160],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8999"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=8999"}],"version-history":[{"count":4,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8999\/revisions"}],"predecessor-version":[{"id":9030,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/8999\/revisions\/9030"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=8999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=8999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=8999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}