Project Structure

.NET Gadgeteer is an open collaboration between Microsoft, hardware manufacturers, and end users. To understand how it all fits together, it is important to know that a .NET Gadgeteer device is composed of a mainboard and peripheral modules. The architecture of .NET Gadgeteer allows for many types of hardware modules to be built, by different manufacturers, which are compatible with different mainboards. In software, every .NET Gadgeteer end user app is based on the .NET Gadgeteer Core libraries as well as a module library for each hardware module used, and a mainboard library for the mainboard. Detailed documentation on the software and hardware interfaces is available.

Microsoft released and continues to maintain the .NET Gadgeteer Core libraries (found in $\Main\GadgeteerCore in the source code), as well as Visual Studio templates for Apps, Modules, Mainboards and Kits. Contributions are welcome; please use the discussions and issue tracker to share your thoughts for the future of GadgeteerCore. Microsoft also released and maintains a number of example module designs under $\Main\Modules\MSR (MSR ="Microsoft Research"), which comprise open source for software (using the Module template), firmware and hardware.

Microsoft provides two binary releases related to the .NET Gadgeteer Core (GadgeteerCore.msi and GadgeteerBuilderTemplates.msi). However, Microsoft does not provide releases for module/mainboard/kit libraries since these are maintained by the respective hardware manufacturers. Typically, an end user will receive a kit installer from the manufacturer of the hardware kit they purchase, and they will also need to install GadgeteerCore.msi released by Microsoft (which may be included by the kit manufacturer along with their kit installer).

Manufacturers of .NET Gadgeteer-compatible hardware are also welcome to open source their software/hardware designs using this repository. These are located under manufacturer-specific subdirectories under $\Main\Modules, $\Main\Mainboards and $\Main\Kits, and the contents of these subdirectories are maintained by the respective manufacturers.

Repository Structure

$\Main 
\ GadgeteerCore - .NET Gadgeteer core libraries maintained and released by Microsoft

\ Modules 
   \ ManufacturerName - This is the maintainer/releaser of the code in this subdirectory
      \ ModuleName
         \ Software - Created using Module Template (found in GadgeteerBuilderTemplates installer)
         \ Hardware - Hardware designs/schematics

\ Mainboards - similar to modules

\ Kits 
   \ DistributorName - This is the maintainer/releaser of the code in this subdirectory
      \ KitName
         \ Software - Created using Kit Template (found in GadgeteerBuilderTemplates installer)

Reference Notes/Lists

.NET Gadgeteer Socket Types
DaisyLink Manufacturer Codes
HOWTO: Get the directory structure right with new modules
Gadgeteer PCB Graphic in .ai format

Open Source License

The software source code available on this site is subject to the Apache License, version 2.0. All other files on this site, including hardware designs/source files and end user documentation, are licensed under the Creative Commons Attribution 3.0 license. As per the CodePlex terms of use, the copyright remains the property of the submitter for each file (or portion of a file/patch).

Last edited Apr 19, 2013 at 8:33 PM by JanKuceraMSFT, version 23

Comments

gozzilli Jun 11, 2014 at 9:07 AM 
So where do we find an up-to-date, comprehensive documentation tree of the entire repository? A tree that mirrors the code structure in the source control tab?