If you want to use a BLE SoftDevice in applications that cannot be ported to nRF5, for example because they use specific peripherals or need more resources like RAM, flash memory, or CPU speed, you should consider using serialization.
The SDK provides a sample serialization setup consisting of two nRF5 Development boards. One of these boards serves as application board and hosts the actual Bluetooth application. The other board serves as connectivity board and supplies the radio connection. The application board with an nRF5 chip is provided as a reference only. You will need to port the serialized application to the microcontroller in the target system.
Serialization hardware setup
The sample serialization setup supports two physical transport interfaces: UART and SPI. See Figure 1 for an illustration of how to connect two development boards as an application board and a connectivity board supplying a UART connection.
Figure 2 illustrates how to connect two development boards as an application board and a connectivity board supplying an SPI connection.
Shorting SB17 will connect the reset on the nRF5 IC with the Arduino RESET signal. Together with the wire between P0.12 (nRF51) or P0.11 (nRF52) on the application board and the RESET on the connectivity board, shorting SB17 makes it possible to reset the connectivity chip from the application CPU.
Serialization software setup
Prepare the connectivity board by performing the following steps:
- Connect the board to the computer and make sure that the RESET wire is disconnected.
- Program the SoftDevice on the connectivity board. See Programming SoftDevices for instructions.
-
In Keil, open the Connectivity Example for the physical transport layer that you want to use:
Physical transport layer Example location UART <InstallFolder>\examples\ble_central_and_peripheral\ble_connectivity\ board \ser_s13 x _uartSPI <InstallFolder>\examples\ble_central_and_peripheral\ble_connectivity\ board \ser_s13 x _spiHCI (reliable UART) <InstallFolder>\examples\ble_central_and_peripheral\ble_connectivity\ board \ser_s13 x _hci - Compile the application and download the created .hex file to the connectivity board.
The application board does not need a SoftDevice. Prepare the application board by performing the following steps:
- Connect the board to the computer and make sure that the RESET wire is disconnected.
- Erase the chip on the application board as described in Erasing the board .
-
In Keil, open one of the serialized example projects. The serialized version is located in the
ser_s13 x _ transportfolder. The following serialized examples are available:Choose the example project for the same physical transport layer as on the connectivity board.Example Physical transport layers Alert Notification Application UART, SPI, HCI Beacon Transmitter Sample Application UART, SPI, HCI Blood Pressure Application UART, SPI, HCI Cycling Speed and Cadence Application UART, SPI, HCI Glucose Application SPI HID Keyboard Application SPI HID Mouse Application SPI Heart Rate Application UART, SPI, HCI Health Thermometer Application UART, SPI, HCI Power Profiling Application UART, SPI, HCI Running Speed and Cadence Application UART, SPI, HCI Apple Notification Center Service (ANCS) Client Application SPI Direct Test Mode UART, SPI, HCI BLE Heart Rate Collector Example SPI BLE Multi-link Example UART, SPI, HCI - Compile the application and download the created .hex file to the application board.
See BLE serialization for further documentation on serialization.