1.. _ubx_bmd360eval_nrf52811: 2 3u-blox EVK-BMD-360: BMD-360-EVAL 4################################ 5 6Overview 7******** 8 9The BMD-360-EVAL hardware provides support for the 10u-blox BMD-360 Bluetooth 5 module, based on The 11Nordic Semiconductor nRF52811 ARM Cortex-M4 CPU and 12the following devices: 13 14* :abbr:`ADC (Analog to Digital Converter)` 15* CLOCK 16* FLASH 17* :abbr:`GPIO (General Purpose Input Output)` 18* :abbr:`I2C (Inter-Integrated Circuit)` 19* :abbr:`MPU (Memory Protection Unit)` 20* :abbr:`NVIC (Nested Vectored Interrupt Controller)` 21* :abbr:`PWM (Pulse Width Modulation)` 22* RADIO (Bluetooth Low Energy) 23* :abbr:`RTC (nRF RTC System Clock)` 24* Segger RTT (RTT Console) 25* :abbr:`SPI (Serial Peripheral Interface)` 26* :abbr:`UART (Universal asynchronous receiver-transmitter)` 27* :abbr:`WDT (Watchdog Timer)` 28 29.. figure:: img/BMD-30-33-35-36-EVAL.jpg 30 :align: center 31 :alt: BMD-300-EVAL 32 33 BMD-300-EVAL (Credit: u-blox AG) 34 35.. note:: 36 The BMD-360-EVAL shares the same pin headers and assignments as the 37 BMD-300-EVAL. The BMD-300-EVAL is shown here. 38 39More information about the BMD-360-EVAL and the BMD-360 module 40can be found at the `u-blox website`_. 41 42Hardware 43******** 44 45The BMD-360 on the BMD-360-EVAL contains an internal 46high-frequency oscillator at 32MHz. There is also a low frequency 47(slow) oscillator of 32.768kHz. The BMD-360 itself does not include 48the slow crystal; however, the BMD-360-EVAL does. 49 50.. note:: 51 When targeting a custom design without a slow crystal, 52 be sure to modify code to utilize the internal RC 53 oscillator for the slow clock. 54 55Supported Features 56================== 57 58The BMD-360-EVAL configuration supports the following 59hardware features: 60 61+-----------+------------+----------------------+ 62| Interface | Controller | Driver/Component | 63+===========+============+======================+ 64| ADC | on-chip | adc | 65+-----------+------------+----------------------+ 66| CLOCK | on-chip | clock_control | 67+-----------+------------+----------------------+ 68| FLASH | on-chip | flash | 69+-----------+------------+----------------------+ 70| GPIO | on-chip | gpio | 71+-----------+------------+----------------------+ 72| I2C(M) | on-chip | i2c | 73+-----------+------------+----------------------+ 74| MPU | on-chip | arch/arm | 75+-----------+------------+----------------------+ 76| NVIC | on-chip | arch/arm | 77+-----------+------------+----------------------+ 78| PWM | on-chip | pwm | 79+-----------+------------+----------------------+ 80| RADIO | on-chip | Bluetooth | 81+-----------+------------+----------------------+ 82| RTC | on-chip | system clock | 83+-----------+------------+----------------------+ 84| RTT | Segger | console | 85+-----------+------------+----------------------+ 86| SPI(M/S) | on-chip | spi | 87+-----------+------------+----------------------+ 88| UART | on-chip | serial | 89+-----------+------------+----------------------+ 90| WDT | on-chip | watchdog | 91+-----------+------------+----------------------+ 92 93Other hardware features have not been enabled yet for this board. 94See the `u-blox website`_ for a complete list of 95BMD-360-EVAL hardware features. 96 97Connections and IOs 98=================== 99 100LED 101--- 102 103* LED1 (red) = P0.17 104* LED2 (red) = P0.18 105* LED3 (green) = P0.19 106* LED4 (green) = P0.20 107* D5 (red) = OB LED 1 108* D6 (green) = OB LED 2 109 110Push buttons 111------------ 112 113* BUTTON1 = SW1 = P0.13 114* BUTTON2 = SW2 = P0.14 115* BUTTON3 = SW3 = P0.15 116* BUTTON4 = SW4 = P0.16 117* BOOT = SW5 = boot/reset 118 119External Connectors 120------------------- 121 122.. figure:: img/bmd-300-eval_pin_out.jpg 123 :align: center 124 :alt: BMD-300-EVAL pin-out 125 126 BMD-300-EVAL pin-out (Credit: u-blox AG) 127 128.. note:: 129 The BMD-360-EVAL shares the same pin headers and assignments 130 as the BMD-300-EVAL. The BMD-300-EVAL is shown here. 131 132.. note:: 133 The pin numbers noted below are referenced to 134 the pin 1 markings on the BMD-360-EVAL 135 for each header 136 137J-Link Prog Connector (J2) 138 139+-------+--------------+ 140| PIN # | Signal Name | 141+=======+==============+ 142| 1 | VDD | 143+-------+--------------+ 144| 2 | IMCU_TMSS | 145+-------+--------------+ 146| 3 | GND | 147+-------+--------------+ 148| 4 | IMCU_TCKS | 149+-------+--------------+ 150| 5 | V5V | 151+-------+--------------+ 152| 6 | IMCU_TDOS | 153+-------+--------------+ 154| 7 | Cut off | 155+-------+--------------+ 156| 8 | IMCU_TDIS | 157+-------+--------------+ 158| 9 | Cut off | 159+-------+--------------+ 160| 10 | IMCU_RESET | 161+-------+--------------+ 162 163 164Debug OUT (J3) 165 166+-------+----------------+ 167| PIN # | Signal Name | 168+=======+================+ 169| 1 | EXT_VTG | 170+-------+----------------+ 171| 2 | EXT_SWDIO | 172+-------+----------------+ 173| 3 | GND | 174+-------+----------------+ 175| 4 | EXT_SWDCLK | 176+-------+----------------+ 177| 5 | GND | 178+-------+----------------+ 179| 6 | EXT_SWO | 180+-------+----------------+ 181| 7 | N/C | 182+-------+----------------+ 183| 8 | N/C | 184+-------+----------------+ 185| 9 | EXT_GND_DETECT | 186+-------+----------------+ 187| 10 | EXT_RESET | 188+-------+----------------+ 189 190 191Auxiliary (J9) 192 193+-------+----------------+ 194| PIN # | Signal Name | 195+=======+================+ 196| 1 | P0.10 | 197+-------+----------------+ 198| 2 | P0.09 | 199+-------+----------------+ 200| 3 | P0.08 | 201+-------+----------------+ 202| 4 | P0.07 | 203+-------+----------------+ 204| 5 | P0.06 | 205+-------+----------------+ 206| 6 | P0.05 / AIN3 | 207+-------+----------------+ 208| 7 | P0.21 / RESET | 209+-------+----------------+ 210| 8 | P0.01 / XL2 | 211+-------+----------------+ 212| 9 | P0.00 / XL1 | 213+-------+----------------+ 214| 10 | GND | 215+-------+----------------+ 216 217 218Arduino Headers 219--------------- 220 221 222Power (J5) 223 224+-------+--------------+-------------------------+ 225| PIN # | Signal Name | BMD-360 Functions | 226+=======+==============+=========================+ 227| 1 | VSHLD | N/A | 228+-------+--------------+-------------------------+ 229| 2 | VSHLD | N/A | 230+-------+--------------+-------------------------+ 231| 3 | RESET | P0.21 / RESET | 232+-------+--------------+-------------------------+ 233| 4 | VSHLD | N/A | 234+-------+--------------+-------------------------+ 235| 5 | V5V | N/A | 236+-------+--------------+-------------------------+ 237| 6 | GND | N/A | 238+-------+--------------+-------------------------+ 239| 7 | GND | N/A | 240+-------+--------------+-------------------------+ 241| 8 | N/C | N/A | 242+-------+--------------+-------------------------+ 243 244Analog in (J8) 245 246+-------+--------------+-------------------------+ 247| PIN # | Signal Name | BMD-360 Functions | 248+=======+==============+=========================+ 249| 1 | A0 | P0.03 / AIN1 | 250+-------+--------------+-------------------------+ 251| 2 | A1 | P0.04 / AIN2 | 252+-------+--------------+-------------------------+ 253| 3 | A2 | P0.28 / AIN4 | 254+-------+--------------+-------------------------+ 255| 4 | A3 | P0.29 / AIN5 | 256+-------+--------------+-------------------------+ 257| 5 | A4 | P0.30 / AIN6 | 258+-------+--------------+-------------------------+ 259| 6 | A5 | P0.31 / AIN7 | 260+-------+--------------+-------------------------+ 261 262Digital I/O (J7) 263 264+-------+--------------+----------------------------+ 265| PIN # | Signal Name | BMD-360 Functions | 266+=======+==============+============================+ 267| 1 | D7 | P0.18 | 268+-------+--------------+----------------------------+ 269| 2 | D6 | P0.17 | 270+-------+--------------+----------------------------+ 271| 3 | D5 | P0.16 | 272+-------+--------------+----------------------------+ 273| 4 | D4 | P0.15 | 274+-------+--------------+----------------------------+ 275| 5 | D3 | P0.14 | 276+-------+--------------+----------------------------+ 277| 6 | D2 | P0.13 | 278+-------+--------------+----------------------------+ 279| 7 | D1 (TX) | P0.12 | 280+-------+--------------+----------------------------+ 281| 8 | D0 (RX) | P0.11 | 282+-------+--------------+----------------------------+ 283 284Digital I/O (J6) 285 286+-------+--------------+-------------------------+ 287| PIN # | Signal Name | BMD-360 Functions | 288+=======+==============+=========================+ 289| 1 | SCL | P0.27 | 290+-------+--------------+-------------------------+ 291| 2 | SDA | P0.26 | 292+-------+--------------+-------------------------+ 293| 3 | AREF | P0.02 / AIN0 | 294+-------+--------------+-------------------------+ 295| 4 | GND | N/A | 296+-------+--------------+-------------------------+ 297| 5 | D13 (SCK) | P0.25 | 298+-------+--------------+-------------------------+ 299| 6 | D12 (MISO) | P0.24 | 300+-------+--------------+-------------------------+ 301| 7 | D11 (MOSI) | P0.23 | 302+-------+--------------+-------------------------+ 303| 8 | D10 (SS) | P0.22 | 304+-------+--------------+-------------------------+ 305| 9 | D9 | P0.20 | 306+-------+--------------+-------------------------+ 307| 10 | D8 | P0.19 | 308+-------+--------------+-------------------------+ 309 310J11 311 312+-------+--------------+-------------------------+ 313| PIN # | Signal Name | BMD-360 Functions | 314+=======+==============+=========================+ 315| 1 | D12 (MISO) | P0.24 | 316+-------+--------------+-------------------------+ 317| 2 | V5V | N/A | 318+-------+--------------+-------------------------+ 319| 3 | D13 (SCK) | P0.25 | 320+-------+--------------+-------------------------+ 321| 4 | D11 (MOSI) | P0.23 | 322+-------+--------------+-------------------------+ 323| 5 | RESET | N/A | 324+-------+--------------+-------------------------+ 325| 6 | N/A | N/A | 326+-------+--------------+-------------------------+ 327 328Programming and Debugging 329************************* 330 331Flashing 332======== 333 334Follow the instructions in the :ref:`nordic_segger` page to install 335and configure all the necessary software. Further information can be 336found in :ref:`nordic_segger_flashing`. Then build and flash 337applications as usual (see :ref:`build_an_application` and 338:ref:`application_run` for more details). 339 340Here is an example for the :zephyr:code-sample:`hello_world` application. 341 342First, run your favorite terminal program to listen for output. 343 344.. code-block:: console 345 346 $ minicom -D <tty_device> -b 115200 347 348Replace :code:`<tty_device>` with the port where the 349BMD-360-EVAL can be found. For example, under Linux, 350:code:`/dev/ttyACM0`. 351 352Then build and flash the application in the usual way. 353 354.. zephyr-app-commands:: 355 :zephyr-app: samples/hello_world 356 :board: ubx_bmd360eval/nrf52811 357 :goals: build flash 358 359Debugging 360========= 361 362Refer to the :ref:`nordic_segger` page to learn about debugging 363u-blox boards with a Segger J-LINK-OB IC. 364 365 366Testing the LEDs and buttons in the BMD-360-EVAL 367************************************************ 368 369There are 2 samples that allow you to test that the buttons 370(switches) and LEDs on the board are working properly with Zephyr: 371 372.. code-block:: console 373 374 samples/basic/blinky 375 samples/basic/button 376 377You can build and flash the examples to make sure Zephyr is 378running correctly on your board. The button and LED definitions 379can be found in :zephyr_file:`boards/u-blox/ubx_bmd360eval/ubx_bmd360eval_nrf52811.dts`. 380 381References 382********** 383 384.. target-notes:: 385 386.. _u-blox website: https://www.u-blox.com/en/product/bmd-360-open-cpu 387