nrf52840 gpio output voltage

Hello all,

I'm using a nrf52840 and it's working fine. However, when I supply the chip with 5v on VDDH the GPIO output voltage is 1.8v. When I supply the chip with 3.3v on VDD, the GPIO pin outputs 3.3v. I have also set the regout register "NRF_UICR->REGOUT0 = UICR_REGOUT0_VOUT_3V3;". When supplied on VDDH, VDD is left unconnected. How can I get the GPIO to output 3v3 when the chip is supplied through VDDH?

Any help would be appreciated.

  • Hi,

    The first thing that comes to mind based on you describe the way you write to REGOUT0 and that the output voltage is 1.8 V I wonder if it is not correctly set. REGOUT0 is in UICR (flash), so it must be written to flash either via a debugger or programmatically in the same way as you write to flash, and takes effect after the next reset. How do you set it?

    You can refer t the implementation of gpio_output_voltage_setup() in components\boards\boards.c for an example of how to configure RECOUT0.

  • Oh my god! I spent countless hours replacing NRF chips on my PCB. Finally the bloody thing works! I assumed it was soldering since USB and buttons were working. Also the datasheet saying that the LDO was ON by default derailed me a bit.

Related