Can't flash external PCB with nRF52 DK (No idcode detected)

Hi,

I have external PCB, looks like this:



Need help with flashing the nRF52832 chip via nRF52 DK, please.

External PCB have identical pin assignments as QFN48 pin assignments (https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpin.html&cp=2_1_0_3&anchor=pin_assign)

Wired by this schema:

External PCB               nRF52 DK     
NAME PIN NAME PIN
VDD (3 Volts) 48 VDD VDD
VDD (3 Volts 48 VTG VTG
SWD IO 26 SWD IO SWD IO
SWD CLK 25 SWD CLK SWD CLK
GND (VSS) 45 GND DETECT (P20) GND DETECT (P20)
GND (VSS) 45 GND GND

(https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpin.html&cp=2_1_0_3&anchor=pin_assign)

I'm using SEGGER Embedded Studio but when I try Connect J-LINK I get error:



Failed to connect to target. No idcode detected. Please check connection and Target interface Type

Badly wired pins ? Or is problem in something different ?

nRF52 DK flashing (Build and Run) works perfectly fine.

  • You are missing some necessary connections, see for example fig 171 in PS v1.7 which is an example using internal LDO (no DC-DC), VDD, VSS and the DECn pins should also be connected to caps as shown though you might get away without caps to test:

  • Thanks for your answer, I'm very sorry, but I'm a would-be beginner at this.

    Which pins must be connected to which pins ?

    Thank you so much again for your help to even look at this ticket.

  • Ah, not easy. Start by simply connecting pins 13 and 36 to VDD (48); andpin 31 to VSS GND (45). There will be no external crystal or decoupling, but it might work sufficiently to program the board. To work properly, however, all the non-optional components shown must be also fitted.

  • Hi Jirka,

    Thanks for choosing a Nordic chip to work with. 

    You might be able to use the PCB you have with the nRF52 on and successfully program when you add the missing capacitors to the correct, but the radio will not work.

    So I would recommend that you start a new design and follow our guidelines including all the necessary components to make the SoC work as intended. You can ask for a review by us at Nordic and we will provide feedback on your design. 

    But you can try and see if you can get the one you have now to be programmed. 

    So you need at minimum these connections. 


    In this configuration you might be able to program the nRF52832 chip. 

    You also need to connect the center pad to the other ground points, so 

    pin 48, pin 36 and pin 13 needs to be connected to VDD and each other, and they should also have the corresponding decupling cap on each pin. The decupling capacitors should be as close to the chip as possible.

    Pin 33, pin 46 and pin 1 needs their decupling capacitors. 

    Pin 45 and 49(the center pad) is your ground pins, they should be connected together and is your ground. 

    If you do this then you might be able to program the nRF52832, it will be very limited, radio and any critical timing will not work. 

    Regards,
    Jonathan

  • Hi Jonathan,

    thanks for your answer !

    What types of bypass capacitors would you recommend ? For this use of testing would ceramic or electrolytic be fine ? Could you recommend me a good suplier ?

    I have found:

    Value       Quantity 
    100nF 3
    4.7uF 1
    1.0uF 1
    100pF 1









    Correct ?

    For the first program I would like to flash into the chip is modified example of blinky.

    #include <stdbool.h>
    #include <stdint.h>
    
    // Library for functions: nrf_gpio_cfg_output, nrf_gpio_pin_set, nrf_gpio_pin_clear
    #include "nrf_gpio.h"
    
    // Library for functions: nrf_delay_ms
    #include "nrf_delay.h"
    
    // Define variable LED with pin 17
    #define LED 17
    
    int main(void)
    {
    	// Initialize pin
        nrf_gpio_cfg_output(LED);
    
        while (true)
        {
    		// Turn the LED on
            nrf_gpio_pin_set(LED);
    
            // Wait 1000 ms
            nrf_delay_ms(1000);
    
            // Turn the LED off
    		nrf_gpio_pin_clear(LED);
    
    		// Wait 1000 ms
            nrf_delay_ms(1000);
        }
    }
    


    Do you have any Gerber or Sheet files for PCB program like EasyEDA ? (For the Schematic you send)

    I am worried that the nrf_delay_ms function would not work because I have no timers (marked as X1, X2) ? Or those components looking like a clock ?


    This symbol is for Ground (GND), correct ?

    So If I understand this correctly:

    1. Pin 1 to C4 (100nF) and into the Ground (GND) ?
    2. Pin 13 to C5 (100nF) and into the Ground (GND) and also into the VDD on the nRF52 DK board ?
    3. Pin 33 to C7 (100pF) and into the Ground (GND) ?
    4. Pin 36 to the VDD on the nRF52 DK board and also into the C8 (100nF) and into the Ground (GND) ?
    5. Pin 45 to the Ground (GND) and also to C10 (1.0uF capacitor) also from the C10 to pin 46 ?
    6. Pin 48 to the VDD on the nRF52 DK board and also to C9 (4.7uF) and also into the Ground (GND) ?

    As I said I am software developer, so basically I am beginner, started a month ago. So please forgive me if I sound dumb Pray

    Thank you for your time you spend on my comment, I appreciate it very much Pray


    Currently Badly wired schema:



    Brown cable is the pin 17, other pins similar to standard colors (Black GND, RED Power, Orange SWD IO, Purple SWD CLK)





    Also I think that there might be a problem in the wiring, should I use one pin/wire and split it into two to the nRF52 DK, like this ?

    nRF52-DK           Custom / External Board
    
    VDD ------+-------------> VDD
             /
    VTG ----+
    
    GND ------------+-------> GND
                   /
    GND DETECT ---+
    
    SWD IO -----------------> SWD IO
    
    SWD CLK ----------------> SWD CLK
Related