DWM3000 utilize additional UWB channels

Hello everyone,

It is specified that the DWM3000 module only supports channels 5 and 9. However, our application requires additional channels. Is it theoretically possible to use this module with another channel by tweaking the source code? Is the hardware capable? We are aware that e.g. the module’s antenna supports a broader range of frequencies. It is important to note that we do not need compliance to a certain standard.


No. The DW3000 chip used in the DWM3000 only supports those channels.
The DW1000 and modules based on it support more channels but not channel 9.

Thank you for your fast response.
It is a little bit counterintuitive to us that the newer module supports fewer frequencies than its predecessor. Given that we want to test non-standard compliment applications, are you sure that the DWM3000’s hardware is not theoretically capable to support other frequencies, even though it has a similar size than the DWM1000 ?

As AndyA mentioned, the DW3000 family supports channel 5, which was supported on DW1000, and adds support for channel 9, which is the most permissible from a regulatory standpoint. Furthermore, channel 5 and 9 are the only 2 channels which are used by FiRa.

DW1000 is still available if you need support for the lower frequency channels.

Hi there,

@AndyA @akash I believe me12 is looking for a solution that is NOT compliant to any standardizations (except for FCC probably). Basically, yielding the same signal characteristics as for the DWM1001C module, but for the DWM3001C. Is that correct?

So the questions become:

  1. Is there a way to use identical transceiver configs for both modules regardless of regulatory constraints?

  2. If NOT, the question is whether the hardware would be capable of it, but the software does not allow these configurations as of yet. Might this be planned in the future (kind of a “developer mode” if you will)?

Thanks for all the contributions and I am curious to see the outcome of this discussion.

There are a large number of configuration registers in the DW3000. A number of these are described as being related to PLLs and frequency synthesisers. The user manual simply states that for certain channels these should be set to certain values.

So yes, you could put other values in there and it would either a) generate a different frequency output, b) not work at all, or c) explode like a leftover special effect from the oppenheimer movie. OK, C is probably not going to happen but you could cause some damage to the part.

However which registers to change and how to change them would be a case of random guesswork and trial and error. There is no documentation as to what these registers do or even whether they represent a single 32 bit value, 32 1 bit flags or some mix in between. Plus if you dig into the driver source code released before it became closed the drivers are modifying registers that aren’t even listed in the user manual.

@AndyA @dneuhold Thanks for your responses.
I have two questions remaining:

1.) According to your answer, we can conclude that the hardware of the DWM3000 is capable to support additional frequencies and it is only a software issue.
@AndyA can you confirm that?

2.) Are there plans to update the source code of the DWM3000 to allow for the same config options of the DWM1000 in the future?
@AndyA are you aware of any update plans?

Yes the chip is almost certainly capable of generating additional frequencies close to the supported ones.
No this does not mean that it’s “only a software issue” to get other completely different frequency bands.

You may be able to shift frequencies by a few hundred MHz and get a non-standard frequency but not by GHz. All of the internal RF circuits and and configuration options will have the built in assumptions that it will only be running at certain frequencies. The further you get away from these frequencies the less reliable they will become.
The DW3000 was never designed to run at frequencies below 6 GHz, just as the DW1000 was never designed to operate up at channel 9 frequencies. Even if there was some combination of register options that in theory moved the frequencies that far off the intended values I wouldn’t expect the part to work.


Can’t find the old source code and register definitions, but would be interesting to look at it. Could you PM it to me?

I’m also looking into things the official SDK might not allow. For example looks like it can only communicate with one other device. But for some applications it might be useful, if for example multiple iPhones could range to a single device (beacon mode for a meeting point or something). Looks like with the SDK, I can only setup one connection at a time with the accessory config data. But with the hardware it might be possible to have multiple connections, like with BLE in a round-robin timeslot style. I think FiRa describes this, too.

The underlying hardware and driver don’t have the concept of a connection, only packets sent or received. Any limitation in the number of simultaneous connections will be from higher layers of software/firmware.

1 Like