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