How to flash DWM1001C from DWM1001-DEV

Hi there,

I have just learned that the DWM1001C is delivered blank. No previous warning in the datasheet provided, until you recently updated it after a user warning you about this. So now, I have a couple of custom boards mounted with DWM1001C modules (although the ones I ordered were DWM1001) and need a way of firmware flashing for these modules. (By the way, my custom boards were not working and now I know why… after a week checking the soldering and wondering what the heck was happening…).

I’ve seen a post where it was said that the DWM1001-DEV can be used to provide the J-Link signals to the module, but also it was said that this is not documented by DW.

Could you at least tell us a brief description of how the DWM1001-DEV can be used for this purpose ? Is the J11 connector involved in it ? Should we open any of the bridge solders to use J-link in J11 and not in the board own module ?



The DS was updated in December 2018 stating the parts would ship blank.

Answering your question, see this topic below:


Hi Ken and thanks for your answer.

I made two purchases of DW1001 modules. The first one was on mid Dec’18 and the second in late Jan’19. For the first one, I received DWM1001 modules and for the second the DWM1001C were received instead (even having used the same supplier code). I didn’t even realize they were different marked modules until a few days ago, when assembly and first board tests were run. Bad luck from my side !!

In any case, I would like to use one of my DWM1001-DEV modules as a programmer for my DWM1001C. Unfortunately the post you mention does not answer my previous questions. Since you had answered that DWM1001-DEV was able to perform this task, would it be possible a little orientation on the changes to be made in the DWM1001-DEV board to accompish this task ? Not a formal (neither binding) doc, just a few comments.


This is what I did:

Open bridges J17 and J18 and solder 2 cables to the left side of the bridges. J17 is SWDIO and J18 is SWCLK.
Solder a cable to J16. This is 3.4V. Do not open up the bridge.

On the bottom side solder a cable to the test point. This is ground. You could also use the pin Header from J1 as ground.

1 Like

Thanks !! That looks pretty neat and simple.

Only one thing… don’t you need reset signal as well ?

The reset signal is not necessary to program Nordic MCUs.

Ok, great. Thanks… :+1:

Is there a complete and comprehensive guide for flashing DWM1001C from DWM1001-DEV? Do we need a Raspberry-Pi as well?

You will find it in the user guide.
You don’t need a Pi for flashing.
Download Jlink flash lite from Segger, follow the user guide.
To interact with your devices use a serial terminal

@Groowla Thank you for the prompt reply, I will check the user guide. Is there a way to avoid soldering and de-soldering for mass (>50) flashing of modules?

You could try to build a jig with a SMT test socket. If you’re doing a lot of volume, you can also look into production programmers.

1 Like

@sargyrop untonfruately I’ve never had to do it but like Ken mentioned, if you follow his link you will find out that other people managed to successfully connect it using this one piece interface and SWD Jlink debugger.

Also Nicholas mentioned that you can make some sort of jig with a test socket, which would probably what you would need for a 50+ volume.

My personal diy solution would be to get some fimo clay from a hobby store (10$), put some plastic on the module and form the clay around the bottom part. Take it off, then use some metal wire and stick it thru the clay so that you get connections for GND, VCC, RESETn, SWDIO, SWDCLK… bake it in the oven. Make sure when it’s done see if fits the module properly. if it does… Buy an SWD module and you’re ready to flash it away one by one :wink:

1 Like