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

Languages

Python and MicroPython

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

Learn more

Rust

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

Learn more

TinyGo

TinyGo is a programming language based on Go, and used on microcontrollers. Get started and use TinyGo in your next microcontroller project.

Learn more

C

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++

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

Libraries

CMSIS

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

Learn more

Mbed TLS

The Mbed TLS library provides cryptographic components for IoT and embedded projects that have a minimal code footprint.

Learn more

Machine learning libraries

CMSIS-NN

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


Community Blogs

Community Forums

Suggested answer Is it possible to turn my phone's 64-bit armv8-a (32-bit mode) to 64 bit mode 0 votes 135 views 1 replies Latest 10 hours ago by Raheem Answer this
Not answered M0+ Thumb - C flag 0 votes 91 views 0 replies Started 19 hours ago by Sean Dunlevy Answer this
Suggested answer CPSR status back to C variable
  • Arm7
  • Compilers
  • C
0 votes 2531 views 3 replies Latest yesterday by Frost13 Answer this
Suggested answer Is pre-compiled ARM9 libs able to run on an ARM11 chip
  • Arm9
  • Arm11
0 votes 1826 views 4 replies Latest 2 days ago by Andy Neil Answer this
Suggested answer Is it possible to turn my phone's 64-bit armv8-a (32-bit mode) to 64 bit mode Latest 10 hours ago by Raheem 1 replies 135 views
Not answered M0+ Thumb - C flag Started 19 hours ago by Sean Dunlevy 0 replies 91 views
Suggested answer CPSR status back to C variable Latest yesterday by Frost13 3 replies 2531 views
Suggested answer Is pre-compiled ARM9 libs able to run on an ARM11 chip Latest 2 days ago by Andy Neil 4 replies 1826 views