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