Arm and partners provide support and integration for a range of open source languages and libraries for your IoT development.

Explore these libraries and programming languages: from low-level languages for small, low-power devices, to high-level languages for devices with more computing power, and libraries that ensure portable, performant and secure code.

Go to section:

Languages | Libraries | Machine learning libraries


Python and MicroPython

Python is popular for DSP and ML development. A variant is MicroPython that can be used to program microcontrollers.

Learn more


A fast, flexible and memory-efficient programming language for IoT devices.

Learn more


Go and TinyGo are programming languages that makes it easier to build simple and reliable software. Get started on your project with the Go and TinyGo resources.

Learn more


C is a popular language for embedded systems that gives you full control and access to all the underlying hardware features. Get started and use C in your next project.

Learn more


C++ has a similar syntax to C and allows you to take advantage of the object-oriented paradigm. Learn more and get started with useful resources on C++.

Learn more



The Cortex Microcontroller Software Interface Standard (CMSIS) provides a common software interface between Cortex processors and device peripherals.

Learn more

Machine learning libraries


The CMSIS-NN open source software library is a collection of optimized neural network kernels for Cortex-M based devices.

Learn more

Arm Compute Library

The Arm Compute Library contains optimized low-level functions for Arm Cortex processors and Mali GPUs targeting machine learning applications.

Learn more

Get Support