VREF+, GPIOs on custom WM7 STM32WL5MOCH6TR PCBA not working
- March 9, 2025
- 1 reply
- 698 views
We recently developed a custom STM32WL5MOCH-based board. The VREF+ output is not supplying anything right now. The GPIOs seem to be floating and do not output anything.
We're using the Visual Studio Code environment and simply imported the CMake project created by CubeMX.
VDDA is measured at 3.3V. VREF+ output is measured at 0.008V to 0.03V. The GPIOs all read 0.5V to 0.6V, they do not Push / Pull and seem to be floating.
The LEDs are properly inserted and can activate as verified by external probing.
We have tried eliminating the RTOS / SubGHZ middleware to start from scratch, but the results are the same.
We have tried changing the system clock mux from HSE to the internal MSI RC, but the same results occur.
We tried changing the sys timebase source from TIM17 to SysTick, but nothing changes.
We figure there is something wrong with the software configuration, but aren't sure what.
VREF+ is not connected to anything except the required bypass capacitors (0.1 uF, 4.7uF).
The GPIOs are wired to some LEDs as shown:
We have configured the GPIOs to push and pull.
The Visual Studio Code + STLink-V3SET debugger allows us to step through the lines one by one. So we assume the code is executing on the target.
The main.c file is attached, as well as the project configuration file.
We inserted the HAL_GPIO writes inside the default task to test for blinking lights.
void StartDefaultTask(void *argument)
{
/* init code for SubGHz_Phy */
MX_SubGHz_Phy_Init();
/* USER CODE BEGIN 5 */
HAL_GPIO_WritePin(PIN_LED0_GPIO_Port, PIN_LED0_Pin, 1);
HAL_GPIO_WritePin(PIN_LED1_GPIO_Port, PIN_LED1_Pin, 0);
/* Infinite loop */
for(;;)
{
HAL_GPIO_TogglePin(PIN_LED0_GPIO_Port, PIN_LED0_Pin);
HAL_GPIO_TogglePin(PIN_LED1_GPIO_Port, PIN_LED1_Pin);
//HAL_GPIO_WritePin(PIN_LED0_GPIO_Port, PIN_LED0_Pin, 1);
//HAL_GPIO_WritePin(PIN_LED1_GPIO_Port, PIN_LED1_Pin, 0);
osDelay(250);
}
/* USER CODE END 5 */
}
We have tried two different boards now with the same results. What are we missing here?
Thanks,
Damon
