Skip to content

Additional Libraries and Compatibility

This page lists Arduino libraries known to work with the STM32 core and community-reported library tests. Compatibility can vary by library version, board, STM32 device, and connected hardware; check the linked project documentation for details. Contributions with additional tested combinations are welcome.

Official Arduino libraries

Community-tested libraries

Library Reported test
arduino-LoRa Tested with B-L072Z-LRWAN1
Firmata Supported since release 2.5.7
OneWire Library for Dallas/Maxim 1-Wire chips
PubSubClient Tested on L475 Discovery IoT using Wi-Fi
RTClib Tested with Adafruit module 3296
Ucglib_Arduino Tested with ST7735
UIPEthernet Tested with ENC28J60 module

Library compatibility

When a library needs to distinguish STM32duino from other Arduino cores, use the ARDUINO_ARCH_STM32 preprocessor macro. The core defines it when compiling for STM32duino. For example:

#if defined(ARDUINO_ARCH_STM32)
// STM32duino-specific code
#endif

See the FAQ example for how this macro distinguishes STM32duino from the legacy libmaple core.