nRF52840 DK v3.0.0: VDD vs VDD_nRF

Hi,

I want to change the firmware on nRF52840 DK such that the GPIO voltages run on 3.3V instead of the default 3.0V.

The current shield PCB we are mounting on top of the nRF52840 DK connects VDD and VDD_nRF together. But I feel this is incorrect, I'm not sure about when I change the GPIO voltage to 3.3V, may VDD and VDD_nRF be connected together in that situation?

I am hoping this will also increase the voltage level on the debug out signals to 3.3V as our target we are programming with the DK runs on 3.3V and not 3.0V

See image of the schematic below which shown how we have connected the headers on our shield PCB (using the Arduino headers on the DK)

  • Update 1:

    I tried adding this to the firmware

    if ((NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) !=
        (UICR_REGOUT0_VOUT_3V3 << UICR_REGOUT0_VOUT_Pos))
    {
        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
    
        NRF_UICR->REGOUT0 = (NRF_UICR->REGOUT0 & ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) | (UICR_REGOUT0_VOUT_3V3 << UICR_REGOUT0_VOUT_Pos);
    
        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
    
        // System reset is needed to update UICR registers.
        NVIC_SystemReset();
    }
    I measure the same voltage on both VDD and VDD_nRF at 3.28V. And I must select USB power instead of VDD and use the 2nd USB connector which is on the side of the board next to the Reset/Boot button.
    However I am seeing the GPIO are not working correctly... will continue to investigate.
  • Update 2: With the shield mounted on top of the nRF52840 DK, I measure VDD at 2.4V when the green LEDs on the DK are blinking. But 2.8V when they are turned off. I would expect to see 3.3V here.

    There are some pull-up resistors on our shield PCB which is powered by VDD, maybe they are drawing too much current?

  • Hi,

    Apologies for the delayed response. You could try to change the voltage by changing the REGOUT0 register (which I see that you have already tried),

    but then this means you are using the DK in high voltage mode, and then it will be a problem that VDD and VDD_nRF are connected together, since the VDD will always be 3V because of the voltage regulators within the DK.

    You could also try using an external voltage supply:

    Best Regards,

    Priyanka

  • Hi it looks like VDD is 3.3V on a fresh board.

    I have high voltage mode activated and set the board to USB power.

    But the board I started this investigation with seems to be behaving differently. I will investigate it more, I suspect it may be damaged.

    Time to hook up my logic analyser. I also want to confirm the SWDIO, SWCLK are at 3.3V

  • GudniMar said:
    I will investigate it more, I suspect it may be damaged.

    Okay. Please do take a look and get back to me in case of any further issues.

Related