DA14531MOD getting power from UART Tx

Hello, I am using DA14531MOD BLE module with  STM32L476VGT6. I am using a GPIO pin on the STM to control the power supply to the DA14531 module. If the pin is HIGH the module should be on and off if pin is LOW.

Everything is working fine until I configure the UART on the STM to communicate with the DA14531 module, Now the module is on and getting power irrespective of the the state of the GPIO pin.

When I make the control pin high the module gets 3.29V and when the pin is low, it gets 2.75V , either way it's ON as it's operating voltage is 1.8V to 3.6V.

I checked the voltage on UART Tx pin and it's the same as the VBAT when the control pin is low. 

Can anyone help me with this issue(Is there any solution)?

Thank you
Shreyas

Parents
  • I have the same issue, even after removing power completely using a power switch from the DA14531MOD it's still "visible" for example on a phone's connections, meaning it's getting power from the Tx/Rx lines. You can tristate your pins to inhibit that:

    GPIO_InitTypeDef GPIO_InitStruct = {0};

    __HAL_RCC_GPIOA_CLK_ENABLE(); // Enable the clock for GPIOA (example pin)

    GPIO_InitStruct.Pin = GPIO_PIN_0; // Choose the pin (example: PA0)

    GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // Set mode to input

    GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up or pull-down

    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // Initialize the GPIO pin

    Gary

Reply
  • I have the same issue, even after removing power completely using a power switch from the DA14531MOD it's still "visible" for example on a phone's connections, meaning it's getting power from the Tx/Rx lines. You can tristate your pins to inhibit that:

    GPIO_InitTypeDef GPIO_InitStruct = {0};

    __HAL_RCC_GPIOA_CLK_ENABLE(); // Enable the clock for GPIOA (example pin)

    GPIO_InitStruct.Pin = GPIO_PIN_0; // Choose the pin (example: PA0)

    GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // Set mode to input

    GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up or pull-down

    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // Initialize the GPIO pin

    Gary

Children
No Data