Traditionally, software development for devices that are constrained on resources has been limited to using C/C++ languages which allow for generation of highly optimized code for the device. Higher level languages and frameworks such as C#/.Net provide a lot of productivity gains that have not been translated to an embedded systems programming environment. However, in recent times a number of frameworks have been developed which let you program these devices using Java or .Net.

.Net Micro framework is one such framework. .Net Micro is fully integrated with the Visual Studio development environment, which means that I can program my embedded devices directly from my Visual Studio environment. This really means a lot. There are two advantages:

  • It makes the job of an existing embedded software development team easier since Visual Studio is a great development and productivity environment.
  • But, in my opinion, the better advantage is that it really extends the reach of the traditional software development team by making embedded devices more accessible.

As an organization Nagarro does have a number of projects where we work with embedded devices, but the majority of our projects are purely software based. However, it is possible that the best solution to a problem may not always be completely software based.

If I were to take a hypothetical example – a number of our solutions deal with manufacturing shop floor operations. One of the common things in these scenarios is to log when different employees work at different stations, and tie it up to a central database for reporting, optimization, etc. There are systems in the market which already provide that, but a lot of times they have features that are not needed (or don’t have features that are needed). Now it’s a simple matter to make a small software module which runs on a PC sitting at each such station. However, this might be an overkill if this is the only need this PC serves (a PC would cost you at least a few hundred dollars). The same need can be met by perhaps a less than $100 embedded device.

So, just the option being opened up should get software teams to think of such solutions in scenarios where an embedded device was not an option before (unless your team was very multi-functional to begin with, I guess).

There is no doubt that you still require a little bit of understanding of electronics in order to make full use of this framework and any associated hardware. But, there is a rich ecosystem of ready to use modules that work with such hardware which reduce this requirement to some extent. However, now that I have a tool which I am familiar with (.Net) and it allows me access to a platform that I am unfamiliar with (embedded devices)

Let’s take an example of NetDuino which is .Net Micro framework based open source electronics platform (derived from the very popular Arduino platform). NetDuino has over 200 extensions which add capabilities such as GPS, display, storage, motor control, etc. to the electronics platform (which means you can control these through .Net code). The platform itself costs only $35 – and various add-ons have their own pricing.

While we have not used this anywhere in our projects at Nagarro, a couple of our developers are playing with this platform on their own time. I would love to see the day when we can use something like this or a similar platform to provide a perfect solution to one of our customers.

Microsoft provides a list of of turnkey hardware for the Microsoft .Net Micro framework. The page lists a number of platforms such as NetDuino, and also Microsoft’s partners for providing add-on modules which have support for Microsoft .Net Micro framework.

Share and Enjoy

  • Facebook
  • Google Plus
  • Twitter
  • LinkedIn
  • RSS

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>