An Open Source, Micro Development Kit for IoT Embedded Applications
Table of Contents
- Hardware Specification
- Pinout Diagram
- Getting Started with nRF52832-MDK
- How to program nRF52832-MDK
- Hardware Resource
- How to get an nRF52832-MDK
The nRF52832-MDK is a fully open-source, versatile single board development kit for Bluetooth® low energy, ANT and 2.4GHz proprietary applications using the nRF52832 SoC.
The kit gives access to 24 I/Os and interfaces via headers and has a RGB LED which is user-programmable. It also has a 2.4GHz chip antenna onboard which is quite convenient to develop IoT wireless applications.
It supports the Nordic offical SDK using GCC, Keil and IAR. Program/Debug options on the kit is DAPLink.
The nRF52832-MDK can also be used to play with multi-frameworks such as: nRF5 SDK, nRF5 SDK for Mesh, Mbed OS 5, Zephyr, Mynewt, NuttX, JerryScript, Espruino, MicroPython, Web Bluetooth, Eddystone, etc.
There are two versions of nRF52832-MDK available:
V1: with Micro USB socket and headers soldered in
V2: without headers soldered in and can be connected to PC without any cable
Just choose one that's right for you!
nRF52832-MDK provides the following hardware features:
Nordic Semiconductor nRF52832
- ARM® Cortex™-M4F
- 512kB Flash Memory + 64kB RAM
- Bluetooth low energy, ANT and 2.4GHz
- NFC™-A tag
Program/Debug options with DAPLink
- MSC - drag-n-drop programming flash memory
- CDC - virtual com port for log, trace and terminal emulation
- HID - CMSIS-DAP compliant debug channel
Up to 24 GPIOs at headers
2.4GHz chip antenna
3.3V regulator with 1A peak current output
VBUS & VIN Power-Path Management
Two dimensions available:
- V1: 48mm x 18mm x 13mm with headers soldered in
- V2: 63mm x 18mm x 4mm without headers soldered in
Getting Started with nRF52832-MDK
Congratulations on getting the nRF52832-MDK. In this section we'll show you how to connect and power up your nRF52832-MDK, and what to expect when you do so. This will take about 20 minutes.
Connecting the board
You can connect the board by performing the following steps:
Connect the nRF52832-MDK to one of your PC's USB host ports. This provides power to the board. Observe that two GREEN LEDs are on. One indicates that 3.3V power is good, and another indicates that the application is advertising.
Open a file explorer. Confirm that the nRF52832-MDK has appeared as a removable drive named DAPLINK. This allows you to program the onboard chip. You'll do this under "how to program nRF52832-MDK" below.
Using terminal applications
You can connect your board to your computer over USB. This should work out of the box on Linux and macOS, but for Windows earlier than Windows 10, you will probably need to install a serial port driver:
Download the Arm Mbed Windows serial port driver.
Plug in your board over USB. It mounts as a drive.
Close all Explorer windows showing the drive.
Run the installer. This may take some time or display a few "unsigned driver" warnings.
The default setup for the USB serial port is 115200 baud, 8 bits, 1 stop bit, no parity (115200-8-N-1)
There are many terminal applications for Windows, PuTTY is recommended.
Start PuTTY and open the used COM port with the following configuration. If there is nothing printed, just press RESET button on the board.
screen should work on macOS. In Terminal, run:
$ screen /dev/cu.usbmodem1412 115200
If there is nothing printed, just press RESET button on the board.
You can type
screen /dev/cu.usb first, and then press tab. The device name will autocomplete.
To end a screen session, type Ctrl + A, and then Ctrl + K. At the bottom of the Terminal window, you should see a
[y/n] prompt. Type y.
screen should work on Linux. If for some reason it doesn't, you can try one of the following:
Here we will use screen on Ubuntu 16.04 for example. If there is nothing printed, just press RESET button on the board.
$ sudo apt-get install screen
$ sudo screen /dev/ttyACM0 115200
Using nRF Connect
You can also test the application with nRF Connect by performing the following steps:
Get the nRF Connect app from App Store or Google Play.
Connect to the device from nRF Connect (the device is advertising as nRF52832-MDK).
Observe that BLUE LED is on and GREEN LED is off. This indicates that the connections is established.
Observe that the services are shown in the connected device.
01to the Nordic Blinky LED Characteristic (0x1525) and observe that RED LED is turned on.
00to the Nordic Blinky LED Characteristic (0x1525) and observe that RED LED is turned off.
How to program nRF52832-MDK
You have the following two options to program your nRF52832-MDK:
Drag and drop the hex file into the DAPLINK removable drive mentioned above. The file contains firmware which will be automatically programmed onto the nRF52832 SoC. This happens immediately. The explorer window may close when programming starts. When programming is completed, the unit will be re-detected by the computer. The application will run after pressing the RESET button.
It's so easy, right?
pyOCD is an Open Source python 2.7 based library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP. Linux, OSX and Windows are supported.
The latest stable version of pyOCD may be done via pip as follows:
$ pip install --pre -U pyocd
Alternatively, to install the latest development version (master branch), you can do the following:
$ pip install --pre -U https://github.com/mbedmicro/pyOCD/archive/master.zip
Note that you may run into permissions issues running these commands. You have a few options here:
- Run with
sudo -Hto install pyOCD and dependencies globally
- Specify the
--useroption to install local to your user
- Run the command in a virtualenv local to a specific project working set.
You can verify that your board is detected by pyOCD by running:
$ pyocd-flashtool -l
and then flash the board by running:
$ pyocd-flashtool -d debug -t nrf52 -se your-hex-file.hex
How to get an nRF52832-MDK
nRF52832-MDK is available on the following channels (click to go directly to the product):
Copyright (c) 2019 makerdiary.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.