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 Cortex-R52 data cache content
  • Cortex-R5
  • Cache
0 votes 100 views 1 replies Latest 6 hours ago by Elnora Answer this
Suggested answer Interrupts not received in secure world for Cortex A7 in Trsuty
  • Arm Trusted Firmware
  • Cortex-A7
0 votes 147 views 1 replies Latest 16 hours ago by 42Bastian Schick Answer this
Suggested answer CMSIS5: Matrix assignment doesn't work in my code. How to debug?
  • Digital Signal Processor (DSP)
  • CMSIS
  • Cortex-M4
0 votes 93 views 1 replies Latest 16 hours ago by Andy Neil Answer this
Suggested answer Hard fault handler problem - Cortex-M0+
  • R13 (SP Stack Pointer)
  • 3 (HardFault)
0 votes 1037 views 4 replies Latest yesterday by Clonimus74 Answer this
Suggested answer Cortex-R52 data cache content Latest 6 hours ago by Elnora 1 replies 100 views
Suggested answer Interrupts not received in secure world for Cortex A7 in Trsuty Latest 16 hours ago by 42Bastian Schick 1 replies 147 views
Suggested answer CMSIS5: Matrix assignment doesn't work in my code. How to debug? Latest 16 hours ago by Andy Neil 1 replies 93 views
Suggested answer Hard fault handler problem - Cortex-M0+ Latest yesterday by Clonimus74 4 replies 1037 views