This only applies to NON-FOTA firmware versions. In order to flash ESP8266 the GPIO0 should be connected to GND. This is D3 on Wemos D1 Mini Pro.
# Full erase first
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash
# Flash esp-open-sdk/sdk/bin/esp_init_data_default.bin at 0x3fc000
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash
--flash_mode dio --flash_size 32m
0x00000 firmware/0x00000.bin
0x10000 firmware/0x10000.bin
0x3fc000 /home/oscar/esp8266/esp-open-sdk/sdk/bin/esp_init_data_default.bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash
--flash_mode qio --flash_size 32m
0x00000 firmware/0x00000.bin
0x10000 firmware/0x10000.bin
sudo python esptool/esptool.py erase_flash sudo python esptool/esptool.py -p /dev/ttyUSB0 -b 460800 write_flash -fm qio 0x00000 0x00000.bin
Finally got the Wemos D1 mini pro with 16 MByte flash.
esptool.py erase_flash esptool.py -b 460800 write_flash -fm qio 0x00000 bin/0x00000.bin 0x10000 bin/0x10000.bin
And finally it was resolved with dev version of NodeMcu prepared in https://nodemcu-build.com/
My best result is 17 modules in the BIN. Many was unsuccessful I reported result in GitHub (with modules) - https://github.com/nodemcu/nodemcu-firmware/pull/1529
Also their own fixed esptool used - https://github.com/nodemcu/nodemcu-firmware/tree/dev/tools