MCU selection

We want to use 8-bit MCU with 2kb flash for Tag. Any suggestions, please share.

thx in adv! :slight_smile:

A recommendation I can’t give, but here are three examples of what customers are using:

  1. atmega 2560
  2. PIC18F66K80
  3. Intel 8051

In general the choice of processor requirements are dependent on the end application.

For Two-Way ranging (TWR) mobile Tag a microprocessor with at least 16k of flash and 4k of RAM can be used to run DecaWave’s TWR demo application.

For TDoA based mobile Tag application, a smaller microprocessor e.g. with 4-8k of flash and 1-2k RAM can be used.

If you want to minimize system power consumption we recommend using a microprocessor with a fast start-up time and an SPI interface capable of the maximum rate supported by the DW1000, i.e. 20 MHz.

We also have an application note on 8-bit processors. APS019 describes what to take care of eg vs. a 32 bit processor.


Is there a firmware package for DWM1000 available for the 2560 with sample main code? as Arduino or Atmel Studio project?

We have no sample code for this processor. I suggest you use the existing ST32 based sample code we have and port it to the processor.
Use MCU datasheet of the processor to get info on the SPI interface
And note that the MCU is the MASTER, DWM1000 a slave device.

Okay, this is very helpful input. Couple more questions, please help;

  1. What about MCU speed in the above cases? (TWR, TDoA). Is 150Hz update rate achievable even with 8 MHz clock and 1MHz SPI?

  2. In case of Anchor, what is the minimum Flash / RAM size? I know it is depends on number of tags, data rate, frame length or different modes of operation, but will 20k RAM be enough for the Anchor? (in TWR or TDoA modes?) If you could provide some general guideline that will be very helpful as we feel the cost of MCU in ref. design is a bit high and want to go with low cost options.

Thank you very much for the support! :slight_smile:

Hi DecaLeo,
Could you pkease help with my query above?


I don’t think a low MCU will achieve this (150Mhz) maybe for 1 TAG… .
In general we recommend for high update rate to ensure that SPI transactions occur at the fastest possible rate (e.g. 20 MHz) and ensure that each transaction is uninterrupted.

In addition:
[]Set the DW1000 data rate to the maximum available; 6.8 Mbps; this will ensure that the data payload portion of the frame is as short as possible.
]Use as short a preamble a possible (e.g. 64 or 128), as each symbol is about 1 µs long.
[*]Depending on the specific application it may make sense for the DW1000 not to use SLEEP / DEEPSLEEP modes as the IC needs up to 5 ms wake-up time (for crystal to start up) to return to the active state.
[/list]But best way forward is to consult our APS016 Moving from TREK1000 to a product (attached) . It describes ai great detail the timings involved and what to take care of for different use case.

Thank you so much! Appreciate your detailed response.
Best Regards