Quick description

The DecaWiNo is a board based on the PJRC Teensy 3.1/3.2 and the DecaWave DWM1000 module, which is an Ultra-Wide Band (UWB) transceiver. The DecaWiNo enables wireless communication and ranging applications, i.e. distance evaluation between nodes using the electromagnetic signal.

The TeensyWiNo includes:

  • An ARM Cortex M4 MCU (Freescale MK20DX256VLH7)
  • An IEEE 802.15.4-compatible UWB transceiver (DecaWave DWM1000 module)
  • An RGB LED.

Unused Teensy pins are made available through the sockets positioned on three sides of the board.

The DecaWiNo was the original hardware reference of the DecaDuino library.


The DecaWiNo has been designed by the IRIT lab in Toulouse, France (Institut de Recherche en Informatique de Toulouse).


Thanks to the UWB transceiver, the DecaWiNo is ranging capable, i.e. using precise message timestamping, two DecaWiNos can evaluate the distance between them. The ranging precision is ~10cm in Line Of Sight (LOS) situations. To fully take advantage of the ranging capabilities, a ranging protocol such as Two-Way Ranging (TWR) must be implemented. Such a protocol implementation is available in the DecaDuino library examples.

We set up a demonstrator of the ranging capabilities using a 1m-long RGB LED strip with LEDS placed 1.65cm apart and two DecaWiNos. In this video, one DecaWiNo executes a ranging session every 100ms with the other. The first node then indicates the estimated distance by activating the corresponding blue LED.


Technical description

As seen on the wiring, the DecaWiNo embeds:

The transceiver is connected to the MCU via the SPI bus, and powered via the Teensy 3.3V output, which is internally regulated.

The RGB LED is reverse polarized (common anode) and uses the pins 3 (blue), 4 (green) and 5 (red).

DecaWiNo Block Diagram


Category Topic Library Adaptation Download
Networking DecaWave DW1000 DecaDuino Works out-of-the-box [git] [zip]
Teensy Sleep/Deep sleep/Hibernate Snooze Works out-of-the-box [git] [zip]