OTA Update
Over-the-Air update -- wirelessly updating BLE device firmware via a GATT service without physical access.
OTA Update (Over-the-Air)
OTA (Over-the-Air) update, also called DFU (Device Firmware Update), is the process of wirelessly updating the firmware of a BLE device through a GATT service or L2CAP channel. OTA capability is essential for deployed IoT products that need security patches, feature additions, or bug fixes without physical access.
Architecture
A typical BLE OTA system consists of three components:
- Bootloader: Runs on the BLE device, validates firmware images, and manages the swap between old and new firmware. Must be robust against power loss during update
- DFU ATT">gatt-service/" class="glossary-term-link" data-term="GATT Service" data-definition="Collection of related BLE characteristics." data-category="GATT & ATT">GATT Service: A custom or standardized GATT Service that receives firmware image data from the host device. The service handles image transfer, progress tracking, and validation
- Mobile/Gateway application: Sends the firmware image to the target device, manages the transfer protocol, and monitors progress
Transfer Mechanisms
OTA transfers can use several transport methods:
| Method | Throughput | Complexity |
|---|---|---|
| GATT Write Without Response | 10-50 kBps | Low |
| GATT Write + DLE + large MTU | 30-80 kBps | Medium |
| L2CAP CoC (Connection-Oriented Channel) | 50-150 kBps | High |
The choice depends on the firmware image size and acceptable update duration. A 256 KB firmware image takes approximately 5 seconds via L2CAP CoC versus 25 seconds via basic GATT writes.
Security Considerations
OTA updates introduce significant security risks. A compromised update mechanism allows an attacker to install malicious firmware. Essential security measures include:
- Image signing: Firmware images are signed with ECDSA or Ed25519; the bootloader verifies the signature before applying
- Encrypted transfer: Use an encrypted BLE link (Pairing + Bonding) or application-layer encryption
- Rollback protection: Version counters prevent downgrading to older, vulnerable firmware
- Secure boot: Hardware-backed boot chain verification from ROM bootloader to application
Vendor Implementations
Most BLE SDK vendors provide OTA/DFU solutions:
- Nordic: MCUboot bootloader with nRF Connect SDK, background DFU support
- Espressif: ESP-IDF OTA with rollback, A/B partition scheme
- TI: OAD (Over-the-Air Download) in SimpleLink SDK
- Silicon Labs: Gecko Bootloader with application-level OTA
When designing an OTA-capable product, allocate sufficient flash for dual image slots (current + candidate), reserve a bootloader partition, and plan for the worst case: a user walking out of BLE range mid-update.
Related Content
Getting Started with nRF Connect SDK and Zephyr
Development…-DCONFIG_BT_DEVICE_NAME='"MySensor"' west flash OTA update support uses MCUboot with the SMP protocol over BLE: OTA…
BLE Chip Selection Guide: How to Choose the Right SoC
Hardware & Design…maintenance : commit frequency, LTS branch availability OTA update support : OTA update workflows built in, or DIY? RTOS…
Secure BLE DFU: Signed Firmware Updates Over-the-Air
Security & Privacy…DFU: Signed Firmware Updates Over-the-Air Over-the-Air (OTA) firmware updates are a mandatory capability for any…
Frequently Asked Questions
Our glossary covers 90+ BLE technical terms organized by category. Each term includes a definition, related terms, and links to relevant chips and guides.