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

How to set VDD output voltage on nRF52840 PDK

Hello everyone,

I'm using PDK 52840 as Programmer/Debugger for our target board with nRF52840 chip. We have also other componen which need 2.5V voltage (down from 3v) and therefore I want to set the VDD voltage to 2,5 Volts. I have tried to change the UICR->Regout0 with:

if (NRF_UICR->REGOUT0 != UICR_REGOUT0_VOUT_DEFAULT)
{
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_UICR->REGOUT0 = UICR_REGOUT0_VOUT_2V4;

NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
}
NRF_USBD->ENABLE = 1;

but it doesn't work. I ve read some other posts regarding UICR but the instruction was for KEIL IDE and we use IAR. 

I would be nice if you could help me with that problem.

I am using SDK15 and DK version 0.9.

Regards

  • Hi 

    Do you reset the chip after writing to the register?
    Otherwise the change won't take effect. 

    Have you tried to read out the UICR content after running the code to see if it is updated successfully?

    Best regards
    Torbjørn

  • Hi,

    so now I am confused. REGOUT0 is still "0" but I dont get it it means VDD = 1.8 (default). I'll try to explain my problem detailed, maybe I didn't understand the voltage relations on DK Board.

    We are using the PCA10056 (V0.9.2) to flash/debug/run our custom development board with some other components. We have used the debug connector (P19) to flash and power our custom board. As I mentioned above we have some components which need 2-2,5 V range (because of the I2C voltage tolerance). P19 connector delivers 3.0 V and I want to reduce it to 2-2,5 V region. We are using USB port for programming the DK; nRF power mode = VDD; Vext-nRF=Off; we dont use any external power source. If I try to alter the register as above it doesnt change it stays on default "0". Reset didn't help.

    Thx for the support

  • Hi 

    OK, so you are trying to set the VDD and GPIO voltage of your nRF52840 PDK used for programming, rather than on the target board?

    I am not sure if our devkit supports this, but I will discuss it with some of the hardware guys when they are available tomorrow. 

    Best regards
    Torbjørn

  • Our target board has its own Battery but we have a system voltage of 2-2.5V and not 3V like the Programmer/Debugger (nRF52840 DK). So if we try to debug at the same time we get the voltage level of DK (3V) on our custom board. And it causes voltage diefference on the I2C/SPI channels.

  • Hi 

    According to the PCB designer you need to set the nRF power source switch (SW9) in either the Li-Po or USB setting, and provide power externally through either the Li-po or nRF USB headers (J6 or J3) depending on how you set SW9. 

    This comes in addition to the normal USB connection through J2. 

    Then it should be possible to scale the whole system to your desired voltage. 

    Can you try this and see if it works better?

    Best regards
    Torbjørn

Related