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