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
- TFT: use release 1.0.6 or later; otherwise use Ucglib_Arduino
- LiquidCrystal
- Ethernet
- WiFi
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.