Code Monkey home page Code Monkey logo

decaduino's Introduction

DecaDuino

Ranging/synchronisation over UWB - DecaDuino library for Arduino

Brief

DecaDuino is an Arduino library which provides a driver for the DecaWave DW1000 transceiver, and modules based on this transceiver, such as DecaWave DWM1000. Since the DecaWave DW1000/DWM1000 is based on a Ultra Wide Band (UWB) Physical layer, DecaDuino can be used as an open framework for wireless Time-of-Flight (ToF) ranging systems.

For more details on the DecaDuino library, get the latest version of the documentation here: https://www.irit.fr/~Adrien.Van-Den-Bossche/decaduino/)

Installation

You have to put this library in your Arduino libraries directory.

Hardware

An example hardware is DecaWiNo: https://wino.cc/decawino/

Start using DecaDuino with simple example sketchs

All example sketches are available as usual in the Arduino IDE menu:

File > Examples > DecaDuino

DecaDuinoSender

This sketch shows how to use the DecaDuino library to send messages over the UWB radio.

DecaDuinoReceiverSniffer

This sketch shows how to use the DecaDuino library to receive messages over the UWB radio. The received bytes are printed in HEX; this sketch can be used as a frame sniffer to dump received messages.

DecaDuinoChat

This sketch shows how to use the DecaDuino library to send and receive ascii messages via the Serial port over the UWB radio.

Use DecaDuino to implement ranging protocols

DecaDuino can be used to implement Time-of-Flight (ToF) ranging protocols by timestamping frames at transmission and reception. The DecaDuino library comes with a set of sketches that implement popular ranging protocols.

Two-Way Ranging (TWR) protocol

The two example sketchs DecaDuinoTWR_client and DecaDuinoTWR_server propose a simple implementation of the TWR protocol without addressing fields.

Flash each example sketch on two nodes (client and server) and get the distance between the two nodes. The documentation directory contains the client and server state machine diagram.

Symmetric Double-Sided Two-Way Ranging (SDS-TWR) protocol

The two example sketchs DecaDuinoSDSTWR_client and DecaDuinoSDSTWR_server propose a simple implementation of the SDS-TWR protocol without addressing fields. The SDS-TWR protocol implies more messages but is theorically better than the TWR protocol since the clock skew effect is compensated by the symetry of the exchanges.

Flash each example sketch on two nodes (client and server) and get the distance between the two nodes.

Licensing

Using DecaDuino is subject to licensing:

decaduino's People

Contributors

vandenbo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.