Nf interpreter
:gear: nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
----- Document Language: [English](README.md) | [中文简体](README.zh-cn.md) The project is written primarily in C, distributed under the MIT License license, first published in 2016. Key topics include: adc, clr, csharp, dotnet, esp32.

Document Language: English | 中文简体
Welcome to the .NET nanoFramework interpreter repository!
Build status
| Component | Build Status |
|---|---|
| nanoBooter + nanoCLR | |
| Win32 test project |
Preview version with support for generics
There is currently ongoing a Public Preview of the CLR with support for C# generics.
If you want to use this feature please refer to the documentation.
.NET nanoFramework interpreter for reference boards
Each of the linked files contain the firmware binaries for nanoBooter (if applicable) and nanoCLR in various formats (.HEX, .BIN and .DFU). They should be flashed to the target board using nanoff or the appropriate software utility depending on the target MCU.
Firmware versions contained below are released via the main branch, and are treated as RTM builds as per our stable release mandate. These releases are compiled with optimizations and the smallest possible size. For these builds, the debugging features are also disabled and only contain no (or minimal) detailed error messages.
We also have a Community Targets repository where you can find firmware versions for several other popular boards that have been contibuted by the community, although limited support is provided.
ESP32 modules and boards
ESP32 boards with inbuilt Ethernet
| Target | Note | Stable | Preview |
|---|---|---|---|
| ESP32_ETHERNET_KIT_1.2 | Poe, Wrover + 8mb psram | ||
| ESP32_OLIMEX | Poe | ||
| ESP32_OLIMEX_WROVER | Poe, Wrover + 8mb psram | ||
| ESP32_WT32_ETH01 | |||
| ESP32_WESP32 | Poe | ||
| ESP32_LILYGO | Poe |
ESP32_S2 and ESP32_S3 boards
ESP32 risc-v boards
M5Stack
| Target | Note | Stable | Preview |
|---|---|---|---|
| M5Core | |||
| M5StickC | |||
| M5StickCPlus | |||
| M5Core2 | |||
| AtomS3 |
STM32 boards and chip based
| Target | Stable | Preview |
|---|---|---|
| MXCHIP_AZ3166 | ||
| ST_STM32F429I_DISCOVERY (B01) | ||
| ST_NUCLEO64_F091RC | ||
| ST_STM32F769I_DISCOVERY | ||
| ORGPAL_PALTHREE | ||
| ORGPAL_PALX |
Silicon Labs Giant Gecko boards
| Target | Stable | Preview |
|---|---|---|
| SL_STK3701A | ||
| SL_STK3701A_REVB |
NXP boards
| Target | Stable | Preview |
|---|---|---|
| NXP_MIMXRT1060_EVK |
Raspberry Pi boards
| Target | Note | Stable | Preview |
|---|---|---|---|
| RP_PICO_RP2040 | Raspberry Pi Pico | ||
| RP_PICO2_RP2350 | Raspberry Pi Pico 2 | ||
| RP_PICO_W_RP2040 | Raspberry Pi Pico W with WiFi |
TI boards
| Target | Stable | Preview |
|---|---|---|
| TI_CC1352R1_LAUNCHXL_868 | ||
| TI_CC1352R1_LAUNCHXL_915 | ||
| TI_CC3220SF_LAUNCHXL |
The above .NET nanoFramework interpreter builds include support for the class libraries and features marked below.
<details> <summary>Click to expand!</summary>| Target | Gpio | Spi | I2c | Pwm | Adc | Dac | Serial | OneWire | Events | SWO | Networking | Bluetooth BLE | Large Heap | UI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ESP32_PSRAM_REV0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_REV0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_PSRAM_XTAL26_REV0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_PSRAM_REV3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_REV3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_BLE_REV0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_BLE_REV3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP_WROVER_KIT | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||
| ESP32_PICO | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||
| ESP32_LILYGO | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi + Ethernet | ||||
| ESP32_S2_USB | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||
| ESP32_S2_UART | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||
| ESP32_C3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||
| XIAO_ESP32C3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||
| ESP32_C6 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||
| ESP32_H2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||
| ESP32_ETHERNET_KIT_1.2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi + Ethernet | :heavy_check_mark: | |||
| ESP32_OLIMEX | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi + Ethernet | :heavy_check_mark: | |||
| ESP32_WT32_ETH01 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi + Ethernet | :heavy_check_mark: | |||
| ESP32_WESP32 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi + Ethernet | :heavy_check_mark: | |||
| M5Core | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| M5StickC | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| M5StickCPlus | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| M5Core2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| ESP32_GenericDisplay_REV0 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| ESP32_PSRAM_BLE_GenericGraphic_REV3 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi | :heavy_check_mark: | |||
| MXCHIP_AZ3166 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||||||
| ST_STM32F429I_DISCOVERY (B01) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||
| ST_NUCLEO64_F091RC | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||||
| ST_STM32F769I_DISCOVERY | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| ORGPAL_PALTHREE | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||
| ORGPAL_PALX | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||
| SL_STK3701A_REVB | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||||
| SL_STK3701A | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||||
| TI_CC1352R1_LAUNCHXL | :heavy_check_mark: | |||||||||||||
| TI_CC3220SF_LAUNCHXL | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||||
| NXP_MIMXRT1060_EVK | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |||||||||
| RP_PICO_RP2040 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||||||
| RP_PICO2_RP2350 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ||||||||
| RP_PICO_W_RP2040 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: Wi-Fi |
- nanoFramework agnostic blocks
- Target reference for CMSIS OS
- ChibiOS
- Reference target boards
- ChibiOS overlay for nanoFramework
- ChibiOS
- Target reference for FreeRTOS
- Target references for ThreadX
- Target references for TI SimpleLink
- Target reference for Raspberry Pi (ChibiOS)
- Target reference for other OSes
- CMake files for the build system
Feedback and documentation
For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.
Join our Discord community here.
Credits
The list of contributors to this project can be found at CONTRIBUTORS.
License
The nanoFramework Interpreter is licensed under the MIT license.
Code of Conduct
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.
For more information see the .NET Foundation Code of Conduct.
.NET Foundation
This project is supported by the .NET Foundation.
Contributors
Showing top 12 contributors by commit count.
