Module Programming - DWM1001C and DWM1004C

We are trying to develop our custom tag using DWM1001C and DWM1004C modules. We want to upload our custom program/firmaware on these modues. How to program these modules without taking out any pinouts?

We want to remove modules from casing and then put module on programmer to program and then again insert it into casing. Do you have such programmer as per our requirement?
We do not want to take out any Pinouts outside of casing.

Please advice regarding different programming options.

Hello Nilesh

What exactly do you mean with “We want to remove modules from casing”? Are you buying the modules on a DWM1001-dev breakout board?

I would suggest connecting the SWD interface to a programming header. This header can be populated for prototyping and left unpopulated for production. A bed of nails can be used to program the firmware in production.

A common approach is to use something like a tag-connect footprint on the PCB. This allows to connect a programmer without having to populate a connector on the board and it’s easy to make compatible with a bed of nails.

We have looked into some options to release a product that allows to program the modules, but we haven’t found a reliable and cost-effective solution. Some customers came up with their own solution, see this forum post: DWM1001 TDoA tags Programming board.

Hello Seppe,

Thank you for clarifications.
Just wanted to confirm if we can successfully program DWM1001C module using J-Link EDU Mini. Link-

We are planning to program DWM1001C module using USB.
USB will be connected to dekstop where segger has been installed. On J-link EDU will be mediator between dekstop and DWM100C module. I have refereed link - Mininum pins to enable DWM1001

Looking forward to hear from you.


Yes, this should be fine.

Regarding minimal pins:

  • SWDIO of the J-Link needs to be connected to SWD_DIO of the module
  • SWCLK of the J-Link needs to be connected to SWD_CLK
  • GND of the J-Link needs to be connected to GND of the J-Link.

Connecting Vref of the J-Link to Vcc of the module can also be handy to spot issues with the power supply. The J-Link can monitor the voltage on this signal so you can check if it’s in range. Some J-Links (not sure about J-Link EDU) are also able to source 3V3 which allows to power the product, but I would advice against this for radio modules since they require high transient currents.

An other signal that is interesting to connect is reset (RESETn on module), allowing to perform hardware resets. This is often faster and more reliable than resets over SWD.

Hi Seppe,

Thank you for clarification.

Just wanted to know if the same J-Link EDU Mini works to program DWM1004C module.
Please advice.