Project logo

STM32 Arduino Libraries

Arduino libraries modiefied to be used on STM32 MCUs with STM32ArduinoCore.

Arduino libraries for STM32

Libaries, that were modified or created to be used with STM32 Arduino Core.

Included libraries

  • RadioHead - Packet Radio library for embedded microprocessors (Mike McCauley, modified by Matej Fitoš)
  • nRF24 - NRF24L01 radio module library (TMRh20 et. al., modified by Matej Fitoš)
  • GPS - library for NEO-6M controll (PowerBroker2, modified by Patrik Cepko)
  • TSL2591 - Arduino library for the TSL2591 digital luminosity (light) sensors (KT0WN (, modified by Patrik Cepko)
  • SI1145 - Arduino library for the Si1145 UV/IR/Visible Light Sensor (Limor Fried (, modified by Patrik Cepko)
  • BME680 - Arduino library for using the Bosch BME680 sensor which senses temperature, humidity, pressure and air quality (Arnd, modified by Patrik Cepko)
  • SerialConsole - library for serial console support (created by Matej Fitoš)
  • ThreadLock - library for locking sensitive code, that can be interrupted by hardware interrupts (created by Matej Fitoš)
  • AutoSensorMeasure - library for automatic sensor measureing in specified intervals. It uses same interface for all sensors listed above (created by Patrik Cepko)

Supported MCU's:

  • STM32F030x6
  • STM32F070x6
  • STM32F070xB
  • STM32F031x6
  • STM32F103xB
  • STM32L031xx
  • STM32L432xx

How to view documentation

  1. Download and install doxygen to your device.
  2. When you use:
    • Windows - run makeDoc.bat file, it will create documentation to html directory and opens it. When you have already generated documentation directory (html), you can view it by opening index.html file in that directory.
    • Linux or Mac - run doxygen.exe in console in library directory to generate documentation. Open file in html/index.html

Alternative: See this readme and doxygen documentation on our document server Apollo.

Integrate with STM32CubeIDE project

  1. Download or clone this library.
  2. Open/create project in STM32CubeIDE.
  3. Right click to project > Convert to C++.
  4. Right click to project > New > Folder > Advanced and check radio button "Link to alternate location (Linked folder)", then click to Browse and select, where is your downloaded library located. It is recommended to use variables in path.
  5. Right click to project > Properties > C/C++ General > Paths and symbols > Source Location. Click to "Add Folder..." button and select Libraries folder, then click OK.
  6. Right click to project > Properties > C/C++ General > Paths and symbols > Includes. Click to Add button (check "Is a workspace path") and add those paths to GNU C and GNU C++ tab:

    NOTE: Sometimes variable ${ProjName} has to be replaced by project name.

  7. Right click to project > Properties > C/C++ General > Paths and symbols > Symbols. Click to Add button and add this symbol to GNU C and GNU C++ tab:
  8. Also check, if there is MCU type in symbols. For example STM32L432kc type is STM32L432xx.

Each folder contains it's own license file. For details see specific license file.

Contributors 1

Matej Fitoš 100.00%



  • C++ 92.67%
  • C 7.32%
  • Batchfile 0.01%

  • Library
    Last update

    2022-05-10 14:58:43

    Created at