.NET Gadgeteer

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
.NET Gadgeteer
Developer(s) Microsoft
Stable release Core 2.14.500 / 2012
Written in C#, VB
Platform .NET Micro Framework
Type Embedded Systems
License Apache License 2.0 / Creative Commons 3.0
Website netmf.com/Gadgeteer

Microsoft .NET Gadgeteer is an open-source rapid-prototyping standard for building small electronic devices using the Microsoft .NET Micro Framework and Microsoft Visual Studio/Visual C# Express.[1]

The Gadgeteer platform

The Gadgeteer platform centers around a Gadgeteer mainboard with a microcontroller running the .NET Micro Framework. Gadgeteer sets out rules about how hardware devices packaged as add-on modules may connect to the mainboard, using solderless push-on connectors. Gadgeteer includes a small class library to simplify the implementation details for integrating these add-on modules into a system. It is a way of assigning the plethora of functions that a microcontroller provides to sockets that have a standardized, small set of interfaces at the hardware level.[2]

History and licensing

.NET Gadgeteer was created by researchers at Microsoft Research Cambridge, where the Sensors and Devices group created it as a way develop device ideas rapidly and iteratively. It quickly generated interest from hobbyists, teachers, and developers, who wanted a platform to build gadgets in a short time.[3]

In response to outside interest, Microsoft then released Gadgeteer as an open source software project,[4] describing the project as "an open collaboration between Microsoft, hardware manufacturers, and end users".[5]

The core libraries are published under the Apache 2.0 License, while the hardware designs are under the Creative Commons 3.0 License. The core source code is publicly available from the CodePlex source repository.[6]

Microsoft has stated plans to continue supporting and investing in the .NET Gadgeteer ecosystem, including hosting educational materials and working with companies to create compatible kits and modules.[7]

Design and construction

.NET Gadgeteer projects consist of a mainboard and a series of modules connected via a standard 10 pin connector. The mainboard sockets can support one or more different types of modules, shown by a series of letters next to the socket. Each module has a letter showing its module type. (Connecting modules incorrectly does not harm the hardware – providing only one red power module is used). Any module that supplies power (via USB, DC or battery) is coloured red to help prevent multiple power sources that can potentially harm the devices.

The Gadgeteer library includes a layer of event-driven drivers and code generation, which integrates with Visual Studio. This enables developers to visually create a diagram in Visual Studio of which hardware modules (for instance, a camera module, button module and screen module) are connected to which sockets on the mainboard, and the Gadgeteer SDK then auto-generates code creating object instances for all the relevant hardware. In this way the developer can immediately begin writing .NET code targeting the connected hardware.[citation needed]

Many different modules are currently available for a series of hardware vendors, including wireless transmission, environment sensors, actuators and custom community modules resulting in a large ecosystem of projects. [8] [9] [10] [11] [12] [13] [14]

Sytech .NET Gadgeteer mainboard and GHI button module.
.NET Gadgeteer mainboard and button module.

Hardware

Any hardware manufacturer, builder or hobbyist can create .NET Gadgeteer-compatible hardware; currently multiple manufacturers participate.

Mainboard Clock speed (MHz) Processor Cores Number of sockets Width (mm) Length (mm) Manufacturer
Argon R1 120 LPC1788 Cortex-M3 1 14 57 92 Love Electronics
Eth Mainboard 1.0 168 STM32F407 Cortex-M4 1 8 42 57 Mountaineer Group
USB Mainboard 1.0 168 STM32F407 Cortex-M4 1 9 32 57 Mountaineer Group
Nano 200 Freescale ARM920T 1 10 42 57 Sytech Design
FEZ Spider 73 ARM7 LPC2478 1 14 52 57 GHI Electronics
FEZ Hydra 200 ARM9 AT91SAMRL 1 14 62 87 GHI Electronics
FEZ Cerberus 168 STM32F405 Cortex-M4 1 8 47 57 GHI Electronics
FEZ Cebuino Bee 168 STM32F405 Cortex-M4 1 3 55 80 GHI Electronics
Bambino 200 204 LPC4330 Cortex-M4 & M0 2 5 58 102 Micromint
Bambino 200E 204 LPC4330 Cortex-M4 & M0 2 10 58 102 Micromint


See also

<templatestyles src="Div col/styles.css"/>

References

  1. Microsoft Gadgeteer home page
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.