This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How is flashing done on custom hardware?

I am laying out a board in altium using the nRF51422 - just cutting out the essential pieces in the silk box from the nRF51 DK altium project.

I have some concerns. Once I have removed the arm3 mcu that does the talking over USB, how do I connect to the nRF51422 for programming of the device? Is there a way to buy nRF51422 pre-flashed with my final code? Or can I reprogram it over the bluetooth connection?

I want to get my prototype hw built, but I am unsure of how I would program the nRF51422 once I have the prototype in hand. I have only done some example code at this point and am unsure of what HW is really required to run the tutorials. My final application is a cheesy bluetooth controllable 3x3 LED array.

This is my first project, and I am really enjoying the Nordic tutorials and white papers so far. I have learned a lot and am having a lot of fun figuring my way there.

Thanks!

  • Hi,

    nRF5x chips are equipped with JTAG/SWD interface so as long as you connect these PINs (SWDIO and SWDCLK + obviously VCC and GND - see PIN layout of nRF51422 in chapter 2.2 of Product Specification downloadable from here) to some header or at least test points then you can use any compatible programmer (typically SEGGER J-Link which is also available on nRF5x Dev Kits including option to flash external chips over pin header).

    To off-board programming: this is used in case you need to save time on production line or if you don't have space for programming interface on final PCB. Nordic were originally supplying nRF5x chips with SoftDevice pre-loaded but you would anyway need to flash your application code and I guess they stopped offering this part number anyway. Off board programming has specific pit falls like you need specific programming socket + you need good process how to get chip from the reel to the socket and then back (or to new "holder") because that's usually necessary for next step in assembly process = PCB population. Professional manufactures usually offer this service but I assume it is more expensive then programming on final PCB.

    I guess you can find several open hardware examples on the internet with nRF51 and nRF52 chips which have JTAG/SWD programming interface on test points/PIN headers (instead of some on-board programming MCU like SEGGER J-Link OB on nRF5x DK boards). You can also see Nordic's nRF51 Beacon Kit example, that's a good one.

    Cheers Jan

Related