219 lines
4.9 KiB
ReStructuredText
219 lines
4.9 KiB
ReStructuredText
.. _nrf51_ble400:
|
|
|
|
Waveshare BLE400
|
|
#################
|
|
|
|
Overview
|
|
********
|
|
|
|
BLE400 is a motherboard designed for BLE Bluetooth 2.4G Wireless Module. Used together with Core board.
|
|
|
|
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 & 16kB 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
|
|
----------
|
|
|
|
2015.06, Core51822 upgrades the onboard chip to Rev3, features 32kB RAM, supports higher version SDK, and all the demo codes are still compatible with the Rev2 ones.
|
|
|
|
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
|
|
.. _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
|