HAL library 2- LEDS and BUTTON for STM32 boards

Next library in series in disco library for controlling leds and reading button state on various STM32F0, STM32F4 and STM32F7 boards.
Supported boards:

  • STM32F401-Discovery
  • STM32F4-Discovery
  • STM32F411-Discovery
  • STM32F429-Discovery
  • STM32F439-EVAL,
  • STM32F401-Nucleo
  • STM32F411-Nucleo
  • STM32F446-Nucleo
  • STM32F091-Nucleo
  • STM32F7-Discovery


Read more about new HAL libraries


  • Set LED state
  • Read LED state
  • Read button state


  • HAL
  • TM
    • STM32Fxxx HAL
    • defines.h

Library required settings

In order to tell which board you use, you have to set some defines for it. These defines are also used in other libraries to automatically identify used board. For example, my SDRAM library checks for board define to know how to init SDRAM settings for different boards. So, in your defines.h configuration file, set one define according to these available:

When using my examples for Keil uVision, you won’t see these defines in defines.h file. They are set in “Options for Target” in IDE!

Functions and enumerations


Example is available on Github, download all libraries below.


Owner of this site. Application engineer, currently employed by STMicroelectronics. Exploring latest technologies and owner of different libraries posted on Github.

You may also like...