GPIO Output Voltage

Hi, 

I am Using nrf58210 ,i have connected 2.85V as VCC, as i m controlling some LEds through GPIO and Leds are sinking more current, thats why the MCU stays in Boot mode.
Is there any way i can change the output Voltage of the GPIO. I came to this conclusion because when i connect 2.5V as Vcc the MCU runs the Application code normally. 


  • Hi,

    There is no way to configure the GPIO pin voltage on the nRF52810. The GPIO voltage will be the same as your supply voltage.

    Perhaps if you elaborate a bit more on the problem we can see if we can think of another way around the issue you are seeing?

  • Hi Einar,

    Thanks for the prompt reply,

    yes, I can elaborate on the problem in Detail. so after the Application code flashing, the MCU broadcasts but stays in the boot mode attached is the video of that. Even if we perform DFU it doesn't change its Broadcast name which we have set after the DFU Update.

    We have produced 2000pcs and the tests were passed so all of the products are not showing problem at the start but after some time they stuck at the boot mode.

    Normally when the board starts it blinks 4 red, 4 yellow and 4 orange respectively. 

  • Do you know why it stays in bootloader mode? I see you are using the nRF5 SDK in your other case, and if that is the case here as well, you should have a look at dfu_enter_check() in components/libraries/bootloader/nrf_bootloader.c in the bootloader. You probably won't be able to use the debug bootloader with RTT logging on the nRF52810 due to size, but perhaps you can toggle some GPIO's to see which of the conditions there cause the bootloader to enter bootloader mode instead of starting the application?

  • so i have noticed on other thing, it is random, sometimes the controller comes out of boot mode and sometime not, i want to know what is the power on cycle of the MCU, i think if we turn of the GPIOs at start so that no LED turns on at the start then it could work? 

  • After a reset the GPIO's are all disconnected inputs (so high impedance) and will remain that way until configured differently by firmware at some point after reset. The bootloader will by default configure a couple of pins though, both outputs for LEDs and an input pin for checking whether to enter DFU mode or start the application.

    Do you by any chance have NRF_BL_DFU_ENTER_METHOD_BUTTON set to 1 in your bootloader's sdk_config.h? If so, what is NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN set to? And what is that pin used for on your board? If you don't intend to have a pin to enter DFU mode, you should set NRF_BL_DFU_ENTER_METHOD_BUTTON to 0. Or alternatively, set NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN to the correct pin for your HW.

Related