STM32 gotchas
46.Some pins on my Disco/Nucleo/EVAL board don't work as expected

The Nucleo/Disco/EVAL boards are valuable resorces as testing/development platforms (although rather undervalued by ST, as seen by their approach to provided documentation, examples and support). Users often build prototypes around these boards, utilizing the pins brought out from the target STM32 to pin-headers.

However, sometimes a pin on the pinheader does not work as expected.

Often, the root cause is a conflict with an on-board connection, for example the serial connection to the on-board STLink. These connections are realized through jumpers and (more often) solder-bridge connections (which, when connected by default, are populated by miniature 0R resistors), so by disconnecting these the given pin is freed up for the given application.

Sometimes, the pin on pinheader is connected to pin on mcu through such a solder bridge, which is by default disconnected, for some reason.

The associated User Manual to given board usually contains a table with all the jumpres and solder bridges and their functions, marking which of them are by default connected.

This problem occurs more often on the Disco boards than on any other boards - the Nucleo boards are usually "barebones" enough (contain almost no on-board resources except the target mcu), and the EVAL boards usually employ the largest package variant of the given family, so that there's usually enough "spare" pins brought out, unconnected to on-board resources.

The ultimate resource is the schematics for the given board, which should be consulted (together with the UM) before using any pin brought to the pinheaders. ST had a good practice appending schematics to the User Manual; unfortunately ST recently ceased to do so (claiming their own convenience as reason), and schematics has to be downloaded separately.