How to flash 16MB ESP8266

The ESP8266 chip is specified to support up to 16MB external SPI flash memory. Yet, ever since ESP8266 modules that actually use more than 4MB flash memory became available folks started wondering how to make use of the space beyond the 4MB boundary.

WeMos D1 mini Pro
WeMos D1 mini Pro

The WeMos D1 mini pro you see on the left is by far the most popular module in the >4MB category (see comparison). Yet, all the tools and firmware projects struggle to fully support it out of the box: esptool.py, NodeMCU, Arduino, et.al.

The reason for this is that the Espressif SDKs, in contrast to the hardware, don’t support anything beyond 4MB. There’s no memory map in the SDK guide for 8MB or 16MB.

But there is hope! Ivan Grokhotkov, Director of Software Platforms at Espressif recently confirmed that “we will update the ESP8266 non-OS SDK to support 16MB flash size in the next release (roughly in a month)”

Leave a Reply