A system running TinyCLR OS includes two major components, the managed application, and the native side. The managed side is your end application, developed in a modern language, like C#. The features page covers the features available in TinyCLR OS.

The native side is called the firmware and it consists of two layers, the precompiled TinyCLR OS core, and the specific peripheral drivers. The peripheral drivers are called the Hardware Abstraction Layer (HAL).

For those wanting to enjoy TinyCLR OS without worrying about porting, we offer an out-of-the-box solution for multiple boards.

Supported Boards

Supported Boards

Supported Cores

The precompiled TinyCLR OS library is currently available for ARM’s Cortex-M4, Cortex-M3, ARM9, and ARM7 cores. The TinyCLR OS repository includes support for several processors however, supporting additional processors is simply done by combining one of the provided core libraries with the needed peripheral drivers such as USB, UART, SPI, I2C, and Analog.

There are already several supported processors with complete peripheral drivers that can be used as a reference.


The entire TinyCLR OS GitHub repo, with core libraries objects and individual device drivers source code are licensed for commercial and on-commercial use under the Apache 2 license. For ready made hardware please see here. The pre-compiled and tested firmware for our commercial SoMs include additional premium features. Individual products documentation covers the details.