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.
Power Management Developer Guide: BLE power save modes and optimization strategies
APIs Used in This Section#
Topic | APIs / symbols | Reference |
|---|---|---|
GAP — PHY (connection) |
|
Integration:
PHY negotiation, stack initialization, callback registration, and full API tables for connection limits and advertising sets are in BLE initialization and configuration
Aggregated API grouping: BLE API reference
SDK entry: Developing with WiSeConnect SDK