{"id":305579,"date":"2011-08-01T03:00:10","date_gmt":"2011-08-01T10:00:10","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=305579"},"modified":"2016-10-13T17:04:54","modified_gmt":"2016-10-14T00:04:54","slug":"net-gadgeteer-launch-pad-devices","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/net-gadgeteer-launch-pad-devices\/","title":{"rendered":".NET Gadgeteer: Launch Pad for Devices"},"content":{"rendered":"

By Douglas Gantenbein, Senior Writer, Microsoft News Center<\/em><\/p>\n

When Microsoft Research hardware engineer Steve Hodges<\/a> was developing SenseCam<\/a>\u2014a wearable digital camera that automatically takes pictures that track the wearer\u2019s activities\u2014he needed months to create a workable prototype.<\/p>\n

\"Steve

Steve Hodges<\/p><\/div>\n

\u201cIt took me six months to get something working, and another person six months to write the software, and then another six months for each of us to finesse it,\u201d says Hodges, who manages the Sensors and Devices Group<\/a> at Microsoft Research Cambridge<\/a>. \u201cTwo man years! It worked out well, but in a project like that, you want to build it quickly, so you learn quickly if it\u2019s going to work or not.\u201d<\/p>\n

Not long ago, Hodges helped run a seminar on creating smart gadgets. Participants built something similar to SenseCam in a matter of hours. The difference? They had access to a new device created by the Sensors and Devices team: .NET Gadgeteer.<\/p>\n

.NET Gadgeteer combines flexible hardware and powerful, .NET-based software to enable users to create a myriad of different smart \u201cgadgets\u201d within a few hours\u2014sometimes even quicker. It has enormous potential in fields such as research, fostering the creation of fast prototype devices without the months of labor Hodges endured to help develop SenseCam. It could help teachers make educational instruction more interactive, encouraging a new generation of engineers. It even could help hobbyists create devices that exist only in their imaginations.<\/p>\n

Nicolas Villar<\/a> and James Scott<\/a>, researchers in the Sensors and Devices Group, worked over the past 2\u00bd years to develop .NET Gadgeteer. As a result of these labors, this week a public web site for .NET Gadgeteer<\/a> goes live. In addition, the .NET Gadgeteer source and binary code releases are available via CodePlex<\/a>. And Gadgeteer retail hardware is available for pre-order from Gadgeteer\u2019s first manufacturing partner, GHI Electronics<\/a>.<\/p>\n

.NET Gadgeteer has its roots in problems such as what Hodges faced with SenseCam: How do device and sensor experts find a way to build their devices and sensors quickly and easily?<\/p>\n

\u201cWe felt like we were re-inventing the wheel over and over again,\u201d Villar explains. \u201cAny time we wanted to build a new prototype in the hope of finding out quickly if it was a good idea or not, it took weeks to get an electronic circuit designed, and built up, and tested, and maybe it doesn\u2019t work the first time and you have to do it again.<\/p>\n

\"Nicolas

Nicolas Villar<\/p><\/div>\n

\u201cAnd then, you have to write some code to make it work. Usually that involves some arcane code, very low-level language assembly, or C, or something like that\u2013without good debugging tools.\u201d<\/p>\n

The team started to look for something better. Early on, the researchers considered a Microsoft tool called the .NET Micro Framework<\/a>, which is designed to give small, resource-constrained devices many of the same development tools used for PCs and other powerful computing platforms.<\/p>\n

Moreover, the .NET Micro Framework enables object-oriented programming, which assigns packages of software code to perform specific tasks. In effect, developers can pick from a set of software \u201cobjects\u201d that perform specific tasks.<\/p>\n

That notion gave the Cambridge team an idea for how to develop hardware that would help their quest for fast prototype construction.<\/p>\n

“Our idea,” Villar says, \u201cwas that if you have this object-oriented software, which breaks down functionality into individual modules, maybe we could make some object-oriented hardware to go with it.\u201d<\/p>\n

After early experiments with a system called Project Dragonfly, .NET Gadgeteer emerged. It consists of a small mainboard powered by an ARM processor, along with an open-source software platform built on the .NET Micro Framework.<\/p>\n

But what really gives .NET Gadgeteer its punch is that it comes with an array of easily attached modules that give Gadgeteer the ability to take pictures, play sound, sense the surrounding environment, communicate with other devices, or interact with a human user. In turn, it has USB ports and other connections that enable it to be linked to a PC or other computing devices.<\/p>\n

\".NET

The .NET Gadgeteer features a collection of attachable modules that provide a wide range of functionalities and connections.<\/p><\/div>\n

And just as .NET Gadgeteer has plug-in hardware, its .NET Micro Framework software works much the same way. It is based on Microsoft Visual Studio<\/a>, which has a feature called IntelliSense<\/a> that serves to auto-complete lines of code and even prompts users to choose particular code packages that fulfill their intent.<\/p>\n

At the same time, the .NET Gadgeteer software is powerful enough to satisfy professional developers and has the robust de-bugging tools and other features of Visual Studio.<\/p>\n

\u201cWe\u2019re taking these features in Visual Studio, which was designed for professionals,\u201d Villar says, \u201cand using them as much as possible to help beginners with their own programming.\u201d<\/p>\n

With an array of hardware options and powerful software, the possibilities for creating new devices with .NET Gadgeteer are limited largely to what a user can envision. Scott, for instance, used .NET Gadgeteer to create an automated home-heating system.<\/p>\n

\"James

James Scott<\/p><\/div>\n

\u201cThe system individually controls whether you get heat in any one room and also senses when people are in the rooms,\u201d he says. \u201cThe idea is to more efficiently heat homes by automatically heating rooms at the right time\u2014and doing so without requiring users to do a lot of programming.\u201d<\/p>\n

Scott will present a paper on his heating system during UbiComp 2011<\/a>, the 13th International Conference on Ubiquitous Computing, to be held in Beijing from Sept. 17 to 21.<\/p>\n

Other .NET Gadgeteer-inspired papers that have emerged from Microsoft Research scientists\u2014and, in some cases, in collaboration with non-Microsoft colleagues\u2014include a device that helps people make decisions while shopping and one that enables users to replay recordings to elicit family memories.<\/p>\n

\u201cThese are all highly custom devices,\u201d Villar says, \u201cbut the time scales in which they were built were really short.\u201d<\/p>\n

Two videos on YouTube demonstrate the versatility of Gadgeteer. One shows the creation of a miniature arcade console<\/a>; the other a device to create animations<\/a>.<\/p>\n

Another aspect of Gadgeteer on which the Cambridge team is working is the ability to give a .NET Gadgeteer-based device an appropriate form. Using a 3-D printer, having specified the type of device\u2014a camera, for instance\u2014it\u2019s then possible to design a container for it, even down to attachment points for the internal components.<\/p>\n

\u201cYou can design a case around a device very accurately,\u201d Villar says, \u201cand when it comes out of the printer, all the Gadgeteer components fit exactly in place.\u201d<\/p>\n

In demonstrations to groups ranging from engineers to hobbyists to educators, the .NET Gadgeteer team has found a warm reception for the project.<\/p>\n

\u201cWe\u2019d get this feedback where people in education would say, \u2018Wow, this would be a really neat way to get people excited about programming,\u2019\u201d Villar says. \u201cOr hobbyists would say, \u2018I\u2019d really love to have this and build things for fun at home.\u2019\u201d<\/p>\n

The team members credit the supportive atmosphere of Microsoft Research and Microsoft with making .NET Gadgeteer possible. Early demos at internal Microsoft events, for instance, led to people offering to help with beta testing or other chores in their spare time.<\/p>\n

Collaborative Effort<\/h2>\n

\u201cBut as well as that, we also signed up others to work on .NET Gadgeteer as part of their day jobs,\u201d Scott says. Kerry Hammil, senior program manager in Microsoft Research Redmond<\/a>, and Colin Miller, product-unit manager heading the .NET Micro Framework team, have become key contributors to the project.<\/p>\n

\u201cWe had maybe a dozen people committing some serious time with the documenting, testing, giving us feedback,\u201d Villar says. \u201cIt\u2019s been a really inspiring community project.\u201d<\/p>\n

Much of that help came through the Garage, Microsoft\u2019s in-house incubation initiative aimed at encouraging innovation.<\/p>\n

\u201cKerry and Colin have been key to getting folks from the Garage behind Gadgeteer,\u201d adds Villar. \u201cThey also helped us engage with external partners such as the hardware manufacturers.\u201d<\/p>\n

Adds Scott: \u201cThis really says a lot about Microsoft as a company. We\u2019re putting this all out there as open source, and we hope it will enable a lot of innovation and the participation of the community of hardware manufacturers. Vendor A can make a main board, then Vendor B can say, \u2018Well, I\u2019m an expert at robotics modules and won\u2019t worry about the main board,\u2019 and they can all work together.\u201d<\/p>\n

From smartphones to digital cameras to athletic equipment that measures location and heart rate, the world today is full of gadgets. .NET Gadgeteer could lead to devices that nobody has even imagined, save for that one tinkerer who just wishes she had an easier way to make a prototype.<\/p>\n","protected":false},"excerpt":{"rendered":"

By Douglas Gantenbein, Senior Writer, Microsoft News Center When Microsoft Research hardware engineer Steve Hodges was developing SenseCam\u2014a wearable digital camera that automatically takes pictures that track the wearer\u2019s activities\u2014he needed months to create a workable prototype. \u201cIt took me six months to get something working, and another person six months to write the software, […]<\/p>\n","protected":false},"author":39507,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[194476],"tags":[187100,194495,214274,195079,214271,214268,214280,196501,214277,197152,214265,214283,214262],"research-area":[13552],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-305579","post","type-post","status-publish","format-standard","hentry","category-devices-and-hardware","tag-net-gadgeteer","tag-net-micro-framework","tag-arcane-code","tag-codeplex","tag-electronic-circuit","tag-ghi-electronics","tag-intellisense","tag-microsoft-visual-studio","tag-object-oriented-programming","tag-sensecam","tag-smart-gadgets","tag-ubicomp-2011","tag-wearable-digital-camera","msr-research-area-hardware-devices","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[199565,199561],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[144767],"related-projects":[],"related-events":[],"related-researchers":[],"msr_type":"Post","byline":"","formattedDate":"August 1, 2011","formattedExcerpt":"By Douglas Gantenbein, Senior Writer, Microsoft News Center When Microsoft Research hardware engineer Steve Hodges was developing SenseCam\u2014a wearable digital camera that automatically takes pictures that track the wearer\u2019s activities\u2014he needed months to create a workable prototype. \u201cIt took me six months to get something…","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/305579"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/users\/39507"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/comments?post=305579"}],"version-history":[{"count":5,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/305579\/revisions"}],"predecessor-version":[{"id":305648,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/305579\/revisions\/305648"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=305579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/categories?post=305579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/tags?post=305579"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=305579"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=305579"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=305579"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=305579"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=305579"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=305579"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=305579"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=305579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}