radino40 DW1000
Contents |
Hardware
The In-Circuit radino40 DW1000 combines Nordic Semiconductor 's nRF52840 microcontroller and Decawave's DW1000 UWB radio chip in a small form-factor EMC-compliant module.
The DW1000 is a fully integrated single chip Ultra Wideband (UWB) low-power low-cost transceiver IC compliant to IEEE802.15.4-2011.
It can be used in 2-way ranging or TDOA location systems to locate assets to a precision of 10 cm. It supports data transfer at rates up to 6.8 Mbps.
The Nordic Semiconductor's nRF52840 with 32-bit ARM® Cortex®-M4 CPU mit FPU, 64 MHz Clock, 1Mb flash, 256 MB RAM offers great performance and Bluetooth 5 functionality. The radino40 modules are pin-to-pin compatible.
With its powerful processor, the DW1000 UWB-chip and its small size, the radino40 DW1000 is the perfect base for RTLS-systems
Features:
- UWB Transeiver DW1000 by Decawave
- IEEE802.15.4-2011 UWB compliant
- Supports 6 RF bands from 3.5 GHz to 6.5 GHz
- Data rates of 110 kbps, 850 kbps, 6.8 Mbps
- IEEE802.15.4-2011 UWB compliant
- nRF521840 by Nordic Semiconductors
- 32-bit ARM® Cortex®-M4 CPU with FPU, 64 MHz
- 1 Mbyte Flash, 256 kbyte RAM
- Dynamic multiprotocol-transceiver:
- Bluetooth 5 / Bluetooth Low Energy
- IEEE 802.15.4/Thread
- ANT/ANT+
- Proprietary 2,4 GHz
- 4x4 channel pwm unit with EasyDMA
- 12 bit 200 ksps ADC
- 5x 32 bit timer with counter mode
- USB 2.0, I²C, QSPI, SPI, UART, NFC-A
- Qadrature decoder (QDEC)
- 3x RTC
- 32-bit ARM® Cortex®-M4 CPU with FPU, 64 MHz
- 37 GPIOs
Suitable application development boards
Board | Pictures | Description |
---|---|---|
radino40 DW1000 USB-Stick | USB-Stick with UWB-antenna, Bluetooth®-antenna, USB-A plug and 6-Pin TC2030 CTX Plug-of-NailsTM SWD connector for programming and debugging | |
radino40 DW1000 Breakout | application development board with 3.3V voltage regulator, USB micro connector, 6-Pin TC2030 TCX Plug-of-NailsTM SWD connector for programming and debugging, BMI160 low power IMU, LiPo/Li-Ion charger, 2 push buttons, 3 LEDs, UWB- and Bluetooth®- antenna. |
Software
Setup toolchain (Windows PC)
Cygwin setup
On Windows PC the use of cygwin console is recommended. The following steps describe how to setup cygwin for radino40 DW1000 projects.
- Download latest cygwin
- https://cygwin.com/install.html -> setup-x86_64.exe
- Install cygwin
- Enable the following additional packages within cygwin installation:
- make (located at devel->make)
- bash-completion (located at shells->bash-completion)
- Optional recommended packages:
- chere (located at shells)
- Configure chere to get context menu option Bash Prompt Here
- Run cygwin as Administrator
- Run the following command to configure chere:
$ chere -i -t mintty -s bash
- Enable the following additional packages within cygwin installation:
- Download GCC
- Install GCC
- extract gcc-arm-none-eabi-4_9-2015q3-20150921-win32.zip to C:\GCC
- it is important to use a short file path without spaces here, e.g. C:\GCC
- Add C:\GCC\bin to system environment variable PATH'
- e.g. on Windows 10:
- open start menu, type environment, click on edit system environment varibales
- edit environment variable PATH, add:
C:\GCC\bin
- e.g. on Windows 10:
- verify installation in cygwin
- open cygwin console and enter
$ arm-none-eabi-gcc --version
- if GCC copyright gets printed, installation was successful:
- open cygwin console and enter
- extract gcc-arm-none-eabi-4_9-2015q3-20150921-win32.zip to C:\GCC
arm-none-eabi-gcc.exe (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 227977]Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Driver setup
- Download radino40 DW1000 Bootloader driver
- https://ic42.de/Download/nrfconnect-driver-installer.zip (sha256sum: 8570dc48cd0c4a5c6de259340d54fb820c773d5b9e6855615be5b81ca5fa702e)
- Run nrfconnect-driver-installer.exe to install driver
radino40 DW1000 SDK
Installation
- Download latest radino40 DW1000 SDK
- source: tbd
- extract radino40 DW1000 SDK
Compile & Upload Examples
- software examples are located within the directory ic-bootloadable-examples, e.g.:
- blinky_delay
- dw1000_ping_pong_distcalc
- ...
- each software example contains hardware specific subfolders, e.g.:
- hardware_breakout
- for 901.550 radino40 Breakout Board
- ...
- hardware_breakout
- compile example blinky_delay for specific hardware hardware_breakout
- open cygwin
- navigate to radino40DW1000SDK\ic-bootloadables-examples\blinky_delay\hardware_breakout
- compile firmware
$ make clean && make -j 16
- generate dfu image for bootloader upload
$ make dfu_generate
- tbd
Firmware-Update via USB Bootloader
Required Software
The radino40 DW1000 is shipped programmed with a usb bootloader which can be used to upload new firmware.
The USB driver needs to be installed, it can be downloaded here
Also the nrf_util tool has to be downloaded from here (additional information regarding this tool can be found on nordicsemi.com or github.com)
The compiled firmware binaries are delivered within a compressed zip file dfu_container.zip.
Starting the bootloader
Enable the bootloader on the radino40 DW1000 via low on the reset pin, e.g. by pressing the RESET-Button. The radino40 DW1000 stays in bootloader mode for 2 seconds. After that the Firmware is running.
The bootloader will be recognized as a serial COM-Port, e.g. COM4.
Upload firmware with nrfutil
On a windows PC open a Command window (cmd.exe) and navigate to the folder that contains the firmware file dfu_container.zip.
Replace COM4 with the COM-Port that your PC assigned to your device.
command to flash:
nrfutil dfu usb-serial -pkg <dfu_container.zip> -p <COM Port: COM4> -b 115200
example:
nrfutil dfu usb-serial -pkg dfu_container.zip -p COM4 -b 115200
Start the nrfutil.
The nrfutil now waits up to 10 seconds for the radino40 DW1000 to enter the bootloader.
If the nrfutil exits successful the radino40 DW1000 is programmed.