Production release of S130 & S132 v2.0 SoftDevices for the nRF51 and nRF52

Since Nordic Semiconductor released the S130 SoftDevice for our nRF51 ICs in early 2015, we have been working hard to make our Bluetooth low energy protocol stacks more feature rich and more configurable than ever before. The S130 now does everything our previous nRF51 compatible SoftDevices did and more, and the S132 brings all the same features to the nRF52 Series.

image description

Some of the headlines for developers of Bluetooth Smart products:

nRF52 Series support

The nRF52832 IC now available in production from Nordic Semiconductor opens up a range of possibilities for products due to its significant compute power and power efficiency. The S132 enables new Bluetooth Smart System on Chip applications and provides a configurable and powerful platform for future-proofing your designs.

LE Secure Connections

Version 4.2 of the Bluetooth Specification introduced an option to use of Public Key Cryptography for the generation of security keys to strengthen applications against “man in the middle” attacks. This means that applications can now select the mode of operation when performing a pairing or bonding procedure:

  • Legacy pairing
  • LE Secure Connections

The SoftDevice gives the application developer the flexibility to choose an implementation of the Elliptic Curve Cryptography (ECC) functions required for LE Secure Connections so they are in control and can re-use libraries that might already be a part of the product security suite. An implementation of ECC is also provided in our nRF5 SDK to use with the SoftDevice.

Configurable Connections

The application developer can now configure the number of connections and the BLE roles for connections so only the required data memory is used by the SoftDevice. From 0 to 8 connections can be configured for beacon to smart watch applications. Up to 8 Central connections, 1 peripheral connection and a Broadcaster or Observer can be configured to run concurrently allowing a device to be connected to 8 sensors and a mobile phone and send beacon packets all at the same time. If you have a less complex application, the stack can be configured to run fewer connections concurrently and more data memory (RAM) can be made available to your application. This is especially useful for memory constrained applications designed for the nRF51 Series ICs with 16 to 32kB of RAM.

Configurable Bandwidth

You can now configure the SoftDevice for the type of throughput performance your application demands. Receive and Transmit bandwidth can now be configured for any connection at runtime using simple to use Low, Medium or High configurations to make 1, 3, or 6 packets available for data per BLE connection event. This gives the application control over the amount of time spent in each BLE connection event for a given connection to tune your application network for optimal performance. For example, simple sensor connections should not use a lot of connection time may be configured as Low bandwidth connections while a connection to a phone or tablet may enable a better user-experience if it is configured as a High bandwidth connection. As with configurable connections, only the memory you require to support your connection bandwidth is used by the SoftDevice.

Configurable Attribute Table

More control of the size and contents of the GATT Attribute Table is now possible to save memory for simple applications and to allow greater flexibility for proprietary profiles and complex applications.

PA/LNA control

Power Amplifiers and Low Noise Amplifiers are now able to be controlled by the SoftDevice via GPIO when this interface is configured by the application. The SoftDevice ensures these circuits are only enabled on Transmit or Receive as needed to optimize power performance.

There is more…

These are some of the major features of our SoftDevice release. More in release notes… etc…

Click here to download the S132 v2.0

Click here to download the S130 v2.0

  • fluent: Yes, but only with the L2CAP APIs. This lets you send a few extra bytes per packet, since the channel ID and length is not repeated. The actual throughput varies a lot on the exact packet length though. If you send slightly longer packets, but end up with a fragment that contains just a few bytes, you probably didn't gain much at all compared to before.

    Mentioned in the release notes is also the fact that the host interrupt is triggered during connection intervals now, and the bandwidth is configurable per link. This means that if the peer supports it, and you constantly queue packets with very little delay, you can in some cases go beyond the 6 packets per connection interval. This is very dependent on the number of concurrent links, what processing your app has to do between TX_COMPLETE events and the next queued packet, the number of buffers the peer device has etc. This functionality also applies to ATT as well, not only L2CAP.

  • From the release notes for the new version of the SoftDevice:

    "L2CAP: The sd_ble_l2cap_* APIs now support packets longer than 23 bytes (DRGN-6649)."

    Does this mean you can send data at a throughput higher than 16000 bytes per second, i.e. ((1000 / 7.5) x 6 x 20)?

  • Any idea what the release date of the updated nRF5 SDK 11, that includes these softdevice versions will be?