BLE Extended Advertising: Larger Payloads and Multiple Sets

<\/script>\n
'; }, get iframeSnippet() { const domain = '{ SITE_DOMAIN }'; const type = '{ embed_type }'; const slug = '{ embed_slug }'; return ''; }, get activeSnippet() { return this.method === 'script' ? this.scriptSnippet : this.iframeSnippet; }, copySnippet() { navigator.clipboard.writeText(this.activeSnippet).then(() => { this.copied = true; setTimeout(() => { this.copied = false; }, 2000); }); } }" @keydown.escape.window="open = false" @click.outside="open = false">

Embed This Widget

Theme


      
    

Widget powered by . Free, no account required.

Using BLE 5.0 extended advertising for richer broadcast data

| 4 min read

BLE Extended Advertising: Larger Payloads and Multiple Sets

Legacy BLE advertising is constrained to 31 bytes in the primary PDU — sufficient for an iBeacon ATT">UUID but limiting for rich service discovery or long manufacturer data. Bluetooth 5.0 introduced advertising/" class="glossary-term-link" data-term="Extended Advertising" data-definition="BLE 5.0 advertising with up to 255-byte payloads." data-category="GAP & Advertising">Extended Advertising, lifting the payload limit to 254 bytes per PDU with chaining to 1650 bytes total, and enabling simultaneous independent advertising sets with different parameters.

Legacy vs Extended Advertising

Feature Legacy (BT 4.x) Extended (BT 5.0+)
Primary PDU size 31 bytes 31 bytes (primary) + 254 bytes (secondary)
Chained payload No Yes, up to 1650 bytes
PHY 1M only 1M/2M primary + 1M/2M/Coded secondary
Simultaneous sets 1 Up to 16 (host-defined)
Periodic Advertising No Yes (BT 5.0+)
PAwR No Yes (BT 5.4+)
Max advertising interval ~10.24 s ~10485 s

HCI Command Structure

Extended advertising uses a new set of HCI commands (LE Set Extended Advertising Parameters, LE Set Extended Advertising Data, etc.) with an advertising handle (0x00–0xEF) identifying each set.

LE Set Extended Advertising Parameters (handle=0)
  → Primary PHY: 1M, Secondary PHY: 2M
  → Advertising interval: 100 ms
  → Own address type: random resolvable

LE Set Extended Advertising Data (handle=0)
  → 200 bytes manufacturer specific data

LE Set Extended Advertising Enable (handle=0, enable=true)

Nordic nRF5 SDK: Extended Advertising Example

#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>

/* Extended advertising parameters */
static struct bt_le_adv_param ext_param = {
    .id          = BT_ID_DEFAULT,
    .sid         = 0,
    .secondary_max_skip = 0,
    .options     = BT_LE_ADV_OPT_EXT_ADV,
    .interval_min = BT_GAP_ADV_FAST_INT_MIN_2,   /* 100 ms */
    .interval_max = BT_GAP_ADV_FAST_INT_MAX_2,
    .peer         = NULL,
};

static uint8_t mfr_data[200];  /* up to 254 bytes */

static struct bt_data ad[] = {
    BT_DATA(BT_DATA_MANUFACTURER_DATA, mfr_data, sizeof(mfr_data)),
};

struct bt_le_ext_adv *adv;
bt_le_ext_adv_create(&ext_param, NULL, &adv);
bt_le_ext_adv_set_data(adv, ad, ARRAY_SIZE(ad), NULL, 0);
bt_le_ext_adv_start(adv, BT_LE_EXT_ADV_START_DEFAULT);

Periodic Advertising

Periodic Advertising is an extension of Extended Advertising that syncs a periodic train with a fixed interval. Scanners can sync to the train without a connection, receiving updates at precisely known times — ideal for broadcast sensor data.

Central                     Peripheral
   |                              |
   |<-- SYNC_IND (from AUX_ADV) --|
   |-- LE Periodic Advertising    |
   |       Sync Established      |
   |<-- PA data (no connection) --|

Use cases: fleet telemetry, electronic shelf labels (pre-PAwR), time-synchronized multi-node sensor arrays.

Multiple Advertising Sets

A single BLE controller can run up to 16 advertising sets simultaneously with independent parameters:

Set Purpose Interval PHY Payload
0 Connectable (device discovery) 100 ms 1M Name + services
1 Rich manufacturer data 500 ms 2M 200-byte sensor payload
2 Long-range beacon 1 s Coded S=8 30-byte UUID

This replaces the legacy pattern of multiplexing data into a single 31-byte packet using scan response PDUs.

Scanner-Side Considerations

Extended advertising requires an active scanning configuration that requests secondary PDUs. Standard BLE 4.x scanners will see only legacy-compatible PDUs; extended payloads are invisible to them unless the advertiser also runs a legacy advertising set.

For backward compatibility, run a legacy set (handle=1) at a longer interval alongside the extended set (handle=0). The Packet Builder can preview extended advertising PDU structures.

Extended advertising on LE Coded PHY achieves 4× range vs 1M at the cost of 8× slower data rate. For gateway-based deployments where the gateway scans on 1M/2M and the sensor advertises on Coded S=8, the Link Budget improvement is ~12 dB — enabling 300+ m outdoor range with a modest PCB antenna.

Use the Range Calculator to model extended advertising link budgets across PHY options.

Frequently Asked Questions

Yes, our guides range from beginner introductions to advanced topics. Each guide indicates its difficulty level and prerequisites so you can find the right starting point.