cancel
Showing results for 
Search instead for 
Did you mean: 

In NUCLEO-L432KC Is it possible to use pins PB6 and PB7 if I have allocated pins PA9 and PA10 for the I2C1 port?

VNava.1
Associate III

Hi ST community,

I'm working with NUCLEO L432KC and in my application I need to use I2C1 port. Using STM32CubeMX to generate the project, I could see that when I enable the I2C1 port, Automatically the CubeMX allocate the PA9 and P10 pins. For my application this is a good choice. Then, for the aim of my application, I would like to use the PB6 and PB7 pins like GPIO Output pins. But I could see that when I choice this two pins, my application does not work, while if I use other pins like GPIO Output pins the application works correctly. For this reason, I would like to know if this problem is related to the fact that the I2C1 port can be available also through the PB6 and PB7, or if the problem is caused by other reason.

From the UM1956 Rev 5 I note these two advise:

  1. SB16:ON -> STM32 PB6 is connected to CN4 pin 7 for I2C SDA support on Arduino Nano A5. In such case STM32 PB6 does not support Arduino Nano D5 and PA6 must be configured as input floating.
  2. SB18:ON -> STM32 PB7 is connected to CN4 pin 8 for I2C SCL support on Arduino Nano A4. In such case STM32 PB7 does not support Arduino Nano D4 and PA5 must be configured as input floating

In my NUCLEO both the solder bridge are present. I do not understand the meaning of the advises. They mean that If the solder bridges are present then I cannot use Arduino Nano D5 and Arduino Nano D6? Moreover, Can not I use PA5 and PA6 pins like GPIO Output pins? Actually I'm using PA5 and PA6 ad GPIO Output pins and the application seems to work correctly, maybe it is the reason why I cannot use PB5 and PB6? Maybe if I remove PA5 and PA6 from my applicatio I can use PB6 and PB7 pins like GPIO Output pins?

I hope that my doubt is clear for you, thanks in advance for your support!

Vincenzo

1 ACCEPTED SOLUTION

Accepted Solutions

Almost certainly suggests that the solder bridge creates a short on the board between some GPIO in order to escape I2C functionality at two points, to hit some Arduino driven standard/expectation.

REMOVE THE SB16 / SB18, TAKE PB6/PB7 from the DIGITAL PIN SIDE (D4, D5)

Review the schematic

https://www.st.com/content/ccc/resource/technical/layouts_and_diagrams/schematic_pack/33/62/78/7d/e0/c6/47/6e/nucleo-32pins_sch.zip/files/nucleo-32pins_sch.zip/jcr:content/translations/en.nucleo-32pins_sch.zip

0693W00000DmrIkQAJ.jpg

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

1 REPLY 1

Almost certainly suggests that the solder bridge creates a short on the board between some GPIO in order to escape I2C functionality at two points, to hit some Arduino driven standard/expectation.

REMOVE THE SB16 / SB18, TAKE PB6/PB7 from the DIGITAL PIN SIDE (D4, D5)

Review the schematic

https://www.st.com/content/ccc/resource/technical/layouts_and_diagrams/schematic_pack/33/62/78/7d/e0/c6/47/6e/nucleo-32pins_sch.zip/files/nucleo-32pins_sch.zip/jcr:content/translations/en.nucleo-32pins_sch.zip

0693W00000DmrIkQAJ.jpg

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..