Table of Contents
KEY TAKEAWAYS
- SPIFFS (SPI Flash File System) allows storing files in the ESP8266 flash memory
- The Arduino IDE SPIFFS upload tool transfers files from a
datafolder in the sketch directory - Files stored in SPIFFS can be accessed using the
SPIFFS.open()function in code - SPIFFS is useful for storing HTML pages, certificates, configuration files, and small data logs
Install ESP8266 SPIFFS sketch data upload tool in Arduino
To install ESP8266 sketch data upload tool in Arduino, follow these steps:- Make sure you use the latest version of Arduino IDE and have ESP8266 core installed.
- Download the tool archive from releases page.

- In your Arduino sketchbook directory, create tools directory if it doesn’t exist yet. You can find the location of your sketchbook directory in the Arduino IDE at File > Preferences > Sketchbook location.
- Unpack the tool into tools directory (the path will look like <sketchbook directory>/tools/ESP8266FS/tool/esp8266fs.jar). In Windows systems, the path will look something like this:

- Restart Arduino IDE.

Upload Files to NodeMCU SPIFFS:
For this tutorial, I will use a text file called “config.txt“. Inside this file, I have written the following:


And you will see something like this in the Arduino information space at the bottom of the Arduino IDE:
Issues faced during File Upload:
Let us now see some common issues you might face while uploading the files.1. SPIFFS Upload failed!
A very common issue faced while uploading files to the ESP8266 File System is the “SPIFFS Upload failed!”.
Reason:
Your Serial Monitor is open, or the same COM port is being used by some process. The other processes could be some serial monitor softwares like HyperTerminal or RealTermSolution:
In order to avoid the “SPIFFS Upload failed!” issue, close the Serial Monitor or the process that is using the COM port.2. SPIFFS Upload is very slow!
Reason:The upload speed is lessSolution:Increase the upload speed as shown:
Where can we use ESP8266 SPIFFS Data Upload?
Some examples where we use this upload steps are:- Easy configuration of NodeMCU – Wifi Name, password, other information
- Uploading communication certificates – Communication with AWS IoT Core. In this example we have used the SPIFFS data upload tool to upload certificates generated for “things” in AWS. If you are interested in IoT, you should definitely try doing it. It is a three part tutorial:
📖 Related: ESP8266 – Flash The nodeMCU firmware • ESP8266 – Flash The AT commands firmware

Vivek Bhageria — Lead Firmware R&D Engineer, 12+ years. Ex-Bosch (automotive powertrain), MusicTribe (real-time audio), medical devices. M.Tech BITS Pilani. I write at NerdyElectronics — practical, register-level embedded systems for engineers who want to understand what’s actually happening under the hood.







