• Stars
    star
    205
  • Rank 187,410 (Top 4 %)
  • Language
    C
  • License
    MIT License
  • Created over 7 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Open Source, Micro Development Kit for IoT Embedded Applications using the nRF52832 SoC

nRF52832-MDK

An Open Source, Micro Development Kit for IoT Embedded Applications

中文文档

Table of Contents

Introduction

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!

V1&V2 image

Hardware Specification

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

  • Reset Button

  • RGB LED

  • 2.4GHz chip antenna

  • 3.3V regulator with 1A peak current output

  • VBUS & VIN Power-Path Management

  • Breadboard-friendly

  • Two dimensions available:

    • V1: 48mm x 18mm x 13mm with headers soldered in
    • V2: 63mm x 18mm x 4mm without headers soldered in

Pinout Diagram

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:

  1. 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.

  2. 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

Terminal applications (for example PuTTY or screen) run on your host PC. They provide a window where your board can print messages.

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:

  1. Download the Arm Mbed Windows serial port driver.

  2. Plug in your board over USB. It mounts as a drive.

  3. Close all Explorer windows showing the drive.

  4. 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)

On Windows

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.

On macOS

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.

On Linux

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:

  1. Get the nRF Connect app from App Store or Google Play.

  2. Connect to the device from nRF Connect (the device is advertising as nRF52832-MDK).

  3. Observe that BLUE LED is on and GREEN LED is off. This indicates that the connections is established.

  4. Observe that the services are shown in the connected device.

  5. Write 01 to the Nordic Blinky LED Characteristic (0x1525) and observe that RED LED is turned on.

  6. Write 00 to 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-n-drop Programming

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?

Using pyOCD

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 -H to install pyOCD and dependencies globally
  • Specify the --user option 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

Hardware Resource

Releases Design Files
V2.0 nRF52832-MDK V2.0 Schematic
nRF52832-MDK V2.0 PCB
nRF52832-MDK V2.0 3D STEP
V1.1 nRF52832-MDK V1.1 Schematic
nRF52832-MDK V1.1 PCB
nRF52832-MDK V1.1 3D STEP
V1.0 nRF52832-MDK V1.0 Schematic
nRF52832-MDK V1.0 PCB
nRF52832-MDK V1.0 3D STEP

How to get an nRF52832-MDK

nRF52832-MDK is available on the following channels (click to go directly to the product):

makerdiary store

SeeedStudio

Tindie

Taobao

License

MIT License

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.

More Repositories

1

python-keyboard

A hand-wired USB & Bluetooth keyboard powered by Python and more
Python
480
star
2

nrf52840-mdk-usb-dongle

An open-source, small and low-cost USB Dongle that supports Bluetooth 5.4, Bluetooth mesh, Thread, Zigbee, 802.15.4, ANT and 2.4 GHz proprietary protocols
Python
291
star
3

nrf52-u2f

An Open-Source FIDO U2F implementation on nRF52 SoC
C
176
star
4

nrf52840-mdk

An Open-Source, Micro Development Kit for IoT Applications using the nRF52840 SoC
C
160
star
5

nrf52840-connectkit

Rapid prototyping kit for your next connected projects supporting Bluetooth Low Energy, Bluetooth mesh, NFC, Thread, Zigbee, 802.15.4, ANT and 2.4 GHz proprietary stacks
Python
92
star
6

web-device-cli

A Web Command Line Interface via NUS (Nordic UART Service) using Web Bluetooth
JavaScript
73
star
7

pitaya-go

An Open-Source IoT Development Platform with Multiprotocol Wireless Connectivity
Batchfile
67
star
8

terminal-s

A super simple serial terminal
Python
48
star
9

Smart-Plug

An open source ZigBee plug for your own smart home
C
40
star
10

nrf52840-m2-devkit

An open-source developer kit based on a removable nRF52840 M.2 module, designed for IoT prototyping
C
26
star
11

nrf52840-m2

A removable M.2 module that enables multiprotocol connectivity, security and ease-of-use for your next embedded design
C
26
star
12

pitaya-link

An Open-Source CMSIS-DAP Debug Probe based on DAPLink
14
star
13

m60

An Open Source, USB & BLE 5.0, Modular, Hot-Swappable, 60% Mechanical Keyboard
12
star
14

power-profiler

A power profiling utility
Python
7
star
15

ncs-playground

nRF Connect SDK Playground
CMake
5
star
16

base-dock

Grove compatible dock for building rapidly IoT applications with nRF52832-MDK or nRF52840-MDK
C
4
star
17

uf2utils

An open source Python based tool for packing and unpacking UF2 files.
Python
4
star
18

makerdiary.github.io

Welcom to Makerdiary Wiki
HTML
4
star
19

OpenSK-firmware

OpenSK Firmware Releases
4
star
20

grove-mesh-kit

Build Mesh network with nRF52840-MDK and Grove
C
3
star
21

m2-dock

An essential carrier board to quickly prototype your next embedded design with a removable M.2 module
3
star
22

meshlight

Smart Lighting based on FruityMesh
C++
2
star
23

mynewt_nrf52840_mdk

Mynewt packages with board support for nRF52840-MDK.
Assembly
2
star
24

meshlight_server

A node server for MeshLight
JavaScript
1
star
25

WebBluetoothDemos

Demos for Web Bluetooth API
JavaScript
1
star