NodeMCU Unofficial FAQ

I, Terry Ellison, am the author of this page and I have been one of the core contributors to the NodeMCU for over a year now, and one of the first contributions that I made was to rework and promote much of the content here to form an official Lua Developer FAQ which fully maintained by the project. I have therefore decided to remove the out-of-date version of this duplicated content from this page. I have left some NodeMCU hardware specifics here, because these don't really relate to the software project maintained on github.

I am still maintaining a thread on the ESP8266 forum, Discussions on my nodeMCU Lua unofficial FAQ. Please use this to discuss any issues that you have with this or the official distro FAQ; any areas where you feel that the explanation is unclear or needs further expansion; or any or Qs that you feel need answering and would help others if they were included here.

Thank-you. Terry Ellison

Where can I find out more about NodeMCU Lua?

The project now maintain a full set of documentation in English on NodeMCU Lua and all the supported modules. If you are using a master build, then please refer to the master documentation and to the development documentation if you are using a development build.

Hardware Specifics

Why file writes fail all the time on DEVKIT V1.0?

NodeMCU DEVKIT V1.0 uses ESP12-E-DIO(ESP-12-D) module. This module runs the Flash memory in Dual IO SPI (DIO) mode. This firmware will not be correctly loaded if you uses old flashtool version, and the filesystem will not work if you used a pre 0.9.6 firmware version (<0.9.5) or old. The easiest way to resolve this problem s update all the firmware and flash tool to current version.

Use the latest esptool.py with DIO support and command option to flash firmware, or

Use the latest NodeMCU flasher with default option. (You must select the restore to default option in advanced menu tab), or

Use the latest Espressif's flash tool – see this Espressif forum topic (without auto download support). Use DIO mode and 32M flash size option, and flash latest firmware to 0x00000. Before flashing firmware, remember to hold FLASH button, and press RST button once. Note that the new nodeMCU our firmware download tool, when released, will be capable of flashing firmware automatically without any button presses.

What's the different between DIO and QIO mode?

Whether DIO or QIO modes are available depends on the physical connection between the ESP8266 CPU and its onboard flash chip. QIO connects to the flash using 6 pins as compared to DIO's 4, and QIO is twice as fast to read/write as DIO.