1.. _x-nucleo-idb05a1:
2
3X-NUCLEO-IDB05A1: BLE expansion board
4#####################################
5
6Overview
7********
8The X-NUCLEO-IDB05A1 is a Bluetooth Low Energy evaluation board based on the
9SPBTLE-RF BlueNRG-MS RF module to allow expansion of the STM32 Nucleo boards.
10The SPBTLE-RF module is FCC (FCC ID: S9NSPBTLERF) and IC certified
11(IC: 8976C-SPBTLERF).
12
13The X-NUCLEO-IDB05A1 is compatible with the ST Morpho and Arduino UNO R3
14connector layout (the user can mount the ST Morpho connectors, if required). The
15X-NUCLEO-IDB05A1 interfaces with the host microcontroller via the SPI pin, and
16the user can change the default SPI clock, the SPI chip select and SPI IRQ by
17changing one resistor on the evaluation board.
18
19Note : This shield is compatible out of the box with Arduino UNO R3 connectors,
20but CS and SCK signals are not the standard Arduino SPI_CS and SPI_SCK signals.
21Please refer to "Hardware configuration" section.
22
23.. image:: img/x-nucleo-idb05a1.jpg
24     :align: center
25     :alt: X-NUCLEO-IDB05A1
26
27More information about the board can be found at the
28`X-NUCLEO-IDB05A1 website`_.
29
30Hardware configuration
31**********************
32
33Out of the box, X-NUCLEO-IDB05A1 shield expects SPI SCK to be available on
34Arduino pin D3 instead of usual Arduino UNO R3 SPI SCK D13.
35This is not a problem if SPI SCK from nucleo board is available on D3,
36otherwise shield configuration can be changed (see below).
37Also shield expects SPI CS to be available on Arduino pin A1 instead of usual
38Arduino UNO R3 SPI CS D10.
39This is not a problem as CS signal is software driven gpio on Arduino A1
40see cs-gpios in x_nucleo_idb05a1.overlay
41
42Shield configuration could be modified by moving resistors as
43follows:
44
45 - SPI SCK: to use D13 instead of D3, remove R4 and add R6
46
47Additionally, depending on your host board, some modifications of the BLE
48expansion board could be made:
49
50 - CS: To use D10 instead of A1, remove R2 and add R7
51 - IRQ: To use D9 instead of A0, remove R1 and add R8
52
53You could check Figure 3 in `X-NUCLEO-IDB05A1 databrief`_ for more details.
54
55The stm32mp157c_dk2 board is known to need those CS/IRQ pin modifications
56(see boards/stm32mp157c_dk2.overlay)
57whereas nucleo_l476rg doesn't need hardware modifications.
58
59Hardware
60********
61
62X-NUCLEO-IDB05A1 provides a SPBTLE-RF chip with the following key features:
63
64 - Bluetooth Low Energy FCC and IC certified module based on Bluetooth ® SMART
65   4.1 network processor BlueNRG-MS
66 - Integrated Balun (BALF-NRG-01D3)
67 - Chip antenna
68
69More information about X-NUCLEO-IDB05A1 can be found here:
70       - `X-NUCLEO-IDB05A1 databrief`_
71
72Programming
73***********
74
75You can use the X-NUCLEO-IDB05A1 as a Bluetooth Low-Energy controller
76shield with an SPI host controller interface (HCI-SPI).  Activate the presence
77of the shield for the project build by adding the ``-DSHIELD`` arg to the
78build command:
79
80 .. zephyr-app-commands::
81    :zephyr-app: your_app
82    :board: your_board_name
83    :shield: x_nucleo_idb05a1
84    :goals: build
85
86Alternatively, set use of this shield in the project's ``CMakeLists.txt`` file:
87
88.. code-block:: cmake
89
90	set(SHIELD x_nucleo_idb05a1)
91
92References
93**********
94
95.. target-notes::
96
97.. _X-NUCLEO-IDB05A1 website:
98   https://www.st.com/en/ecosystems/x-nucleo-idb05a1.html
99
100.. _X-NUCLEO-IDB05A1 databrief:
101   https://www.st.com/resource/en/data_brief/x-nucleo-idb05a1.pdf
102