Embeddronics

Back to blog

Bluetooth Low Energy

BLE Over the Air Firmware Updates

Technical reference from the Embeddronics engineering team.

Over-the-Air (OTA) firmware updates are a fundamental requirement for modern IoT devices. Implementing OTA updates over BLE requires a careful balance between bandwidth constraints, low-power states, and memory layouts on the target microcontroller.

Dual-Bank Flash Memory Layout

To avoid bricking the device during a failed or interrupted wireless update, a dual-bank flash memory partition layout is employed. The internal flash memory is split into two equal regions:

  • Active Bank (Bank 0): Contains the currently running application code.
  • Update Bank (Bank 1): Temporarily holds the newly downloaded firmware image.

When the BLE application receives a “start update” command, it writes incoming packet chunks into Bank 1. Once the transfer is complete, the bootloader validates the integrity of the image using SHA-256 and checks the cryptographic signature (ECDSA). If valid, the bootloader copies the image from Bank 1 to Bank 0 and reboots into the new application.

BLE GATT Service Structure

The firmware exposes a custom BLE GATT Service with characteristics for control and data transit:

// BLE GATT Service for OTA Firmware Updates
#define BLE_UUID_OTA_SERVICE     "8e2238b0-236c-4854-9513-4fdeae307777"
#define BLE_UUID_OTA_CONTROL     "8e2238b1-236c-4854-9513-4fdeae307777" // Write / Notify
#define BLE_UUID_OTA_DATA        "8e2238b2-236c-4854-9513-4fdeae307777" // Write Without Response

By using Write Without Response on the Data Characteristic, the mobile transmitter can stream firmware chunks at maximum throughput without waiting for GATT layer acknowledgments, increasing update speed by up to 300%.

Open-Source Repository

Find library sources, state machines, and implementation examples in our GitHub repository: BLEOTALIBRARY.

Need help with BLE OTA firmware updates? Contact our engineering team.

Bring this engineering problem to your product roadmap.

Embeddronics

Production-minded embedded systems engineering for teams building reliable hardware, firmware, connected devices, and manufacturable electronics.

© 2026 Embeddronics Ltd. All rights reserved.

Contact

Islamabad, Pakistan
[email protected]

Start a Scope Review