Hi,
I did exactly what is in the readme, however, after I click on «ESP8266 LittleFS data upload» I get this error:
LittleFS Error: mklittlefs not found!
Which is weird, because I did install mklittlefs:
mklittlefs —version
mklittlefs version: 0.2.3-31-g295fe9b
Same here, after update ESP8266 core v3.0.0, cant Data upload with LittleFS
Same here, after update ESP8266 core v3.0.0, cant Data upload with LittleFS
3.0 is still in beta stage, I don’t think it allows plugins for now, use a stable version
3.0 is still in beta stage, I don’t think it allows plugins for now, use a stable version
Ok, thank you for info
Same, after update ESP8266 core v3.0.0, cant Data upload with LittleFS
The branch ESP8266 Core 3.0.0 has a fix
«Re-add mklittlefs to package.json (# 8060)», but apparently it didn’t help. Yesterday (06/01/21) I tried to install the Core 3.0.0 using the «Board Manager». When trying to load the LittleFS file system into the board, the same error «littlefs error: mklittlefs not found!» occurred. The SPIFFS file system boots normally. Are there any ways to fix the problem.
The updated core is not yet released with patch. Until then, please use the git version.
Version 1.8.15 has this error. I am not able to use LITTLEFS anymore. The new program is now a .java program. How to restore the old procedures? Should I uninstall v2.0.0? All files are in place the .jar file is still there, but it needs this mklittlefs which I cannot find. As this is now the standard filesystem I expect to have a standard procedure to upload files to the filesystem in that format. Why this hocus-pocus via external contributors????
- Skip to main content
- Skip to primary sidebar
RNTLab.com
The Ultimate Shortcut to Learn Electronics and Programming with Open Source Hardware and Software
I am getting the title line error when attempting to upload a file to my esp8266 board via the Arduino IDE. I believe I have followed the instructions and I cannot find anything to help resolve this issue.
14 Answers
Hi.
What menu do you have in the Arduino IDE to upload files?
Does it say “ESP8266 LittleFS Data Upload”?
Regards,
Sara
As per the ebook Build Web Servers esp32 esp8266, it goes through this progression.
install Arduino IDE – had it prior to ebook
install ESP8266 addons – board has been installed prior to ebook
setup to use LittleFS: get the latest code. I downloaded ESP8266LittleFS-2.6.0 I created this folder path as it did not exist: >/tools/ESP8266FS/tool/. I unzipped the .jar file to this location and started up the Arduino IDE. It then says to open a blank sketch and save it. I then went to that sketch, created a data folder and made a text file within it. I complied the sketch. I then changed the flash size to 4M (1M SPIFFS). After that, I hit the EPS8266 LittleFS Data Upload and I get the error in the compile window.
I did download this zip file but saw no mention of having to use it. arduino-esp8266littlefs-plugin-2.6.0
Hi again.
Can you tell me the complete path where you created the tools folder?
Regards,
Sara
Thanks for trying to help resolve this issue!
C:UsersStephenDocumentsArduinotoolsESP8266LittleFStool
Hi.
It seems that you did everything right.
I don’t know why it is not working as expected.
Meanwhile, I found an issue with that same error on the Plugin GitHub page. Maybe you can post your case there too.
Here’s the link:
https://github.com/earlephilhower/arduino-esp8266littlefs-plugin/issues/15
I hope they can help you.
Otherwise, I recommend uninstalling everything, including your Arduino IDE installation, and start from the beginning.
Regards,
Sara
Hi.
That’s great!
I’m glad you found the solution, and thanks for sharing!
This can be useful for others too.
I’ll mark this issue as resolved. If you need further help, you just need to open a new question in our forum.
Regards,
Sara
Hi, I had the same problem. I tried installing the ESP8266 library V2.6.3 and that solved the problem.
Hi Edward.
Thanks for sharing your feedback.
It is probably some incompatibility with the ESP8266 add-on version.
Regards,
Sara
Seems to be OK with esp8266 board version 3.02
Great!
This issue is closed now.
In this tutorial, you’ll learn how to install the ESP8266 LittleFS Filesystem Uploader Plugin in your Arduino IDE to upload files to the ESP8266 NodeMCU filesystem.
If you want to use LittleFS for the ESP8266 with VS Code + PlatformIO, follow the next tutorial instead:
- ESP8266 NodeMCU with VS Code and PlatformIO: Upload Files to Filesystem (LittleFS)
At the moment, this is not compatible with Arduino 2.0.
Table of Contents
- Introducing LittleFS
- Installing LittleFS Filesystem Uploader Plugin
- Windows Instructions
- Mac OS X Instructions
- Uploading Files to ESP8266 using the Filesystem Uploader
- Testing the ESP8266 LittleFS Uploader
Introducing LittleFS
LittleFS is a lightweight filesystem created for microcontrollers that lets you access the flash memory like you would do in a standard file system on your computer, but it’s simpler and more limited. You can read, write, close, and delete files. Using LittleFS with the ESP8266 boards is especially useful to:
- Create configuration files with settings;
- Save data permanently;
- Create files to save small amounts of data instead of using a microSD card;
- Save HTML, CSS, and JavaScript files to build a web server;
- Save images, figures, and icons;
- And much more.
Installing LittleFS Filesystem Uploader Plugin
You can create, save and write files to the ESP8266 filesystem by writing the code yourself on the Arduino IDE. This is not very useful because you’d have to type your files’ content in the Arduino sketch.
Fortunately, there is a plugin for the Arduino IDE that allows you to upload files directly to the ESP8266 LittleFS filesystem from a folder on your computer. This makes it easy and straightforward to work with files.
SPIFFS is currently deprecated and may be removed in future releases of the ESP8266 core. It is recommended to use LittleFS instead. LittleFS is under active development, supports directories, and is faster for most operations. The methods used for SPIFFS are compatible with LittleFS, so we can simply use the expression LittleFS instead of SPIFFS in our code.
Windows Instructions
Follow the next steps to install the filesystem uploader if you’re using Windows:
1) Go to the releases page and click the ESP8266LittleFS-X.zip file to download.
2) Find your Sketchbook location. In your Arduino IDE, go to File > Preferences and check your Sketchbook location. In my case, it’s in the following path: C:UserssarinDocumentsArduino.
3) Go to the sketchbook location, and create a tools folder.
4) Unzip the downloaded .zip folder. Open it and copy the ESP8266LittleFS folder to the tools folder you created in the previous step. You should have a similar folder structure:
<Sketchbook-location>/tools/ESP8266FS/tool/esp8266fs.jar
5) Finally, restart your Arduino IDE.
To check if the plugin was successfully installed, open your Arduino IDE and select your ESP8266 board. In the Tools menu, check that you have the option “ESP8266 LittleFS Data Upload“.
Mac OS X Instructions
Follow the next steps to install the filesystem uploader if you’re using Mac OS X:
1) Go to the releases page and click the ESP8266LittleFS-X.zip file to download.
2) Unpack the files.
3) Create a folder called tools in /Documents/Arduino/.
4) Copy the unpacked ESP8266LitlteFS folder to the tools directory. You should have a similar folder structure.
~Documents/Arduino/tools/ESP8266FS/tool/esp8266fs.jar
5) Finally, restart your Arduino IDE.
To check if the plugin was successfully installed, open your Arduino IDE. Select your ESP32 board, go to Tools and check that you have the option “ESP8266 LittleFS Data Upload“.
Uploading Files to ESP8266 using the Filesystem Uploader
To upload files to the ESP8266 filesystem, follow the next instructions.
1) Create an Arduino sketch and save it. For demonstration purposes, you can save an empty sketch.
2) Then, open the sketch folder. You can go to Sketch > Show Sketch Folder. The folder where your sketch is saved should open.
3) Inside that folder, create a new folder called data.
4) Inside the data folder is where you should put the files you want to save into the ESP8266 filesystem. As an example, create a .txt file with some text called test_example.
5) In the Arduino IDE, in the Tools menu, select the desired flash size (this will depend on the size of your files).
6) Then, to upload the files in the Arduino IDE, you just need to go to Tools > ESP8266 LittleFS Data Upload.
Important: ensure the Serial Monitor is closed. Otherwise, the upload will fail.
After a few seconds, you should get the message “LittleFS Image Uploaded “. The files were successfully uploaded to the ESP8266 filesystem.
Testing the ESP8266 LittleFS Uploader
Now, let’s check if the file was saved into the ESP8266 filesystem. Upload the following code to your ESP8266 board.
#include "LittleFS.h"
void setup() {
Serial.begin(115200);
if(!LittleFS.begin()){
Serial.println("An Error has occurred while mounting LittleFS");
return;
}
File file = LittleFS.open("/test_example.txt", "r");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
Serial.println("File Content:");
while(file.available()){
Serial.write(file.read());
}
file.close();
}
void loop() {
}
View raw code
After uploading, open the Serial Monitor at a baud rate of 115200. Press the ESP8266 on-board “RST” button. It should print the content of your .txt file on the Serial Monitor.
You’ve successfully uploaded files to the ESP8266 filesystem using the plugin.
Wrapping Up
Using the filesystem uploader plugin is one of the easiest ways to upload files to the ESP8266 filesystem. In this tutorial, we’ve shown you how to upload a .txt 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.
We have a project example in which we build a web server using HTML and CSS files saved on the filesystem (simply replace SPIFFS with LittleFS).
If you want to learn more about the ESP8266, check our resources:
- Home Automation using ESP8266
- Build Web Servers with ESP32 and ESP8266
- Firebase Web App with ESP32 and ESP8266
- More ESP8266 NodeMCU Projects and Guides…
Thanks for reading.
|
|||||
Can’t find mklittlefs.exe (Read 2333 times)
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Can’t find mklittlefs.exe |
Print Post |
Suddenly (I’m not sure if it is related to the latest VM I’m using 2021.106.0) I’m getting an error when trying to publish: SPIFFS Error*: mkspiffs.exe or mklittlefs.exe not found! In my board.txt I have: It has all worked previously. I have mklittlefs in the folder: I haven’t updated my ESP8266 build. Any ideas? |
||
« Last Edit: Jan 19th, 2021 at 6:30pm by Acuario » |
||
|
|
Simon@Visual Micro Administrator Posts: 1637 Joined: Feb 13th, 2019 |
Re: Can’t find mklittlefs.exe |
Print Post |
Could you attach the build output with the Verbose and Show Build Properties set (instructions at top of page in yellow box)? If you add the below to the board.txt does it work? Code p8266toolsmklittlefs2.5.0-4 -fe5bb56 |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
Email sent. Swapping back to my original project. commenting out the complete path lines and everything started working again.. As I say, very strange. |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
This has come back to haunt me again.. Code # Force LittleFS Usage for ESP8266 runtime.tools.mkspiffs.path=notTheToolYoureLookingFor p8266toolsmklittlefs2.5.0-4-b40a506 In one project this works ok and the upload works. Code ESP8266FSUpload.exe ## recipe.wwwfiles.upload.pattern "c:program files (x86)microsoft visual " -serial.port=192.168.0.184 ericDebug" -target_platform="esp8266" -runtime.tools.mkspiffs.path="notTheToolYoureLookingFor" -board.name="Generic ESP8266 Module" -upload.verbose=True -upload.resetmethod=--before default_reset --after hard_reset -upload.speed=256000 esp82662.7.4" -project.name="HPController.ino" -project.path="C:UsersnigelDocumentsArduinoHPController" spython33.7.2-post1/python3" 8266toolsesptool.4.12" ensa-lx106-elf-gcc2.5.0-4-b40a506/bin/" -build.spiffs_start="0x300000" -build.spiffs_end="0x3FA000" -build.spiffs_pagesize="256" -build.spiffs_blocksize="8192" -network.password=j3ss1cam -network.auth_upload=yes -network.port=8266 SPIFFS Error*: mkspiffs.exe or mklittlefs.exe not found! If I comment out the ‘runtime.tools.mkspiffs.path=notTheToolYoureLookingFor’ line then a spiffs file is correctly created and uploaded. Uncomment to force LittleFS and I get the error. I don’t understand why, with essentially identical board.txt files and entries it is working perfectly on one project but fails on another. What to try next? |
||
|
|
Simon@Visual Micro Administrator Posts: 1637 Joined: Feb 13th, 2019 |
Re: Can’t find mklittlefs.exe |
Print Post |
Thanks for the report. So we can see what is happening, would it be possible to enable the below options: Then for each project do a build, and attempt the SPIFFS upload, and attach the logs as txt files? |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
For some, unexplained, reason it’s started working again. I didn’t do anything to fix it, it just ‘happened’ — not something I like as it doesn’t solve the problem.. Next time it happens I will do — I’d love to get to the bottom of it! |
||
|
|
Simon@Visual Micro Administrator Posts: 1637 Joined: Feb 13th, 2019 |
Re: Can’t find mklittlefs.exe |
Print Post |
Thanks for letting us know, if you enable the verbose settings then if it happens the log will be available in full to investigate. |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
Everything worked fine until ..I went on holiday and powered off my pc for 10 days. I checked the path and mklittlefs.exe is there I also tried adding the path in the board.txt — didn’t work either. Further investigations… So it seems the project has to be built for the publish to work. I’ve sent the output files for when it fails, my build and then when it succeeds. |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
It seems this problem is still present in the latest build. — Open any esp8266 sketch. Additionally.. Adding the runtime.tools.mklittlefs.path= to the board.txt makes no difference. Additionally, looking at the verbose output from both outputs (successful and fail) the runtime.tools…. isn’t in the build string. |
||
« Last Edit: Dec 9th, 2021 at 6:22am by Acuario » |
||
|
|
Acuario
Full Member Posts: 198 Joined: Aug 28th, 2015 |
Re: Can’t find mklittlefs.exe |
Print Post |
Ok, thanks for the information. |
||
|
|
Simon@Visual Micro Administrator Posts: 1637 Joined: Feb 13th, 2019 |
Re: Can’t find mklittlefs.exe |
Print Post |
Apologies, we have updated this for the older software as well (< 21.09.17.0 Tab on LittleFS Section). |
||
|
|
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Do you plan to port this (very useful) tool to the new Arduino IDE 2.0 ? Thanks.
Have installed the plugin according to the installation info:
C:UsersHRDocumentsArduinotoolsESP8266LittleFStoolesp8266littlefs.jar
However, the menu ESP8266 LittleFS Data Upload does not show up as indicated in the instruction screenshot.
Used the latest version in this repository.
Any help or solutions? Thank you.
Just wanted to save some one a little time and say: this plugin is not working with the Arduino IDE 2.0.
You have to download and install the Arduino IDE 1.8.x to use this plugin
And don’t forget to copy over your ‘boards manager URLs’
I have been trying to install littlefs on linux but it seems to not be working i have tried following the same tutorials as for mac os and windows but none work is it linxu compatible?
Dears,
I followed the steps you mentioned and I can see no LittleFS in tools.
System: MacOS
Arduino Sketchbook:
Version: 2.0.0-rc6
Date: 2022-04-20T10:22:58.789Z (3 weeks ago)
I have created folder «tools» over ~/Documents/Arduino
and placed ESP8266LittleFS there so I have the path:
~/Documents/Arduino/tools/ESP8266LittleFS/tools/esp8266littlefs.jar.
I did restart Arduino… and nothing.
I tried to play a little putting the LittleFS folder in libraries or over aproject folder and nothing happens…
Any idea what could be wrong?
Thanks in advance
When trying to do OTA in a device with OTA password set, authentication fails.
It doesn’t ask for the password either.
My guess is that it needs to pop the Password request form (I guess it’s this one here ) and pass it as the «-a» argument to espota.py (here)
Hello,
I’ve tried to enable esp8266Littlefs support for my Arduino IDE 1.8.13. I downloaded the ESP8266LittleFS-2.6.0.zip from here
https://github.com/earlephilhower/arduino-esp8266littlefs-plugin/releases
and copied the 8kb esp8266littlefs.jar to my sketchbook path as mentioned in the preferences to
sketchbook/tools/ESP8266LittleFS/tools/esp8266littlefs.jar
There is also located sketchbook/ESP32FS/tools/esp32fs.jar and
sketchbook/WiFi101/tools/WiFi101.jar
The last 2 plugins are both appear in the IDE but not the esp8266littlefs-plugin.
My Sketch itself works well
mounting LittleFS…
*WM: [1] AutoConnect
*WM: [2] Connecting as wifi client…
*WM: [3] STA static IP:
*WM: [2] setSTAConfig static ip not set, skipping
*WM: [1] Connecting to SAVED AP: xxxxxxxxxxxx
*WM: [3] Using Password: 1
*WM: [3] WiFi station enable
*WM: [3] enableSTA PERSISTENT ON
*WM: [1] connectTimeout not set, ESP waitForConnectResult…
*WM: [2] Connection result: WL_CONNECTED
*WM: [3] lastconxresult: WL_CONNECTED
*WM: [1] AutoConnect: SUCCESS
*WM: [1] STA IP Address: 192.168.0.173
*WM: [3] finished
except i can’t upload additional files. Don’t know what is going wrong here and need some help
to find the cause. Thanks in advance… Jo
Hi,
I did exactly what is in the readme, however, after I click on «ESP8266 LittleFS data upload» I get this error:
LittleFS Error: mklittlefs not found!
Which is weird, because I did install mklittlefs:
mklittlefs —version
mklittlefs version: 0.2.3-31-g295fe9b
Hello, thank you for developing tools. I have some problems.
When I upload a file containing Chinese characters to the file system, the file will display garbled code. However, when I upload the file from a web page, it can be displayed normally. After verification, I know that the file system should support Chinese characters (UTF-8)
你好,感谢你开发工具,我遇到一些问题。
当我使用包含中文的字符的文件上传到文件系统中时,该文件会显示乱码,但我使用网页上传该文件却能正常显示,验证得知文件系统应该是支持中文字符的(UTF-8)。
i followed the instructions in your github page but the littlefs option doesn’t show up in arduino tools option
Hi,
I am using ESPAsyncWebServer, ESPAsyncWiFiManager and LittleFS.
The WifiManager is creating a config.json file and for the Webserver I have created the data folder with html and css files.
The problem now is that as soon as I trigger the File Upload from the IDE, the configuration for the Wifi Connection is gone and I need reconfigure Wifi.
Is there a possibility to exclude files from the upload process?
Thanks, Roger
As per the title I am assuming that the sketch should be flashed first, then the littleFS data uploaded second?
Does the flashing of the sketch create a partition on the ESP, or does the littleFS upload create its own partition?
When flashing littleFS for the second time, does it completely overwrite the partition, e.g. no old files remain?
I know it might seem obvious but I am not sure.
unable to open ‘/css/fonts/glyphicons-halflings-regular.woff2.
error adding file!
Error for adding content from fonts!
Hello I’m interested into more verbose output so I can bash the upload to many OtA ESP. I tried to modify the source but do not succeed to compile. Can you help me with this ?
Hello, I did study about LittleFS and its limitations of 31 bytes + 1 (/0) characters, the problem is that some website files are hardcoded (or unlikely to change), for example:
/fontawesome/webfonts/fa-solid-900.woff2
*** buffer overflow detected ***: terminated
I already changed #define LFS_NAME_MAX 32
, from the core library, to the needed value, but I still cannot simply upload those files (because it is not dinamically detected) and debug for larger file paths.
Is it possible to make LittleFS more flexible for beginner devs?
Hi,
By using your other tool mklittlefs, I tried to unpack an image made by this plugin with Arduino IDE (Win10 64). The /data folder of the sketch has an inside folder.
mklittlefs.exe -l -s 2072576 MyProject.mklittlefs.bin
lfs error:966: Corrupted dir pair at 130 131
If I use mklittlefs to pack and unpack, it is OK.
Are both compatible and what parameters I need to provide (size, block) to be on «same page» between them?
My other question is about leading / of root files of LittleFS.
I replaced relatively easy SPIFFS with LittleFS in this project:
https://github.com/me-no-dev/ESPAsyncWebServer/blob/master/src/SPIFFSEditor.cpp
It works …
However with LittleFS it somehow «strips» the leading slashes of root files and I need to modify other things, example «/.exclude.files» -> «.exclude.files»
Is this anything to do with notes here:
https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html#littlefs-file-system-limitations
Or it is a difference that cannot / should not be retrofitted to look exactly like with SPIFFS?
I just had a request to see if I could implement DevFsUpload to be used with LittleF vs SPIFFS.
I notice that your screenshot documentation displays «ESP8266 Sketch Data Upload» as the tool-> ‘selection’, which would conflict with SPIFFS upload tool. However, LittleFS has actually «ESP8266 LittleFS Data Upload».
Any chance the documentation may be changed?
Hello Earl,
I’m getting (LittleFS Error: mklittlefs not found!) when trying to upload files to the esp, there is already created the data directory and a .html file inside it.
In the installation process :
Download the tool archive from (https://github.com/earlephilhower/arduino-esp8266littlefs-plugin).
I think you meant to inclue this link : https://github.com/earlephilhower/arduino-esp8266littlefs-plugin/releases
which makes sense with your folowing instructions.
Thank you veeeery much for your tool btw !
edit : I created a PR for this
Windows 7 64bit
Arduino IDE 1.8.10
ESP8266 Platform 2.7.0 (via git)
LittleFS plugin 2.6.0
IDE does not find the littlefs upload tool, it never appears in the IDE Tools menu.
It does find the spiffs tool, which is installed in the same directory (~/Documents/Arduino/tools/ESP8266FS/tool). I can install/delete the spiffs tool and it comes and goes in the IDE, so I’m sure I’m placing them in the proper place. Both have the same permissions.
I did run get.py from inside ~/Documents/Arduino/hardware/esp8266com/esp8266/tools, but I don’t think that has anything to do with the plugin not being found.
$ python get.py
Platform: x86_64-mingw32
Tool python3-3.7.2.post1-embed-win32v2a.zip already downloaded
Extracting dist/python3-3.7.2.post1-embed-win32v2a.zip
Renaming python3-3.7.2.post1-embed-win32/ to python3
Tool x86_64-w64-mingw32.xtensa-lx106-elf-b40a506.1563313032.zip already downloaded
Extracting dist/x86_64-w64-mingw32.xtensa-lx106-elf-b40a506.1563313032.zip
Tool x86_64-w64-mingw32.mkspiffs-7fefeac.1563313032.zip already downloaded
Extracting dist/x86_64-w64-mingw32.mkspiffs-7fefeac.1563313032.zip
Downloading x86_64-w64-mingw32-mklittlefs-69bd9e6.zip
Done
Extracting dist/x86_64-w64-mingw32-mklittlefs-69bd9e6.zip