damaki / DW1000

A SPARK/Ada driver for the DecaWave DW1000 Ultra-Wideband tranceiver.
MIT License
12 stars 5 forks source link

Hardware instructions #1

Open fverdou opened 6 years ago

fverdou commented 6 years ago

Hello there.

We have the MDEK1001 kit of DecaWave and we realized that it's API doesn't allow us to control the transmission in any way we want or run our own custom code, and we were wondering about how exactly can we do just that. Do we have to purchase DW1000 devices on their own and make our own boards? Can we use the MDEK1001 kit at all? Any info you might have, instructions, hardware tips, etc, would be really helpful.

Thank you in advance!

damaki commented 6 years ago

Hello!

Firstly, I'd like to make it clear that neither myself nor this project are affiliated with DecaWave. This is just a side project of mine. Secondly, the scope of this project is just a driver for the DW1000 transceiver, intended to run on a host microcontroller on a board. it doesn't intend to address an entire board like the MDEK1001.

Personally, I've never used the MDEK1001; I've only ever used the EVB1000. But looking at the specs the MDEK1001 is just a kit containing some DWM1001-DEV boards. Each of these boards has a DWM1001 module attached, which contains a DW1000 transceiver plus a Nordic Semi host microcontroller (nRF52832). The DWM1001-DEV also seems to have a J-Link on board, which I guess would let you flash your own code onto the nRF52832 chip on the DWM1001 module.

Of course, you would need to port your own code to run on the nRF52832 microcontroller, communicating with the DW1000 chip via SPI.

Since I don't own my own MDEK1001 I can't give you any precise instructions on how you would actually port or flash your own code onto the boards, but looking at the page on https://www.decawave.com/products/dwm1001-dev there are some links to download source code etc, which may have the necessary tools to flash arbitrary code onto the boards.

If you still have trouble, I'd recommend contacting DecaWave's support directly.

Hope that helps!

fverdou commented 6 years ago

Hello hello!

Firstly as well, after a lot of documentations reading we finally understood that indeed that MDEK1001 kit doesn't let the user configure what is important for our goals. This is why I started that thread, so we could get all the information we can about how to control a DW1000 device and take advantage of its abilities. You developed your own driver, but in order for that to happen you at least had the equipment and tools we lack to install it and test it. The kit we got will have to be put aside.

So, EVB1000 you say. And you used it as is? I mean by utilizing the components already on it? (The fact we could try our own antennas on this, which researchers in our lab can also custom print, is awesome)

Ps: I'm a student programmer here, not an engineer, the kit was brought to us in the scope of developing C custom code for it. But of course then I saw what you saw and that we can't even read raw data from it, only the final estimated range per anchor for each location. So now we are trying to make sure not only to get the right equipment but also step by step instructions, tips, tool chains, etc, to either use DecaWave's DW1000 API or an open source like yours and actually control that transceiver by using C and work with raw TX RX data and keep timestamps and do all those great things it can offer.

Ps2: We would be immensely grateful for any help you can and want to offer. In the meantime I'll read the DW1000 documentation again and any EVB1000 documentation I can find, search for any tutorials etc etc.