.. _nrf51_ble400:

Waveshare BLE400
#################

Overview
********

BLE400 is a motherboard designed for BLE Bluetooth 2.4G Wireless Module. Used together with core board -- Core51822.

Supported Features
==================

Motherboard
------------

- Onboard battery holder, multi power supplies are available
- All the IOs are accessible for easy expansion
- Integrates CP2102 for debugging
- LEDs and user keys, compatible with other official boards, easy to use

Core board
----------

- Onboard chip: nRF51822
- Communication distance (open outdoor 1M data rate): 30m
- Frequency range: 2.4GHz
- Operating voltage: 2.0V ~ 3.6V
- Operating temperature: -40℃ ~ 85℃
- Expansion pinheader: all the I/Os except P0.26 and P0.27
- Pinheader pitch: 2.00mm
- Antenna: onboard antenna

Features
========

- 2.4 GHz multiprotocol RF transceiver
- ARM® Cortex™-M0 32 bit processor
- 128 bit AES HW encryption
- 256kB flash & 32kB RAM
- Programmable Peripheral Interconnect (PPI)
- Digital interfaces: SPI, I2C, UART
- 10 bit ADC
- Programmable output power: -20 to +4 dBm
- Independent application development and protocol stack
- Fully compatible with NRF24L series
- Pinout compatible with NRF51xxx series
- Global separate power management
- Operating voltage: 1.8 V ~ 3.6 V

Revision History
================

Core board
----------

In June of 2015, Core51822 and its variant, Core51822 (B), upgraded the onboard chip to Rev3 (nRF51822_QFAC) that features 32kB RAM.

.. image:: img/Core51822-Compare.jpg
   :width: 500px
   :align: center
   :alt: Compare

Top: Core51822
Bottom: Core51822 (B)

Connections and IOs
====================

Motherboard
------------

.. image:: img/nrf51_ble400.jpg
   :width: 500px
   :align: center
   :alt: BLE400

1. Wireless module connector: for easily connecting modules like Core51822
2. MCU pins expansion connector
3. I2C interface
4. SPI interface
5. 5V/3.3V power input/output: usually used as power output, also common-grounding with other user board
6. USB connector: USB TO UART via onboard converter CP2102
7. Debugging interface
8. UART interface
9. Battery holder
10. User LEDs
11. User keys
12. Reset button
13. CP2102
14. USB TO UART jumper
15. LEDs & Keys jumper

Core board
----------

.. image:: img/Core51822-pin.jpg
   :width: 500px
   :align: center
   :alt: Core board pinout

BLE400 dimensions
=================

.. image:: img/BLE400-size.jpg
   :width: 500px
   :align: center
   :alt: BLE400 size

Connections and IOs
===================

LED
---

* LED0 (red) = P0.18
* LED1 (red) = P0.19
* LED2 (red) = P0.20
* LED3 (red) = P0.21
* LED4 (red) = P0.22
* SUSPEND = SUSPEND
* RXD1 = P0.9
* TXD1 = P0.11

Push buttons
------------

* KEY1 = P0.16
* KEY2 = P0.17
* RESET = SWDIO

I2C
---

* SMBA = P0.02
* SCL = P0.01
* SDA = P0.00

SPI
---

* NSS = P0.30
* SCK = P0.25
* MOSI = P0.24
* MISO = P0.23

USART1
------

* RX = P0.05
* TX = P0.06
* CTS = P0.07
* RTS = P0.12

UART (USB)
----------

* RX = P0.9
* TX = P0.11
* CTS = P0.8
* RTS = P0.10

Programming and Debugging
*************************

Flashing
========

Follow the instructions in the :ref:`nordic_segger` page to install
and configure all the necessary software. Further information can be
found in :ref:`nordic_segger_flashing`. Then build and flash
applications as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details).

Here is an example for the :ref:`hello_world` application.

First, run your favorite terminal program to listen for output.

.. code-block:: console

   $ minicom -D <tty_device> -b 115200

Replace :code:`<tty_device>` with the port where the board nRF51 DK
can be found. For example, under Linux, :code:`/dev/ttyACM0`.

Then build and flash the application in the usual way.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: nrf51_ble400
   :goals: build flash

Debugging
=========

Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
Segger IC.


Testing the LEDs and buttons in the nRF51 DK
********************************************

There are samples below that allow you to test that the buttons (switches) and LEDs on
the board are working properly with Zephyr:

- :ref:`blinky-sample`
- :ref:`button-sample`
- :ref:`fade-led-sample`
- :ref:`96b_carbon_multi_thread_blinky`

You can build and flash the examples to make sure Zephyr is running correctly on
your board. The button and LED definitions can be found in
:zephyr_file:`boards/arm/nrf51_ble400/nrf51_ble400.dts`.

References
**********

.. target-notes::

.. _nRF51 DK website: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF51-DK
.. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com
.. _Waveshare Wiki BLE400: https://www.waveshare.com/wiki/BLE400
.. _Waveshare WiKi Core51822: https://www.waveshare.com/wiki/Core51822
.. _User manual: https://www.waveshare.com/w/upload/b/b7/NRF51822-Eval-Kit-UserManual-EN.pdf
.. _Schematic: https://www.waveshare.com/w/upload/1/1b/BLE400-Schematic.pdf
.. _Code samples: https://www.waveshare.com/w/upload/5/53/NRF51822-Code.7z
.. _Core board schematics: https://www.waveshare.com/w/upload/5/57/Core51822-Schematic.pdf
