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
Manufacturer: e0
Device: 4016
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.