cancel
Showing results for 
Search instead for 
Did you mean: 

Incorrect voltage on input pin of STM32L4Q5CG when pulled-up to supply voltage via external resistor

ebce3
Associate II

Hello All,

I have the following setup:

  • Stand-alone STM32L4Q5CG on 48-pin breakout board with coupling caps installed
  • PB11 tied to 3.3V via external 4.7K pull-up resistor
  • PB9 tied to 3.3V via external 4.7K pull-up resistor
  • STM32CubeMx rev. 6.0.1
  • Firmware package: STM32Cube FW_L4 V1.16.0
  • PB11 (pin 22) configured as input with no internal pull-up/pull-down
  • PB9 (pin 46) configured as I2C1 SDA with no internal pull-up and max output speed set to HIGH.

These are the problems I am seeing:

  • Measured voltage on PB11 is 1.2V instead of 3.3V as expected. When pin is grounded, current shoots up to 230mA. It appears this pin is acting as an output rather than an input.
  • Measured voltage on PB9 (SDA_1) is 1.22V instead of 3.3V as expected. By contrast, when using I2C4 instead of I2C1, measured voltage on PB7 (SDA_4) is 3.3V as expected.

The voltages on the other configured inputs and outputs are all fine except for these two. I have tried using internal pull-up resistors instead of external ones, but the results are the same. I have also tried using older L4 firmware packages besides v1.16.0 but again, it made no difference. Are there any known issues with pins PB11 and PB9 on this particular MCU? Any suggestions?

6 REPLIES 6
gregstm
Senior III

Have you got a pull down on the BOOT0 pin (PH3 - pin 44)? Maybe the bootloader is running.

TDK
Guru

> When pin is grounded, current shoots up to 230mA.

There aren't any pin settings that are going to let you pull 230mA out of PB11. Look for a hardware issue, maybe a short somewhere else. Measure impedance from PB9/PB11 to ground and to 3.3V. It's also possible these are damaged. 1.2V is roughly the internal operating voltage. Not sure what failure mechanism could cause that, but maybe there is one.

In any case, even if they are configured as output, 1.2V is not a valid digital output. It'd be 3.3V or GND.

See what part heats up when you ground PB9.

If you feel a post has answered your question, please click "Accept as Solution".

Pin 44 (PH3-BOOT0) is not configured as anything and there is no resistor connected to it (floating). There is some UART handling logic running in the main loop, but it is mostly idle.

Thanks for the link. I realized after I posted my first reply that I had made an error - the BOOT0 pin actually WAS tied to GND via a 4.7K resistor. I did try removing it to see the effect on the pins in question, but found that the MCU does not restart properly as described in your link.

ebce3
Associate II

Just got off the phone with ST technical support staff and was told that the particular MCU I am using (STM32L4Q5CGT6P) with the letter 'P' at the end of the part number has two switch mode power supply output pins on exactly the two pins I am having issues with - pins 22 and 46. This explains why my power supply current reading shot up when I grounded pin 22, and it also explains why I could not get SDA_1 on pin 46 to budge no matter what I tried. Neither the datasheet nor CubeMX makes any reference to these two special pins. In fact, CubeMX does not even let you choose this particular MCU with the 'P' variant. ST mentioned that they will raise an internal ticket to have the datasheet and CubeMX corrected to show the 'P' variant of MCU. Hopefully this will save someone out there a lot of time and frustration.