F-Army / arduino-dw1000-ng

Arduino driver and library to use Decawave's DW1000 IC and relative modules.
MIT License
121 stars 64 forks source link
arduino decawave dw1000 dwm1000 localization ranging rtls twr



### Arduino library to use Decawave's [DW1000](https://www.decawave.com/product/dw1000-radio-ic/) IC and relative modules. ![c++11](https://img.shields.io/badge/C%2B%2B-11-brightgreen.svg?&style=for-the-badge) ![Arduino](https://img.shields.io/badge/Arduino-%3E%3D1.6.6-blue.svg?&style=for-the-badge)

Status

:warning: We are archiving the repo as we can't support it anymore and we are not currently working with dw1000 hardware, feel free to create your own fork if you intend to support the project, we will be happy to add a link on this project. Thank you everyone for the support you gave this project it was truly appreciated.

Differences with thotro/arduino-dw1000

This is a fork of https://github.com/thotro/arduino-dw1000.
The main reason for this fork is because the development there is really slow (due to the original author not developing it anymore) and some important features were missing (for example antenna delay calibration).
We also wanted to change how the ranging logic works.
Rather than providing a ranging loop, we wanted to provide functions to send the different Two way ranging flow frames, giving the user more control over the program.
The base driver was also re-written in a lot of places, to make every API function more independent from each other. We also plan to make very high-level abstractions to hack projects fast.

Features

Ranging Localization NLOS Optimizations Frame filtering Antenna Calibration Antenna Delay Arduino EEPROM Transmission power setup Deep sleep Sleep Double buffering Transmit Power Spectrum Test Mode Continuous wave mode

Devices

Arduino ESP8266 ESP32 STM32-BluePill

Specific tested devices, whit related pinout, are inside the Wiki.

Installation

Requires c++11 support, Arduino IDE >= 1.6.6 support c++11.

  1. Get a ZIP file of the master branch or the latest release and save somewhere on your machine.
  2. Open your Arduino IDE and goto Sketch / Include Library / Add .ZIP Library...
  3. Select the downloaded ZIP file of the DW1000 library
  4. You should now see the library in the list and have access to the examples in the dedicated section of the IDE

Usage

Check examples folder for basic usage.

The Decawave documentation helps a lot in understanding this project, especially if you want to go deeper.

Authors

License

The project is under MIT (see LICENSE.md)
Some files are under a Dual Apache 2.0/MIT because this is a fork of thotro/arduino-dw1000