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

Programming prototype board from 52 DK

I have a Nordic 52832 chip in an integrated module form from Fanstel.  I have the NRF 52 DK, the Fanstel evaluation board, and a custom prototype board I built.

I can program the Fanstel evaluation board through the 52 DK with no problem.

The custom board runs the Fanstel module transmitting Bluetooth with default software installed on the module without problem.

I included a 6 pin Tag Connect interface on the custom board and am trying to load my program onto the custom board through the 52 DK but the board is not being recognized and instead commands from nRF Go Studio is writing the code directly to the 52 DK.  The connections I am supporting are Vdd, GND, SWIO, and SWCLK. 

My assumption was a hardware connection problem.  The only possible errors being SWDIO and SWDCLK connections or the cable itself since Vdd and GND must be working or the chip would not transmit at all.

Traces seem fine and all pinouts correct.  Anything else that could be causing the problem besides hardware connections?

  • Can you try to skip the battery and wire everything as shown by user 'Remi' in this post: https://devzone.nordicsemi.com/f/nordic-q-a/14058/external-programming-using-nrf52-dk ?

    It sounds like you already know this, but just to be clear; VTG will not supply your external device with power and GND_DETECT will not provide a path to GND. The two pins are only used to detect whether or not an external device is connected. The external device needs to have its own power supply (can be VDD from nRF52 DK) and be connected to the nRF52 DK's GND. 

    Have you tested your soldering for short circuits?

    • By using the power supply from the DK 52 instead of the lithium ion battery I was able to program the Fanstel module.  That did the trick. Thank you.  Now I am back to programming the prototype board as the next final step.  I built a connection from the DK 52 to the prototype in order to supply the power from the DK 52 instead of the on board battery.  For SWIO and SWCLK I am connecting the boards via Debug Out on the DK 52 and Tag Connect on the prototype board.  nRFGo does not see the prototype board even though there is (measured) 3.2V on the Tag Connect Vdd pin.  To test I tried bridging Vdd and VTG on the DK 52 and nRFGo shows "Chip not detected".  Layout photos and schematic below.  I did not populate the board with the external crystal or the detection circuit yet.  
  • Then maybe there was a mismatch between the battery's voltage and the Segger MCU's supply voltage (VDD_SAM) on the nRF52 DK. When I measure VDD_SAM on my kit it is around 2.9 V. In general I would assume it works as long as you are above VDD_SAM * 0.7 = ~2 V. Make sure that you use a fresh battery. The battery voltage might drop when you insert it into your module, so at least make sure that you measure its voltage while inserted. 

     

    So now you are able to program the Fanstel, but not see it with nRFGo Studio? Is that correct? How do you program it?

  • I am using Vdd from the DK 52 and no battery so voltage mismatch is not the issue. What I am saying about nRFGo not seeing the prototype board is this.  With prototype board connected to DK52.  Power and GND connected from DK to proto via dedicated wires.  Proto board also connected via Tag Connect 6 wire link:

    1. Run nRFGo and all erasing and programming are applied to DK 52

    2. Jumper VTG and Vdd on the DK and nRFGo complains that the processor is not detected

    This means 2 things.  First, SWIO and SWCLK on the prototype are not communicating with DK.  Which is why it finds no processor.  Second, Vdd through the Tag Connect cable is not triggering DK programming pass through.  Which is why is attempts to program the DK when VTG and Vdd are not jumpered. 

  • It works for me with no changes to a nRF SD52 straight out of the box. P19 is not the same as P20, P19 uses EXT_GND_DETECT whereas P20 uses SH_GND_DETECT. Does it matter? Who knows, they go to different pins on the SAM Segger interface  .. but see these photos, They shows P19 correctly programming a target board. When P19 is unplugged the nRF52 DK device is instead programmed. Why such a complicated set of adapters? Because I use 6-pin Tag Connect not 10-pin Tag Connect and we can't find a suitable single adapter.
    The equivalent Adafruit connector also shown with 4 wires plugged in as shown does the same job. All the grounds are correctly handled by connections on the adapters whichever of these two options you use. There are no modifications on any of these items.

Related