1.. zephyr:board:: nrf51_ble400
2
3Overview
4********
5
6BLE400 is a motherboard designed for BLE Bluetooth 2.4G Wireless Module. Used together with core board -- Core51822.
7
8Supported Features
9==================
10
11Motherboard
12------------
13
14- Onboard battery holder, multi power supplies are available
15- All the IOs are accessible for easy expansion
16- Integrates CP2102 for debugging
17- LEDs and user keys, compatible with other official boards, easy to use
18
19Core board
20----------
21
22- Onboard chip: nRF51822
23- Communication distance (open outdoor 1M data rate): 30m
24- Frequency range: 2.4GHz
25- Operating voltage: 2.0V ~ 3.6V
26- Operating temperature: -40℃ ~ 85℃
27- Expansion pinheader: all the I/Os except P0.26 and P0.27
28- Pinheader pitch: 2.00mm
29- Antenna: onboard antenna
30
31Features
32========
33
34- 2.4 GHz multiprotocol RF transceiver
35- ARM® Cortex™-M0 32 bit processor
36- 128 bit AES HW encryption
37- 256kB flash & 32kB RAM
38- Programmable Peripheral Interconnect (PPI)
39- Digital interfaces: SPI, I2C, UART
40- 10 bit ADC
41- Programmable output power: -20 to +4 dBm
42- Independent application development and protocol stack
43- Fully compatible with NRF24L series
44- Pinout compatible with NRF51xxx series
45- Global separate power management
46- Operating voltage: 1.8 V ~ 3.6 V
47
48Revision History
49================
50
51Core board
52----------
53
54In June of 2015, Core51822 and its variant, Core51822 (B), upgraded the onboard chip to Rev3 (nRF51822_QFAC) that features 32kB RAM.
55
56.. image:: img/Core51822-Compare.jpg
57   :align: center
58   :alt: Compare
59
60Top: Core51822
61Bottom: Core51822 (B)
62
63Connections and IOs
64====================
65
66Motherboard
67------------
68
69.. image:: img/nrf51_ble400.jpg
70   :align: center
71   :alt: BLE400
72
731. Wireless module connector: for easily connecting modules like Core51822
742. MCU pins expansion connector
753. I2C interface
764. SPI interface
775. 5V/3.3V power input/output: usually used as power output, also common-grounding with other user board
786. USB connector: USB TO UART via onboard converter CP2102
797. Debugging interface
808. UART interface
819. Battery holder
8210. User LEDs
8311. User keys
8412. Reset button
8513. CP2102
8614. USB TO UART jumper
8715. LEDs & Keys jumper
88
89Core board
90----------
91
92.. image:: img/Core51822-pin.jpg
93   :align: center
94   :alt: Core board pinout
95
96BLE400 dimensions
97=================
98
99.. image:: img/BLE400-size.jpg
100   :align: center
101   :alt: BLE400 size
102
103Connections and IOs
104===================
105
106LED
107---
108
109* LED0 (red) = P0.18
110* LED1 (red) = P0.19
111* LED2 (red) = P0.20
112* LED3 (red) = P0.21
113* LED4 (red) = P0.22
114* SUSPEND = SUSPEND
115* RXD1 = P0.9
116* TXD1 = P0.11
117
118Push buttons
119------------
120
121* KEY1 = P0.16
122* KEY2 = P0.17
123* RESET = SWDIO
124
125I2C
126---
127
128* SMBA = P0.02
129* SCL = P0.01
130* SDA = P0.00
131
132SPI
133---
134
135* NSS = P0.30
136* SCK = P0.25
137* MOSI = P0.24
138* MISO = P0.23
139
140USART1
141------
142
143* RX = P0.05
144* TX = P0.06
145* CTS = P0.07
146* RTS = P0.12
147
148UART (USB)
149----------
150
151* RX = P0.9
152* TX = P0.11
153* CTS = P0.8
154* RTS = P0.10
155
156Programming and Debugging
157*************************
158
159Flashing
160========
161
162Follow the instructions in the :ref:`nordic_segger` page to install
163and configure all the necessary software. Further information can be
164found in :ref:`nordic_segger_flashing`. Then build and flash
165applications as usual (see :ref:`build_an_application` and
166:ref:`application_run` for more details).
167
168Here is an example for the :zephyr:code-sample:`hello_world` application.
169
170First, run your favorite terminal program to listen for output.
171
172.. code-block:: console
173
174   $ minicom -D <tty_device> -b 115200
175
176Replace :code:`<tty_device>` with the port where the board nRF51 DK
177can be found. For example, under Linux, :code:`/dev/ttyACM0`.
178
179Then build and flash the application in the usual way.
180
181.. zephyr-app-commands::
182   :zephyr-app: samples/hello_world
183   :board: nrf51_ble400
184   :goals: build flash
185
186Debugging
187=========
188
189Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
190Segger IC.
191
192
193Testing the LEDs and buttons in the nRF51 DK
194********************************************
195
196There are samples below that allow you to test that the buttons (switches) and LEDs on
197the board are working properly with Zephyr:
198
199- :zephyr:code-sample:`blinky`
200- :zephyr:code-sample:`button`
201- :zephyr:code-sample:`fade-led`
202- :zephyr:code-sample:`multi-thread-blinky`
203
204You can build and flash the examples to make sure Zephyr is running correctly on
205your board. The button and LED definitions can be found in
206:zephyr_file:`boards/waveshare/nrf51_ble400/nrf51_ble400.dts`.
207
208References
209**********
210
211.. target-notes::
212
213.. _nRF51 DK website: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF51-DK
214.. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com
215.. _Waveshare Wiki BLE400: https://www.waveshare.com/wiki/BLE400
216.. _Waveshare WiKi Core51822: https://www.waveshare.com/wiki/Core51822
217.. _User manual: https://www.waveshare.com/w/upload/b/b7/NRF51822-Eval-Kit-UserManual-EN.pdf
218.. _Schematic: https://www.waveshare.com/w/upload/1/1b/BLE400-Schematic.pdf
219.. _Code samples: https://www.waveshare.com/w/upload/5/53/NRF51822-Code.7z
220.. _Core board schematics: https://www.waveshare.com/w/upload/5/57/Core51822-Schematic.pdf
221