Program your board using the esptool.py program, found here. If you are putting MicroPython on your board for the first time then you should first erase the entire flash using:
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
From then on program the firmware starting at address 0x1000:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin
Firmware is provided using either ESP-IDF v3.x or v4.x. If in doubt use v3.x.
Firmware built with ESP-IDF v3.x, with support for BLE, LAN and PPP:
Firmware built with ESP-IDF v4.x, with support for BLE, but no LAN or PPP: