BLE Architecture#

The SiWx917 Network Processor (NWP) provides a Bluetooth Low Energy (BLE) implementation through the WiSeConnect SDK. The BLE stack is Bluetooth 5.4-compliant and supports multiple concurrent roles.

Note: As of January 2026, WiSeConnect SDK version 4.0 is the current version. This guide references APIs and features available in WiSeConnect SDK 4.0 and later versions.

BLE Stack Architecture#

The BLE stack runs on the NWP and provides a complete implementation of the Bluetooth Low Energy protocol. Applications interact with the BLE stack through the WiSeConnect SDK APIs, which abstract the underlying protocol details and provide a high-level interface for BLE operations.

The same NWP additionally runs the Wi-Fi MAC/LMAC and shares a single 2.4 GHz radio with BLE.

Key Characteristics:

  • Bluetooth 5.4 Compliant: Full support for BLE 5.x features including extended advertising, periodic advertising, and enhanced connection procedures

  • Multiple Concurrent Roles: Support for simultaneous operation in multiple BLE roles (Central, Peripheral, Broadcaster, Observer)

  • Multiple Connections: Capability to maintain multiple simultaneous BLE connections

  • GATT and GAP Support: Complete implementation of Generic Attribute Profile (GATT) and Generic Access Profile (GAP)

  • Legacy Advertising: Support for legacy (non-extended) advertising for compatibility with BLE 4.x and simple use cases

  • Extended Advertising and Initiating: Support for extended advertising (AE Advertiser) and extended connection initiation (AE Initiator) for BLE 5.0+ devices

  • Security Manager Protocol (SMP): Support for pairing, bonding, and key distribution

Supported BLE Roles#

The SiWx917 NWP supports all four BLE roles defined in the Bluetooth specification:

1. Peripheral Role: Advertises its presence and accepts connections from central devices (phones, tablets, gateways).

  • Common use cases: IoT sensors, wearables, beacons that need to be controlled

  • Ideal for: Devices that provide services to mobile applications or other central devices

  • See Peripheral role for implementation details

2. Central Role: Scans for advertising devices and initiates connections. Can maintain multiple simultaneous connections to peripheral devices.

  • Common use cases: Gateways collecting data from multiple sensors, remote controls

  • Ideal for: Devices that need to discover and connect to multiple peripherals

  • See Central role for implementation details

3. Broadcaster Role: Transmits advertising data without accepting connections.

  • Common use cases: Beacons, location tags, proximity detection

  • Ideal for: One-way data transmission applications

  • See Broadcaster role for implementation details

4. Observer Role: Receives advertising data without establishing connections.

  • Common use cases: Beacon scanners, presence detection systems

  • Ideal for: Scanning applications that don't require connections

  • See Observer role for implementation details

The stack supports dual-role operation, allowing a device to operate as both Central and Peripheral simultaneously, enabling peer-to-peer communication scenarios.

Operating Mode Considerations#

The BLE stack behavior depends on the SiWx917 operating mode:

  • NCP Mode (Network Co-Processor): The full BLE stack runs on the NWP. All BLE operations are handled by the NWP firmware, and the host (external MCU) communicates through SPI/SDIO/UART interfaces.

  • RCP Mode (Radio Co-Processor): Only the BLE Controller runs on the NWP. The BLE Host stack runs on the external host processor (MPU). This mode provides more control over the host stack implementation.

  • SoC/ACP Mode (Dual Core): The full BLE stack runs on the NWP, and the M4 Application Processor communicates with the NWP through the AHB interface and shared memory.

See: Mode-Specific Considerations for detailed differences.

BLE Version and Features#

The SiWx917 NWP implements a Bluetooth 5.4-compliant BLE stack through the WiSeConnect SDK. This provides comprehensive support for BLE 5.x features and backward compatibility with earlier BLE versions.

Supported BLE Features#

Core BLE Capabilities:

  • BLE 5.4 Compliance: Full support for the latest Bluetooth Low Energy specification

  • Multiple Concurrent Roles: Support for simultaneous operation as Central, Peripheral, Broadcaster, and Observer

  • Dual Role Support: Can operate as both Central and Peripheral simultaneously

  • Multiple Simultaneous Connections: Capability to maintain multiple BLE connections concurrently

BLE 5.x Advanced Features:

  • Extended Advertising: Up to 200 bytes per advertising set (Extended advertising)

  • Periodic Advertising: Uses the extended advertising data limits (Extended advertising)

  • Extended Scanning: Support for extended scanning procedures (AE Scanner) for receiving extended advertising (see Extended advertising)

  • Extended Initiating: Support for extended connection initiation procedures (AE Initiator) (see Central role)

  • 2M PHY: High-speed 2 Mbps physical layer for increased throughput

  • LE Coded PHY: Long-range PHY options (125 kbps and 500 kbps) for extended range applications

  • Data Length Extension (DLE): Support for larger link-layer payloads up to 251 bytes (including L2CAP/ATT headers; see Data length extension)

  • LE Secure Connections: Enhanced security with Elliptic Curve Diffie-Hellman (ECDH) key exchange

  • LE Privacy 1.2: Support for resolvable private addresses (RPA) and address resolution (LE Privacy)

GATT and GAP Support:

  • Generic Attribute Profile (GATT): Full GATT client and server implementation

  • Generic Access Profile (GAP): Complete GAP implementation for device discovery and connection management

  • UUID support: 16-bit Bluetooth SIG UUIDs, 32-bit custom UUIDs, and 128-bit UUIDs (including custom services and characteristics)

  • All GATT-based Profiles: Support for all standard and custom GATT-based profiles and services

Security Features:

  • Pairing Methods: Just Works, Numeric Comparison, and Passkey Entry are supported; Out-of-Band pairing is not supported (see Pairing and bonding)

  • Bonding: Secure storage of long-term keys for persistent connections

  • Encryption: AES-128 encryption for data protection

API documentation: See Developing with WiSeConnect SDK and the in-guide BLE API reference.

PHY Options#

The SiWx917 supports multiple BLE physical layer (PHY) options, allowing applications to optimize for throughput, range, or power consumption.

Supported PHY Types#

1M PHY (Default)

  • Symbol Rate: 1 Mbps

  • Use Case: Standard BLE communication, maximum compatibility

  • Range: Standard BLE range (~10-30 meters depending on environment)

  • Throughput: Typical application throughput up to ~700 kbps (measured values vary with configuration—for example, NCP vs CCP, connection interval, host interface)

  • API: Default PHY for all connections unless explicitly changed

2M PHY (BLE 5.0+)

  • Symbol Rate: 2 Mbps

  • Use Case: High-throughput applications requiring faster data transfer

  • Range: Similar to 1M PHY

  • Throughput: Typical application throughput up to ~1.3 Mbps (measured values vary with configuration—for example, NCP vs CCP, connection interval, host interface)

  • API: Use rsi_ble_setphy() to request 2M PHY on a connection

Note: Both devices must support 2M PHY for it to be used

LE Coded PHY - 500 kbps (BLE 5.0+)

  • Symbol Rate: 500 kbps (S=2 coding)

  • Use Case: Extended range applications with moderate data requirements

  • Range: Approximately 1.5-2x the range of 1M PHY with 4-6 dB improved sensitivity

  • Throughput: Lower than 1M PHY due to coding overhead

  • API: Use rsi_ble_setphy() to request Coded PHY (500 kbps)

LE Coded PHY - 125 kbps (BLE 5.0+)

  • Symbol Rate: 125 kbps (S=8 coding)

  • Use Case: Maximum range applications with low data rate requirements

  • Range: Maximum BLE range with best sensitivity

  • Throughput: Lowest throughput due to highest coding overhead

  • API: Use rsi_ble_setphy() to request Coded PHY (125 kbps)

For PHY selection, negotiation, and APIs after connection, see BLE initialization and configuration.

Maximum Simultaneous Connections#

The SiWx917 NWP supports multiple simultaneous BLE connections, enabling applications to communicate with multiple devices concurrently.

Limit

Summary

Total connections

Up to 10 simultaneous connections with legacy advertising; 2 when using extended advertising (AE)

Central role

Up to 8 simultaneous connections to peripherals

Peripheral role

Up to 2 simultaneous connections from centrals

Dual role

Central and peripheral connections can be combined, subject to the total cap (for example 8 + 2 within the overall limit)

Full treatment—role distribution, connection management, memory considerations, and APIs—is in Maximum simultaneous connections.

Advertising Set Limits#

BLE 5.0 advertising sets allow multiple independent advertising configurations. On SiWx917, the number of extended advertising (AE) sets is configurable at build time but capped at 2; legacy advertising uses a single instance path.

For advertising set capabilities, legacy vs extended advertising, build configuration, and APIs, see Advertising set limits and Extended advertising.


APIs Used in This Section#

Topic

APIs / symbols

Reference

GAP — PHY (connection)

rsi_ble_setphy(), rsi_ble_readphy()

GAP

Integration: