Okay, this isn’t exactly breaking news, but it is something I have been monitoring since the end of 2009, and I felt compelled to share what I have learned so far.  The .NETMF has been around many years now, but the fact that it has become an open source project (Apache 2.0 license) is a notable development, and for the first time that I can recall, Microsoft not only encourages participation by the ubiquitous “community” but accepts contributions to be included in future releases.  So this is more than just releasing source code as a supplement to the documentation, this is active collaboration, with Microsoft acting as the moderator of the project. 

Let us not forget, however, that Microsoft is not doing this moderation for free.  They are, after all, a software company obligated to generate revenue.  So if you are going to port the .NETMF to new hardware you still need to purchase a commercial distribution license.  You can download the Porting Kit but the image you build will be time-bombed for 720 hours of runtime, which can be extended by simply reflashing the image.  Microsoft must be contacted directly to obtain pricing information.

I started my exploration of the .NETMF by visiting the official community site.  It’s still a little rough around the edges. The central focus of any open source developer is addressed: where do I get it, how do I build it, how do I find answers when I get stuck, and how do I contribute back.  This information is buried, however, so expect to do some digging.  In fact, you are better served by starting at the official Microsoft home page for .NETMF.  This page provides the download links, and is a good starting point for a basic introduction.  Unfortunately, contributing back to the community seems cumbersome to me, and requires that certain forms be completed.  Later Microsoft will be connecting CodePlex to the .NETMF community site, which will hopefully provide some form of online source code repository to allow versions of the code still in development to be accessed, and fixes to be submitted.

I have had some exposure to .NETMF in a past project, but I can say that I have a lot to learn about the many new features added since then, including support for larger displays, multiple TCP/IP stacks, more hardware ports, and more connectivity options.  The tool chain also has full integration with VS 2010, with support for an emulator and graphical debugging on the target over USB.

The range of hardware options has grown significantly, and in keeping with .NETMF’s open source orientation, many of the hardware makers also include design files to allow their boards to be more easily modified with schematic capture tools.  The two boards that caught my eye are the FEZ Domino and the netduino.  Both borrow from the Arduino approach to board expansion, with a low cost connector that allows additional “shields” to be stacked above the main board.  The FEZ Domino expansion options are impressive, and I could easily build my next robot from the parts on this one website.  Best of all, the cost to get started is around $50, not only for these boards, but many of the others as well.  This is a long way from the usual $500 cost of a board support package.  And let us not forget this get’s you out the door with a complete tool chain that includes a full featured IDE (VS 2010). 

So the real question in my mind, is how .NETMF stacks up against the other open source OS for low cost hardware, uClinux.  I would love to do a comprehensive, feature-by-feature comparison, but that will take some time.  If you would be interested in such an analysis, please post back and let me know.  In the mean time, I would encourage you to give .NETMF a serious look if you are considering a project with a low cost, embedded platform, that needs the many benefits of open source.