All modules are delivered with esp-link from JeeLabs.
There are several modules and I noticed that there are differences between some models. So if one way doesn’t work, you can try the other way. I used to use esp-link version 2.2.3, yet I noticed that the latest version (3.0.14) is better, as you can change the format (like 8N1 or 7E1). That’s needed for older DSMR versions like 2.2. Versions 4.x and 5.x are mostly 115200 8N1 (please double check your own meter).
Latest release: 3.0.14
The latest stable version can be downloaded on the JeeLabs GitHub page. A direct link is here.
You need esptool for flashing ESP’s with esp-link. I’m not going to explain how to install esptool, as that differs between Mac OS X, Linux and Windows. You should be able to find it via Google.
The Wemos D1 mini Pro are flashed with this command:
$ esptool.py -p <usb-port> --baud 460800 write_flash -fs 32m -ff 80m 0x00000 boot_v1.6.bin 0x3FE000 blank.bin 0x3FC000 esp_init_data_default.bin 0x01000 user1.bin
The Wemos D1 mini (not Pro) is flashed this way:
$ esptool.py -p <usb-port> --baud 230400 write_flash --flash_mode dio -fs 32m -ff 40m 0x00000 boot_v1.6.bin 0x3FE000 blank.bin 0x3FC000 esp_init_data_default.bin 0x01000 user1.bin