/arduino-dw1000-ng

Arduino driver and library to use Decawave's DW1000 IC and relative modules.

Primary LanguageC++MIT LicenseMIT



Arduino library to use Decawave's DW1000 IC and relative modules.

c++11 Arduino

Status

This is not actively developed. We are very glad for the pull requests. However, we need help testing the code on as many devices as possible.

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