{"id":154906,"date":"2024-05-06T16:02:55","date_gmt":"2024-05-06T16:02:55","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?p=154906"},"modified":"2025-03-19T14:47:51","modified_gmt":"2025-03-19T14:47:51","slug":"arduino-ide-2-install-esp32-littlefs","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/arduino-ide-2-install-esp32-littlefs\/","title":{"rendered":"Arduino IDE 2: Install ESP32 LittleFS Uploader (Upload Files to the Filesystem)"},"content":{"rendered":"\n<p>In this guide, you&#8217;ll learn how to upload files to the ESP32 LittleFS Filesystem using Arduino IDE 2 (2.2.1 or a higher version). We&#8217;ll install an uploader plugin that will add a new menu to the Arduino IDE. This plugin is also compatible with the ESP8266 and Raspberry Pi Pico boards.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?quality=100&#038;strip=all&#038;ssl=1\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Arduino IDE 2 Install ESP32 LittleFS Uploader Upload Files to the Filesystem\" class=\"wp-image-154916\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"rntbox rntclblue\"><strong>Using an ESP8266?<\/strong> Follow this tutorial instead: <a href=\"https:\/\/randomnerdtutorials.com\/arduino-ide-2-install-esp8266-littlefs\/\">Arduino IDE 2: Install ESP8266 NodeMCU LittleFS Uploader (Upload Files to the Filesystem)<\/a>.<\/p>\n\n\n\n<p><strong>Table of Contents<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#introduction\">Introducing LittleFS<\/a><\/li>\n\n\n\n<li><a href=\"#installing\">Installing LittleFS Filesystem Uploader Plugin<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"#installing-windows\">Windows Instructions<\/a><\/li>\n\n\n\n<li><a href=\"#installing-MAC\">Mac OS X Instructions<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#upload-files\">Uploading Files to ESP32 using the Filesystem Uploader<\/a><\/li>\n\n\n\n<li><a href=\"#testing\">Testing the ESP32 LittleFS Uploader<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"rntbox rntclgray\">If you&#8217;re still using <strong>Arduino 1.8<\/strong>, you can follow this tutorial instead: <a href=\"https:\/\/randomnerdtutorials.com\/esp32-littlefs-arduino-ide\/\">ESP32: Upload Files to LittleFS using Arduino IDE (legacy)<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introduction\">Introducing LittleFS<\/h2>\n\n\n\n<p>LittleFS is a lightweight filesystem created for microcontrollers that lets you access the flash memory as you do in a standard file system on your computer, but it&#8217;s simpler and more limited. You can read, write, close, and delete files. Using LittleFS with the ESP32 boards is useful to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create configuration files with settings;<\/li>\n\n\n\n<li>Save data permanently;<\/li>\n\n\n\n<li>Create files to save small amounts of data instead of using a microSD card;<\/li>\n\n\n\n<li>Save HTML, CSS, and JavaScript files to build a web server;<\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/display-images-esp32-esp8266-web-server\/\">Save images, figures, and icons<\/a>;<\/li>\n\n\n\n<li>And much more.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"installing\">Installing the LittleFS Uploader Plugin on Arduino IDE 2<\/h2>\n\n\n\n<p>To upload files to the ESP32 on <a href=\"https:\/\/randomnerdtutorials.com\/installing-esp32-arduino-ide-2-0\/\" title=\"\">Arduino IDE 2<\/a>, we&#8217;ll use <a href=\"https:\/\/github.com\/earlephilhower\/arduino-littlefs-upload\" target=\"_blank\" rel=\"noopener\" title=\"\">this LittleFS Uploader plugin<\/a> that is compatible with Arduino 2.2.1 or higher and can be used with the ESP32, <a href=\"https:\/\/randomnerdtutorials.com\/arduino-ide-2-install-esp8266-littlefs\/\" title=\"\">ESP8266<\/a>,<a href=\"https:\/\/randomnerdtutorials.com\/projects-esp8266\/\" title=\"\"> <\/a>and <a href=\"https:\/\/randomnerdtutorials.com\/projects-raspberry-pi-pico\/\" title=\"\">Raspberry Pi Pico boards<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installing-windows\">Windows Instructions<\/h3>\n\n\n\n<p>Follow the next steps to install the filesystem uploader if you&#8217;re using Windows (<a href=\"#installing-MAC\" title=\"\">click here for MacOS instructions<\/a>):<\/p>\n\n\n\n<p><strong>1)<\/strong> Go to the <a href=\"https:\/\/github.com\/earlephilhower\/arduino-littlefs-upload\/releases\" target=\"_blank\" rel=\"noopener\" title=\"\">releases page<\/a> and click the <em>.vsix<\/em> file to download.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"446\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?resize=750%2C446&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Download vsix file to install filesystem uploader plugin\" class=\"wp-image-154908\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?resize=300%2C178&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p><strong>2)<\/strong> On your computer, go to the following path: <span class=\"rnthl rntliteral\">C:\\Users\\&lt;username&gt;\\.arduinoIDE\\<\/span>. Create a new folder called <em>plugins <\/em>if you haven&#8217;t already.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"906\" height=\"527\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/create-plugins-folder-arduino-ide.png?resize=906%2C527&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Create Plugins Folder Arduino IDE 2\" class=\"wp-image-148535\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/create-plugins-folder-arduino-ide.png?w=906&amp;quality=100&amp;strip=all&amp;ssl=1 906w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/create-plugins-folder-arduino-ide.png?resize=300%2C175&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/create-plugins-folder-arduino-ide.png?resize=768%2C447&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/figure><\/div>\n\n\n<p><strong>3)<\/strong> Move the <em>.vsix<\/em> file you downloaded previously to the <em>plugins <\/em>folder (remove any other previous versions of the same plugin if that&#8217;s the case).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"777\" height=\"271\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-ide-2-plugins.png?resize=777%2C271&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Moving LittleFS uploader to the plugins folder arduino ide 2\" class=\"wp-image-154909\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-ide-2-plugins.png?w=777&amp;quality=100&amp;strip=all&amp;ssl=1 777w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-ide-2-plugins.png?resize=300%2C105&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-ide-2-plugins.png?resize=768%2C268&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><\/figure><\/div>\n\n\n<p><strong>4)<\/strong> Restart or open the Arduino IDE 2. To check if the plugin was successfully installed, press [<strong>Ctrl<\/strong>] + [<strong>Shift<\/strong>] + [<strong>P<\/strong>] to open the command palette. An instruction called &#8216;<strong>Upload Little FS to Pico\/ESP8266\/ESP32<\/strong>&#8216; should be there (just scroll down or search for the name of the instruction).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"586\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico.png?resize=732%2C586&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Upload LittleFS to Pico\/ESP8266\/ESP32\" class=\"wp-image-154910\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico.png?w=732&amp;quality=100&amp;strip=all&amp;ssl=1 732w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico.png?resize=300%2C240&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure><\/div>\n\n\n<p>That means the plugin was installed successfully. Proceed to <a href=\"#upload-files\" title=\"\">this section <\/a>to test the filesystem uploader plugin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installing-MAC\">Mac OS X Instructions<\/h3>\n\n\n\n<p>Follow the next steps to install the filesystem uploader if you&#8217;re using Mac OS X:<\/p>\n\n\n\n<p><strong>1)<\/strong> Go to the <a href=\"https:\/\/github.com\/earlephilhower\/arduino-littlefs-upload\/releases\" target=\"_blank\" rel=\"noopener\" title=\"\">releases page<\/a> and click the <em>.vsix<\/em> file to download.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"446\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?resize=750%2C446&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"LittleFS Uploader Plugin ESP32 ESP8266 Pico Upload Files to the Filesystem\" class=\"wp-image-154908\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/arduino-littlefs-upload-vsix-file.png?resize=300%2C178&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p><strong>2)<\/strong> In Finder, type <span class=\"rnthl rntliteral\">~\/.arduinoIDE\/<\/span> and open that directory.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"203\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Arduino-IDE-Directory-MACOS-f.png?resize=750%2C203&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"In Finder type ~\/.arduinoIDE open that directory\" class=\"wp-image-148588\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Arduino-IDE-Directory-MACOS-f.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Arduino-IDE-Directory-MACOS-f.png?resize=300%2C81&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p><strong>3)<\/strong> Create a new folder called <em>plugins<\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"316\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Create-plugins-folder-arduino-ide-macos.png?resize=750%2C316&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"creating a plugins folder Arduino IDE 2 MacOS\" class=\"wp-image-148555\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Create-plugins-folder-arduino-ide-macos.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/Create-plugins-folder-arduino-ide-macos.png?resize=300%2C126&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p><strong>4)<\/strong> Move the <em>.vsix<\/em> file to the <em>plugins <\/em>folder (remove any other previous versions of the same plugin if that&#8217;s the case).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"309\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/moving-vsix-file-arduino-ide-2-mac-os.png?resize=750%2C309&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Moving vsix file Arduino IDE 2 in Mac OS - Uploader Plugin\" class=\"wp-image-154928\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/moving-vsix-file-arduino-ide-2-mac-os.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/moving-vsix-file-arduino-ide-2-mac-os.png?resize=300%2C124&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p><strong>5)<\/strong> Restart or open the Arduino IDE 2. To check if the plugin was successfully installed, press [<strong>\u2318<\/strong>] + [<strong>Shift<\/strong>] + [<strong>P<\/strong>] to open the command palette. An instruction called &#8216;<strong>Upload LittleFS to Pico\/ESP8266\/ESP32<\/strong>&#8216; should be there (just scroll down or search for the name of the instruction).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"254\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Arduino-IDE-Upload-Filesystem-Image-ESP32-MacOS.png?resize=750%2C254&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Arduino IDE 2 Upload Filesystem Image ESP32\" class=\"wp-image-154931\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Arduino-IDE-Upload-Filesystem-Image-ESP32-MacOS.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Arduino-IDE-Upload-Filesystem-Image-ESP32-MacOS.png?resize=300%2C102&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"upload-files\">Uploading Files to ESP32 using the Filesystem Uploader in Arduino IDE 2<\/h2>\n\n\n\n<p>To upload files to the ESP32 LittleFS filesystem, follow the next instructions.<\/p>\n\n\n\n<p><strong>1)<\/strong> Create an Arduino sketch and save it. For demonstration purposes, you can save an empty sketch.<\/p>\n\n\n\n<p><strong>2)<\/strong> Then, open the sketch folder. You can go to <strong>Sketch<\/strong> &gt; <strong>Show Sketch Folder<\/strong>. The folder where your sketch is saved should open.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"715\" height=\"374\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/arduino-ide-2-show-sketch-folder.png?resize=715%2C374&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Arduino IDE 2 Show Sketch Folder\" class=\"wp-image-148541\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/arduino-ide-2-show-sketch-folder.png?w=715&amp;quality=100&amp;strip=all&amp;ssl=1 715w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/arduino-ide-2-show-sketch-folder.png?resize=300%2C157&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 715px) 100vw, 715px\" \/><\/figure><\/div>\n\n\n<p><strong>3)<\/strong> Inside that folder, create a new folder called <span class=\"rnthl rntliteral\"><strong><em>data<\/em><\/strong><\/span>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"129\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/creating-data-folder.png?resize=250%2C129&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Creating a data folder inside the sketch folder\" class=\"wp-image-148542\"\/><\/figure><\/div>\n\n\n<p><strong>4)<\/strong> Inside the <span class=\"rnthl rntliteral\"><strong><em>data<\/em><\/strong><\/span> folder is where you should put the files you want to upload to the ESP32 filesystem. As an example, create a <em>.txt<\/em> file with some text called <em>test_example<\/em>.<em>txt<\/em> (and save it inside the <em>data <\/em>folder).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"515\" height=\"265\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/test_file_esp32_filesystem.png?resize=515%2C265&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Testing the ESP32 filesystem txt file\" class=\"wp-image-154912\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/test_file_esp32_filesystem.png?w=515&amp;quality=100&amp;strip=all&amp;ssl=1 515w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/test_file_esp32_filesystem.png?resize=300%2C154&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/figure><\/div>\n\n\n<p><strong>5)<\/strong> Make sure you have the right board (<strong>Tools <\/strong>&gt; <strong>Board<\/strong>) and COM port selected (<strong>Tools <\/strong>&gt; <strong>Port<\/strong>).<\/p>\n\n\n\n<p><strong>6)<\/strong> Depending on the ESP32 board selected, you may need to select the desired flash size (some boards don&#8217;t have that option, don&#8217;t worry). In the Arduino IDE, in <strong>Tools<\/strong> &gt; <strong>Flash size<\/strong>, select the desired flash size (this will depend on the size of your files).<\/p>\n\n\n\n<p><strong>7)<\/strong> Then, upload the files to the ESP32 board. Press [<strong>Ctrl<\/strong>] + [<strong>Shift<\/strong>] + [<strong>P<\/strong>] on Windows or [<strong>\u2318<\/strong>] + [<strong>Shift<\/strong>] + [<strong>P<\/strong>] on MacOS to open the command palette. Search for the <strong>Upload LittleFS to Pico\/ESP8266\/ESP32<\/strong> command and click on it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"586\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico-1.png?resize=732%2C586&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Upload LittleFS to Pico\/ESP8266\/ESP32\" class=\"wp-image-154913\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico-1.png?w=732&amp;quality=100&amp;strip=all&amp;ssl=1 732w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Upload-littlefs-esp32-esp8266-pico-1.png?resize=300%2C240&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure><\/div>\n\n\n<p class=\"rntbox rntcred\"><strong>Important: <\/strong> ensure the Serial Monitor is closed. Otherwise, the upload will fail.<\/p>\n\n\n\n<p>After a few seconds, you should get the message &#8220;<strong>Completed upload.<\/strong> &#8220;. The files were successfully uploaded to the ESP32 filesystem.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"586\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/littlefs-upload-completed-esp32-arduino-ide-2.png?resize=666%2C586&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Arduino IDE 2: files uploaded successfully to the ESP32 filesystem\" class=\"wp-image-154914\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/littlefs-upload-completed-esp32-arduino-ide-2.png?w=666&amp;quality=100&amp;strip=all&amp;ssl=1 666w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/littlefs-upload-completed-esp32-arduino-ide-2.png?resize=300%2C264&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><\/figure><\/div>\n\n\n<p><strong>Troubleshooting<\/strong><\/p>\n\n\n\n<p>If you get the following error message &#8220;<a href=\"https:\/\/github.com\/earlephilhower\/arduino-littlefs-upload\/issues\/12\" target=\"_blank\" rel=\"noopener\" title=\"\">ERROR: No port specified, check IDE menus<\/a>&#8220;, restart the Arduino IDE, and try again. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"testing\">Testing the ESP32 LittleFS Uploader<\/h2>\n\n\n\n<p>Now, let\u2019s check if the file was saved into the ESP32 filesystem. Upload the following code to your ESP32 board. This code will read the contents of the <em>.txt<\/em> file you saved previously on LittleFS.<\/p>\n\n\n<pre style=\"max-height: 40em; margin-bottom: 20px;\"><code class=\"language-c\">#include &quot;LittleFS.h&quot;\n \nvoid setup() {\n  Serial.begin(115200);\n  \n  if(!LittleFS.begin()){\n    Serial.println(&quot;An Error has occurred while mounting LittleFS&quot;);\n    return;\n  }\n  \n  File file = LittleFS.open(&quot;\/test_example.txt&quot;, &quot;r&quot;);\n  if(!file){\n    Serial.println(&quot;Failed to open file for reading&quot;);\n    return;\n  }\n  \n  Serial.println(&quot;File Content:&quot;);\n  while(file.available()){\n    Serial.write(file.read());\n  }\n  file.close();\n}\n \nvoid loop() {\n\n}\n<\/code><\/pre>\n\t<p style=\"text-align:center\"><a class=\"rntwhite\" href=\"https:\/\/github.com\/RuiSantosdotme\/build-web-servers-ebook\/raw\/main\/Test_LITTLEFS_ESP8266\/Test_LITTLEFS_ESP8266.ino\" target=\"_blank\">View raw code<\/a><\/p>\n\n\n\n<p>After uploading, open the Serial Monitor at a baud rate of 115200. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/serial-monitor-logo-arduino-ide-2.png?quality=100&#038;strip=all&#038;ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"41\" height=\"39\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/02\/serial-monitor-logo-arduino-ide-2.png?resize=41%2C39&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Open Arduino IDE 2 Serial Monitor baud rate of 115200\" class=\"wp-image-148549\"\/><\/a><\/figure><\/div>\n\n\n<p>Press the ESP32 on-board &#8220;RST&#8221; button. It should print the content of your <em>.txt<\/em> file in the Serial Monitor.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"687\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/testing-esp32-filesystem-arduino-ide-2.png?resize=666%2C687&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Testing the ESP8266 Filesystem Uploader Plugin Arduino IDE 2\" class=\"wp-image-154915\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/testing-esp32-filesystem-arduino-ide-2.png?w=666&amp;quality=100&amp;strip=all&amp;ssl=1 666w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/testing-esp32-filesystem-arduino-ide-2.png?resize=291%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 291w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><\/figure><\/div>\n\n\n<p>You&#8217;ve successfully uploaded files to the ESP32 filesystem using the plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>In this tutorial, we&#8217;ve shown you how to upload files to the ESP32 LittleFS filesystem on <a href=\"https:\/\/randomnerdtutorials.com\/installing-esp32-arduino-ide-2-0\/\" title=\"\">Arduino IDE 2<\/a> using an uploader plugin.<\/p>\n\n\n\n<p>We&#8217;ve shown you how to upload a <em>.txt<\/em> file, but you can upload other file formats like HTML, CSS, and Javascript files to build a web server, images, or small icons, save configuration files, etc.<\/p>\n\n\n\n<p>To learn more about the ESP32, check our resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\" title=\"\"><strong>Learn ESP32 with Arduino IDE (eBook)<\/strong><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/smart-home-ebook\/\"><strong>SMART HOME with Raspberry Pi, ESP32, ESP8266<\/strong><\/a><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/randomnerdtutorials.com\/build-web-servers-esp32-esp8266-ebook\/\">Build Web Servers with ESP32 and ESP8266<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/randomnerdtutorials.com\/firebase-esp32-esp8266-ebook\/\">Firebase Web App with ESP32 and ESP8266<\/a><\/strong><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32\/\" title=\"\"><strong>More ESP32 Tutorials and Guides<\/strong><\/a><\/li>\n<\/ul>\n\n\n\n<p>Thanks for reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, you&#8217;ll learn how to upload files to the ESP32 LittleFS Filesystem using Arduino IDE 2 (2.2.1 or a higher version). We&#8217;ll install an uploader plugin that will &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Arduino IDE 2: Install ESP32 LittleFS Uploader (Upload Files to the Filesystem)\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/arduino-ide-2-install-esp32-littlefs\/#more-154906\" aria-label=\"Read more about Arduino IDE 2: Install ESP32 LittleFS Uploader (Upload Files to the Filesystem)\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":154916,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[276,281,277,299,264],"tags":[],"class_list":["post-154906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp32","category-esp32-project","category-esp32-arduino-ide","category-0-esp32","category-project"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2024\/05\/Installing-LittleFS-Plugin-Arduino-IDE-2-ESP32.jpg?fit=1280%2C720&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/154906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=154906"}],"version-history":[{"count":7,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/154906\/revisions"}],"predecessor-version":[{"id":168137,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/154906\/revisions\/168137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/154916"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=154906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=154906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=154906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}