50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
|
nRF52840 MDK USB Dongle
|
||
|
=======================
|
||
|
|
||
|
The *[nRF52840 MDK USB
|
||
|
Dongle](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle)* is a small,
|
||
|
low-cost development board in a USB dongle form-factor powered by an nRF52840
|
||
|
with 1MB flash and 256KB RAM.
|
||
|
|
||
|
This device is pre-installed with [Open
|
||
|
Bootloader](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/programming/),
|
||
|
allowing DFU upgrades over USB using Nordic [nRF
|
||
|
Connect](https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-desktop)
|
||
|
or [nrfutil](https://github.com/NordicSemiconductor/pc-nrfutil/). To support
|
||
|
Open Bootloader, the flash and memory layout must be adjusted slightly (details
|
||
|
[here](https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/nrf52840-dongle-programming-tutorial))
|
||
|
from the typical nRF build; this board definition ensure the appropriate build
|
||
|
configuration is used for MicroPython.
|
||
|
|
||
|
|
||
|
Pinout
|
||
|
------
|
||
|
|
||
|
The [pinout
|
||
|
diagram](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/#pinout-diagram)
|
||
|
provides an overview of the available pins and their capabilities. All pins are
|
||
|
available in MicroPython, using the pin numbers labelled in the diagram
|
||
|
(excluding the leading port number, *P0*).
|
||
|
|
||
|
The three LEDs are available either through the usual `Pin` mechanism - pins
|
||
|
22-24 - or by `board.LED(n)` where n can be 1, 2 or 3.
|
||
|
|
||
|
|
||
|
Build instructions
|
||
|
------------------
|
||
|
|
||
|
Follow the standard [nRF Port build instructions](../../README.md); but use
|
||
|
`nrf52840-mdk-usb-dongle` as the value for `BOARD`:
|
||
|
|
||
|
make BOARD=nrf52840-mdk-usb-dongle
|
||
|
|
||
|
The build artifacts will be created in `build-nrf52840-mdk-usb-dongle`. Once
|
||
|
built, the easiest way to deploy to the device is to open `firmware.hex` using
|
||
|
*nRF Connect* and select *Write*. Detailed instructions can be found on the
|
||
|
[developer
|
||
|
wiki](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/programming/).
|
||
|
|
||
|
**Note** that the regular method of deployment for the MicroPython nRF port
|
||
|
(using `make deploy`) will *not* operate correctly and will overwrite the
|
||
|
bootloader.
|