What is the .NET Micro Framework?

What if you could use .NET on really small devices?

.NET Micro Framework is an open source platform that expands the power and versatility of .NET to the world of small embedded applications. Desktop programmers can harness their existing .NET knowledge base to bring complex embedded concepts to market on time (and under budget). Embedded Developers can tap into the massive productivity gains that have been seen on the Desktop.

.NET Micro Framework Devices

The typical .NET Micro-Framework device has a 32 bit processor with or without a memory management unit (MMU) and could have as little as 64K of random-access memory (RAM). The .NET Micro Framework supports rich user experience and deep connectivity with other devices.

Such devices include: consumer devices, consumer medical, home automation, industrial automation, automotive, sideshow devices / PC peripherals.

Why put .NET on small devices?

Up to now, embedded devices have been quite effectively created using mostly C and C++, why do we need C#?  Certainly there will remain applicaitons for which C and C++ are the right technology to use but there are two reasons to consider using a managed environment for these devices. 

The first is the efficiency of creating and maintaining devices in managed code.  Desktop developers who have made  the move to managed code are typically converted by the productivitiy increases that they experience.  With the increase in 32 bit processors and the need to support higher level functionality like a TCP/IP stacks, an environment like NETMF can make development much less expensive and risky.

This is related to the other reason for .NET on small devices.  More and more the devices that we are making are not isolated implementations but parts of much larger solutions that stretch to services and web sites and the cloud.  With .NET, you have a programming model and tool chain that spans that entire solution space.  There is less need to hire different staff and supporit different tools and operating systems for the various parts of the solutions. 

Video

See Lorenzo Tessiore's Presentation at the 2009 Microsoft Professional Developers Conference here and watch Scott Guthrie talks about .NET Micro Framework 4.0: