• Stars
    star
    854
  • Rank 53,026 (Top 2 %)
  • Language
  • License
    MIT License
  • Created about 7 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🏠 The landing page for .NET nanoFramework repositories.

#yourfirstpr Average time to resolve an issue Percentage of issues still open Discord

nanoFramework logo


Document Language: English | 简体中文

.NET nanoFramework Home

This Home repository is the starting point for developers that want to learn about .NET nanoFramework, contribute to it or opening issues. It contains links to the various GitHub repositories used by .NET nanoFramework.

.NET nanoFramework goal is to be a platform that enables the writing of managed code applications for constrained embedded devices. Developers can harness the familiar IDE Visual Studio and their .NET (C#) knowledge to quickly write applications without having to worry about the low level hardware intricacies of a micro-controller.

It is part of the .NET Foundation.

Being a developer you'll probably will fit in one (or more than one😉) of the following profiles:

  • You can enjoy to develop C# applications for micro-controllers.
  • You can become a contributor as there are lots of areas to express yourself:
    • C/C++ native drivers working low level directly on the MCU with our Platform Abstraction Layer and Hardware Abstraction Layer, RTOS, developing .NET CLR for nanoFramework.
    • Managed C# to write new classes and drivers to add more bindings, libraries to .NET nanoFramework.
    • Managed C# to write tools like the Visual Studio Extensibility, debugger and others mostly .NET Core/.NET 5 CLI applications.
    • Help in setting up Azure DevOps pipelines to automate as much as possible.
    • Writing and improving our Unit Tests.
    • Helping others by answering their questions.
    • Writing and improving documentation, doing PR reviews or participating in the overall project organization.

.NET nanoFramework is a fun and interesting way to learn. It’s a complete project with a lot of deep engineering. You’ll find a vibrant community to help you and you’ll be able to help as well. We do welcome all kind of contributions and we aim to give visibility to our contributors.

Sponsoring .NET nanoFramework

Most of the core team members and contributors are embedded systems enthusiasts, passionate about coding and people that like challenges. The work on .NET nanoFramework is done mostly on their free time. Some of the core members happen to work on companies that sponsor heavily nanoFramework and offer their work hours to the project. If you use .NET nanoFramework for serious work or want to support it, please donate. This allow for paying the infrastructure cost and more time to be invested on the project. Besides monetary contributions, there are several other ways to contribute. Please read the documentation about this here.

This is how we use the donations:

  • Pay for infrastructure costs.
  • Develop public relation actions to get the project known.
  • Support maintainers and contributors that invest a large amount of time in the project.
  • Support projects that .NET nanoFramework depends on.
  • Produce documentation, tutorials and other content to support developers using .NET nanoFramework.
  • Organize events to demo .NET nanoFramework.

Sponsors

Sponsors will get their logo and link to a website on our GitHub readme and also on our home page.

Bronze Sponsors




Backers

Backers are individuals who contribute with money to help support nanoFramework. Every little bit helps and we appreciate all contributions, even the smallest ones.

Other backers and sponsors

There are other people and organizations that have contributed to .NET nanoFramework along the time in several ways: sponsoring the coding of a feature that was missing or needed improvement, paying for an expense, coding a feature or... We would like to acknowledge these sponsors.

ChibiOS RTOS

Firmware for reference boards

Each of the following ZIP files contains the image files for nanoBooter and nanoCLR in various formats (HEX, BIN and DFU). They should be flashed in the target boards using an appropriate software utility.

The stable versions are continuous builds of the reference targets. They include the latest version of all features and bug corrections. They also have managed debugging features enabled along with detailed error messages, but exclude native debugging features and only minimal (or no) error messages.

For native debugging, please download the nf-interpreter repository and build locally.

Besides the firmware images below, you can find several others for community provided target boards. Check the available ones and download links on the Community Targets repo.

ESP32 modules and boards

Target Stable
ESP32_PSRAM_REV0 Latest Version @ Cloudsmith
ESP32_REV0 Latest Version @ Cloudsmith
ESP32_PSRAM_XTAL26_REV0 Latest Version @ Cloudsmith
ESP32_PSRAM_REV3 Latest Version @ Cloudsmith
ESP32_REV3 Latest Version @ Cloudsmith
ESP32_BLE_REV0 Latest Version @ Cloudsmith
ESP32_BLE_REV3 Latest Version @ Cloudsmith
ESP_WROVER_KIT Latest Version @ Cloudsmith
ESP32_PICO Latest Version @ Cloudsmith
ESP32_LILYGO Latest Version @ Cloudsmith
FEATHER_S2 Latest Version @ Cloudsmith
KALUGA_1 Latest Version @ Cloudsmith
ESP32_C3 Latest Version @ Cloudsmith
ESP32_C3_REV3 Latest Version @ Cloudsmith
ESP32_OLIMEX Latest Version @ Cloudsmith
XIAO_ESP32C3 Latest Version @ Cloudsmith

M5Stack

Target Stable
M5Core Latest Version @ Cloudsmith
M5StickC Latest Version @ Cloudsmith
M5StickCPlus Latest Version @ Cloudsmith
M5Core2 Latest Version @ Cloudsmith

STM32 boards and chip based

Target Stable
ST_STM32F429I_DISCOVERY Latest Version @ Cloudsmith
ST_NUCLEO64_F091RC Latest Version @ Cloudsmith
ST_STM32F769I_DISCOVERY Latest Version @ Cloudsmith
ORGPAL_PALTHREE Latest Version @ Cloudsmith

Silicon Labs Giant Gecko boards

Target Version
SL_STK3701A Latest Version @ Cloudsmith
SL_STK3701A_REVB Latest Version @ Cloudsmith

NXP boards

Target Stable
NXP_MIMXRT1060_EVK Latest Version @ Cloudsmith

TI boards

Target Stable
TI_CC1352R1_LAUNCHXL_868 Latest Version @ Cloudsmith
TI_CC1352R1_LAUNCHXL_915 Latest Version @ Cloudsmith
TI_CC3220SF_LAUNCHXL Latest Version @ Cloudsmith

The above firmware builds include support for the class libraries and features marked below.

Click to expand!
Target Gpio Spi I2c Pwm Adc Dac Serial OneWire Events SWO Networking Bluetooth BLE Large Heap UI
ESP32_PSRAM_REV0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_REV0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_PSRAM_XTAL26_REV0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_PSRAM_REV3 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_REV3 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_BLE_REV0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_BLE_REV3 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP_WROVER_KIT ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_PICO ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_LILYGO ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi + Ethernet
FEATHER_S2 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KALUGA_1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_C3 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ESP32_OLIMEX ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi + Ethernet ✔️
M5Core ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi ✔️
M5StickC ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi ✔️
M5StickCPlus ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi ✔️
M5Core2 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Wi-Fi ✔️
ST_STM32F429I_DISCOVERY ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ST_NUCLEO64_F091RC ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ST_STM32F769I_DISCOVERY ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
ORGPAL_PALTHREE ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
TI_CC1352R1_LAUNCHXL ✔️
TI_CC3220SF_LAUNCHXL ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
NXP_MIMXRT1060_EVK ✔️ ✔️ ✔️ ✔️ ✔️

Repositories

Our GitHub organization holds the various repositories for firmware, class libraries, documentation and tools. You can find here a list and a description of each of them.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.

If you have a question, need clarification on something, need help on a particular situation or want to start a discussion, do not open an issue here. We ask you to open an issue only when you have a real and confirmed one. It is best to ask the question on one of our Discord channels. Make sure to select the channel that's most appropriate to the context so subject matter experts are most likely to answer promptly. Or you can go over to Stack Overflow and ask the question there, make sure to use the nanoframework tag.

If you can't use Discord, you should start a conversation at Discussion.

Looking for something to work on? Check the list of up-for-grabs issues on the Home repo, that's a great place to start.

See some of our guides for more details:

License

.NET nanoFramework libraries, firmware images, tools and samples are licensed under the MIT license.

Documentation

Docs

The project documentation is a great place to find information about .NET nanoFramework, no matter if you are newcomer or a veteran. It's organized in the following categories:

Blog

There is a blog where we try to post detailed updates about the development status, technical posts about a particular feature ou a design option.

YouTube channel

We also have a YouTube channel where with video tutorials along with feature demos and teasers about new ideas that we are experimenting with.

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.

More Repositories

1

Samples

🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
C#
346
star
2

nf-interpreter

⚙️ nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
C
306
star
3

nanoFramework.IoT.Device

📦 This repo includes .NET nanoFramework implementations for various sensors, chips, displays, hats and drivers
C#
158
star
4

nanoFramework.M5Stack

📦 Board support package for M5Stack, M5StickC and M5StickCPlus for .NET nanoFramework
C#
94
star
5

nanoFirmwareFlasher

🧰 nano firmware flasher nanoff (.NET nanoFramework toolbox)
C#
88
star
6

nf-Visual-Studio-extension

🧰 Visual Studio extension for .NET nanoFramework
C#
56
star
7

nf-Community-Targets

👷‍♂️ Repository with target boards provided by nanoFramework community members
C
43
star
8

CoreLibrary

📦 nanoFramework Base Class Library
C#
38
star
9

nanoFramework.Hardware.Esp32

📦 nanoFramework Hardware.Esp32 Class Library
C#
34
star
10

nanoFramework.WebServer

📦 Web server for nanoFramework packed with features: REST api using attributes, multithread requests, parameters in query URL, static files serving.
C#
33
star
11

Json.NetMF

Json Serializer and Deserializer Library for nanoFramework and .NET Micro Framework
C#
29
star
12

nf-Community-Contributions

👷 Repository with contributions from nanoFramework community members. Drivers, extensions, utilities, feature demos...
C#
24
star
13

System.Device.Wifi

📦 nanoFramework System.Device.Wifi Class Library
C#
22
star
14

nf-tools

🧰 toolbox for .NET nanoFramework
C#
19
star
15

nf-debugger

🧰 Debugger library for .NET nanoFramework
C#
17
star
16

nanoframework.github.io

📚 repository for nanoFramework documentation web site
CSS
16
star
17

nanoFramework.Azure.Devices

📦 Azure IoT Devices SDK
C#
16
star
18

System.Net.Http

📦 nanoFramework System.Net.Http class library
C#
15
star
19

nanoFramework.Device.Bluetooth

📦 nanoFramework.Device.Bluetooth class library for .NET nanoFramework
C#
14
star
20

nanoFramework.DependencyInjection

📦 nanoFramework.DependencyInjection library for .NET nanoFramework
C#
14
star
21

nanoFramework.Graphics

📦 .NET nanoFramework Graphics and UI class library
C#
13
star
22

System.Net.WebSockets

📦 System.Net.WebSockets implementation for .NET nanoFramework
C#
12
star
23

System.Net

📦 .NET nanoFramework System.Net Class Library
C#
10
star
24

nf-VSCodeExtension

🧰 Visual Studio Code extension for .NET nanoFramework and cross platform tools to build and deploy
TypeScript
10
star
25

nanoFramework.SignalR.Client

📦 .NET nanoFramework SignalR Client Library
C#
9
star
26

hex2dfu

🛠 hex2dfu tool (nanoFramework toolbox)
C#
9
star
27

metadata-processor

🧰 metadata processor (.NET nanoFramework toolbox)
C
8
star
28

esp32-firmware-flasher

⚠️ This tool has been supersedded by nano Firmware Flasher ⚠️
C#
8
star
29

nanoFramework.Hardware.Stm32

📦 nanoFramework STM32 Hardware Class Library
C#
8
star
30

System.IO.Ports

📦 System.IO.Ports library for .NET nanoFramework.
C#
8
star
31

Windows.Devices.SerialCommunication

📦 nanoFramework Windows.Devices.SerialCommunication Class Library
C#
8
star
32

System.Device.Gpio

📦 nanoFramework System.Device.Gpio Class Library
C#
7
star
33

nanoFramework.Json

📦 .NET nanoFramework Json serealizer/deserializer library
C#
7
star
34

nanoFramework.Device.Can

📦 nanoFramework.Devices.Can Class Library
C#
7
star
35

nanoFramework.Aws.IoTCore.Devices

📦 AWS IoT Core Devices SDK
C#
7
star
36

Windows.Devices.Gpio

📦 nanoFramework Windows.Devices.Gpio Class Library
C#
6
star
37

System.Device.Spi

📦 System.Device.Spi library for .NET nanoFramework.
C#
6
star
38

System.Device.I2s

📦 nanoFramework System.Device.I2s Class Library
C#
6
star
39

Windows.Storage

📦 nanoframework Windows.Storage Class Library
C#
6
star
40

nanoFramework.Bluetooth.Hid

📦 .NET nanoFramework library for Bluethoot.Hid
C#
6
star
41

nanoFramework.Networking.Sntp

📦 nanoFramework SNTP Class Library
C#
6
star
42

nanoFramework.Logging

📦 A logging library for .NET nanoFramework compatible with Microsoft.Extensions.Logging.
C#
6
star
43

nanoFramework.Runtime.Events

📦 nanoFramework Runtime Events Class Library
C#
5
star
44

nanoFramework.TestFramework

🧰 .NET nanoFramework Unit Test framework
C#
5
star
45

nanoFrameworkDeployer

🧰 Multi platform deployment tool to deploy .NET nanoFramework PE files
C#
5
star
46

nanoFramework.Hosting

📦 nanoFramework.Hosting library for .NET nanoFramework
C#
4
star
47

nanoFramework.Device.OneWire

📦 nanoFramework 1-Wire Class Library
C#
4
star
48

System.Net.Sockets.TcpClient

📦 System.Net.Sockets.TcpClient for .NET nanoFramework
C#
4
star
49

Windows.Storage.Streams

📦 nanoFramework Windows.Storage.Streams Class Library
C#
4
star
50

System.Math

📦 nanoFramework System.Math Class Library
C#
4
star
51

System.Text.RegularExpressions

📦 nanoFramework System.Text.RegularExpressions Class Library
C#
4
star
52

Windows.Devices.I2c

📦 nanoFramework Windows.Devices.I2c Class Library
C#
4
star
53

System.IO.FileSystem

📦 .NET nanoFramework library for Syste.IO.FileSystem.
C#
4
star
54

System.Threading

📦 nanoFramework System.Threading class library
C#
4
star
55

System.Device.Dac

📦 nanoFramework System.Device.Dac class library
C#
4
star
56

nanoFramework.Runtime.Native

📦 nanoFramework Runtime Native Class Library
C#
3
star
57

Windows.Devices.Adc

📦 nanoFramework Windows.Devices.Adc Class Library
C#
3
star
58

nanoFramework.Hardware.Esp32.Rmt

📦 .NET nanoFramework class library for the RMT (remote control) peripheral for ESP32 targets
C#
3
star
59

System.Device.Pwm

📦 System.Device.Pwm library for .NET nanoFramework.
C#
3
star
60

System.Text

📦 nanoFramework System.Text Class Library
C#
3
star
61

System.Collections

📦 System.Collections Class Library
C#
3
star
62

nanoFramework.GiantGecko.Adc

📦 .NET nanoFramework Giant Gecko ADC Class Library
C#
3
star
63

System.Net.Sockets.UdpClient

📦 System.Net.Sockets.UdpClient library for .NET nanoFramework
C#
3
star
64

nanoFramework.MagicBit

📦 Board package for MagicBit with .NET nanoFramework
C#
3
star
65

nanobuild

🧰 GitHub Action to install .NET nanoFramework build components
PowerShell
3
star
66

nanoFramework.ResourceManager

📦 .NET nanoFramework class library for managed resources
C#
3
star
67

nFBot

🛠 Discord bot for nanoFramework Discord server
C#
3
star
68

nanoFramework.Hardware.TI

📦 nanoFramework TI SimpleLink Hardware Class Library
C#
2
star
69

.github

Placeholder for common docs across nanoFramework repositories
2
star
70

System.Device.I2c

📦 nanoFramework System.Device.I2c Class Library
C#
2
star
71

Windows.Devices.Pwm

📦 nanoFramework Windows.Devices.Pwm Class Library
C#
2
star
72

System.Runtime.Serialization

📦 System.Runtime.Serialization library for .NET nanoFramework
C#
2
star
73

Windows.Devices.Spi

📦 nanoFramework Windows.Devices.Spi Class Library
C#
2
star
74

nanoFramework.TI.EasyLink

📦 .NET nanoFramework class library for Texas Instruments SimpleLink devices.
C#
2
star
75

nanoFramework.Benchmark

📦 A benchmark library for .NET nanoFramework inspired in BenchmarkDotNet
C#
1
star
76

nanoFramework.EspNow

📦 .NET nanoFramework class library for the ESP-NOW (connectionless Wi-Fi communication protocol) for ESP32 targets
1
star
77

System.Device.UsbClient

C#
1
star
78

System.Security.Cryptography

1
star
79

System.IO.Streams

📦 System.IO.Streams library for .NET nanoFramework.
C#
1
star
80

nanoFramework.Hardware.GiantGecko

C#
1
star
81

System.Device.Adc

📦 System.Device.Adc library for .NET nanoFramework
C#
1
star
82

SimpleLink_CC32xx_SDK

Source files for TI SimpleLink CC32xx SDK
C
1
star
83

nanodu

🧰 GitHub Action to update NuGet references of .NET nanoFramework projects
TypeScript
1
star