mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
68 lines
2.7 KiB
Plaintext
68 lines
2.7 KiB
Plaintext
/**
|
|
@defgroup boards_nrf52840dongle nRF52840-Dongle
|
|
@ingroup boards
|
|
@brief Support for the nRF52840-Dongle
|
|
|
|
### Quick start
|
|
|
|
- Plug into a USB port.
|
|
- `$ make BOARD=nrf52840dongle -C examples/saul flash term`
|
|
- See [Flash the board](#nrf52840dongle_flash) if anything goes wrong.
|
|
- `> saul write 2 10 40 10`
|
|
- The LED glows in a soft turquise.
|
|
|
|
### General information
|
|
|
|
The nRF52840-Dongle is a bare USB-stick shaped device that houses barely
|
|
anything than the nRF52840 itself, which offers BLE and 802.15.4 and USB
|
|
connectivity.
|
|
|
|
Unlike similar sticks (like the @ref boards_nrf52840-mdk), it features no
|
|
dedicated programmer hardware but relies on direct USB communication with a
|
|
built-in bootloader.
|
|
|
|
The board features two LEDs (LD1: green, LD2: RGB), a user (SW1) and a
|
|
reset button as well as 15 configurable external pins.
|
|
|
|
### Links
|
|
|
|
- [nRF52840 web page](https://www.nordicsemi.com/?sc_itemid=%7BCDCCA013-FE4C-4655-B20C-1557AB6568C9%7D)
|
|
- [documentation and hardware description](https://infocenter.nordicsemi.com/topic/ug_nrf52840_dongle/UG/nrf52840_Dongle/intro.html?cp=3_0_5)
|
|
|
|
### Flash the board {#nrf52840dongle_flash}
|
|
|
|
The board is flashed using its on-board boot loader; the proprietary
|
|
[nrfutil](https://www.nordicsemi.com/Products/Development-tools/nRF-Util) program needs to
|
|
be installed, and `nrfutil install nrf5sdk-tools` needs to be executed. Note
|
|
that nrfutil, even when not running the "install" command, will install itself
|
|
into `~/.nrfutil`. The older Python based version of nrfutil is no longer
|
|
maintained by Nordic, and has become dysfunctional on Python 3.11.
|
|
|
|
The nrfutil can turn the binary into a suitable zip file and send it to the
|
|
bootloader. The process is automated in the usual `make flash` target.
|
|
|
|
If RIOT is already running on the board, it will automatically reset the CPU and enter
|
|
the bootloader.
|
|
If some other firmware is running or RIOT crashed, you need to enter the bootloader
|
|
manually by pressing the board's reset button.
|
|
|
|
Readiness of the bootloader is indicated by LD2 pulsing in red.
|
|
|
|
### Accessing STDIO
|
|
|
|
The usual way to obtain a console on this board is using an emulated USB serial port (CDC-ACM).
|
|
This is available automatically using the `stdio_cdc_acm` module,
|
|
unless any other stdio module is enabled.
|
|
|
|
On Linux systems with ModemManager < 1.10 installed,
|
|
`make term` will, in some setups, fail for a few seconds after the device has come up.
|
|
This is [fixed in its 1.12.4 version](https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/164),
|
|
but should not be more than a short annoyance in earlier versions.
|
|
|
|
To ease debugging,
|
|
pins 0.13 and 0.15 are configured as RX and TX, respectively.
|
|
They provide stdio if no CDC-ACM is disabled,
|
|
and can be used as a custom UART otherwise.
|
|
|
|
*/
|