The ESP8266 -- Flash chips
Take heed to this article. If your unit seems to program, but then fails
when you hit reset, you may simply have the wrong flash mode.
A variety of different outboard flash chips have been shipped with ESP8266 chips.
My NodeMCU Devkit boards include something that looks like an ESP-12E module and
the simplest way I know to find out what sort of flash is onboard is:
esptool -p /dev/ttyUSB0 flash_id
This indicates a Winbond W25Q32 flash chip (32 Mbit, 4 Mbyte).
My little WeMOS boards show the same chip.
Even my ancient ESP-12 vanilla modules yield the same result.