In order to flash ESP8266 the GPIO0 should be connected to GND. This is D3 on Wemos D1 Mini Pro.
Initially when ESP is new/blank use esptool.py to flash boot_v1.6.bin and create the user1.bin (with 32m-c1) option. Needs to be flashed with 32m-c1 to get 1024×1024. Connect ESP to the USB port. Steps are:
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x0 firmware/boot_v1.6.bin esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x3FC000 firmware/esp_init_data_default.bin esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x3FE000 firmware/blank.bin esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x01000 firmware/user1.bin esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x101000 firmware/user2.bin (optional not necessary)
Or all in once:
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x0 firmware/boot_v1.6.bin 0x3FC000 firmware/esp_init_data_default.bin 0x3FE000 firmware/blank.bin 0x01000 firmware/user1.bin 0x101000 firmware/user2.bin
First generate BIN file using esptool.py:
esptool.py elf2image --version=2 -o user1.bin espmodule esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x01000 user.bin
After that we need to user the makefile with gen_appbin.py to generate proper formated user1.bin/user2.bin. Because ota updates created with “esptool.py elf2image –version=2 -o user1.bin espmodule” give checksum mismatch
scp firmware/user2.bin root@192.168.178.82:/media/storage1/www/homesite/public/firmware
esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x3fe000 2048 flash-3fe.bin