Intelligent devices are becoming more and more commonly part of larger solutions. There are several things driving this. First, 32 bit processors are becoming more power efficient and less expensive so there is less of a barrier to stepping up to greater processing capabilities. As a result, that segment of devices is growing faster than any other. Second, there are a number of connectivity options available with the proliferation of low power protocols like Zigbee (802.15.4), ANT, and others. These two technology trends have enabled solutions that are economically built with much richer devices than before.

What kinds of applications are these integrated solutions showing up in? A very popular one right now is energy management from generation to consumption management. Much of the consumption management that we need to control is in the consumer space rather than the industrial space where drives for cost efficiencies have already driven a good deal of conservation. In the home however, there is little information available to consumers about how they are using energy and where they can save. A 10% savings for an individual may only be a few dollars and that may not drive the conservation that is needed because that 10% across all users would have a huge impact on our energy needs. So, in this solution, you have devices in the home supporting centralized control of energy usage throughout the house, local displays of energy usage to inform the consumer, connectivity with remote.cloud services to monitor power cost fluctuations. This is truely a solution that spans from the smallest devices to the cloud. Companies that are implementing solutions like this do not want to have different sets of developers for different parts of the solution. We have already seen .NET and Visual Studio grow out to support desktop applications, web applications, and the cloud. Now, with the .NET Micro Framework we have added the final part in supporting the small devices. Now there is truly a single programming model and tool chain for the whole breadth of these solutions.

Obviously the same .NET environment that runs of a desktop system with multiple gigabytes of memory is not the same one that will run in 64K of RAM. The .NET Micro Framework is a subset of the whole. It is a subset that was initially defined by shipping several Microsoft products that were built with it. Through the process of supporting real products, we defined the core set of things required for the embedded devices. We also re-implemented everything from scratch with the need for minimal size in mind. Then, through the last 2 years, we have extended that support as needed to support a wide range of devices in the field. So chances are good that, for any embedded application, you can do it with the range to functionality currently supported by the Micro Framework.

Now with Version 4.0, if you are missing something that is unique to your application, you can add that functionality in the system yourself.