LeafLabs’ libmaple (source code on GitHub) is the library we have developed for the STM32 line of ARM Cortex M3 microcontrollers. Its high-level interfaces are largely compatible with the AVR libraries written for the Arduino and Wiring development boards.

libmaple is split into two pieces: a lower level layer written in pure C, which we call libmaple proper (in the libmaple/ directory of the source repository), and the Wiring-style C++ API written on top of it, called Wirish (in wirish/).

libmaple is bundled with the Maple IDE. However, we develop it separately, and release it standalone for advanced users who might chafe at the “sketch” programming model of the IDE.

As always, patches are welcome.