This project contains OTA update capabilities via BLE implemented using the NimBLE stack and a Python-based client code using the Bleak library.
The ESP code is based on the official example provided by Espressif:
The Python client code is implemented using Bleak:
http://www.apache.org/licenses/LICENSE-2.0
The concept behind this project is fully explained in the following blog post: