microsoft .net gadgeteer a new way to create electronic devices · 2018. 1. 4. · software...

49

Upload: others

Post on 29-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which
Page 2: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Microsoft .NET Gadgeteer A new way to create electronic devices

Nicolas Villar Microsoft Research Cambridge, UK

Page 3: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

What is .NET Gadgeteer?

• .NET Gadgeteer is a new toolkit for quickly constructing, programming and shaping new small computing devices (gadgets)

• Takes you from concept to working device quickly and easily

Page 4: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Driving principle behind .NET Gadgeteer

• Low threshold

• Simple gadgets should be very simple to build

• High ceiling

• It should also be possible to build sophisticated and complex devices

Page 5: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

The three key components of .NET Gadgeteer

Page 6: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

The three key components of .NET Gadgeteer

Page 7: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

The three key components of .NET Gadgeteer

Page 8: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Some background

• We originally built Gadgeteer as a tool for ourselves (in Microsoft Research) to make it easier to prototype new kinds of devices

• We believe the ability to prototype effectively is key to successful innovation

Page 9: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Some background

• Gadgeteer has proven to be of interest to other researchers – but also hobbyists and educators

• With the help of colleagues from all across Microsoft, we are working on getting Gadgeteer out of the lab and into the hands of others

Page 10: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Some background

• Nicolas Villar, James Scott, Steve Hodges Microsoft Research Cambridge

• Kerry Hammil Microsoft Research Redmond

• Colin Miller Developer Division, Microsoft Corporation

• Scarlet Schwiderski-Grosche‎, Stewart Tansley‎ Microsoft Research Connections

• The Garage @ Microsoft

Page 11: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

First key component of .NET Gadgeteer

Page 12: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Quick example: Building a digital camera

Page 13: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Some existing hardware modules

Page 14: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Mainboard: Core processing unit

Mainboard

Page 15: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

User interface modules

Rotary

Encoder

D-Pad

Multicolor

LED

Button

OLED Display 480x272

Touch screen

(not shown)

USB

Host

Page 16: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Sensor modules

Ultrasonic

Ranger

Passive IR

Temp. &

Humidity

Color

Sensor

Accelerometer

(not shown)

Page 17: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Multimedia modules

Audio

Camera

Page 18: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Networking modules

ZigBee

802.15.4

WiFi

Ethernet

UART

Page 19: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Storage modules

SD Card

USB

Host

Page 20: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Actuator modules

Motor &

Servo Control

Relays – low and high voltage

(not shown)

Page 21: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Power supply modules

External DC

Power

(not shown)

Rechargeable

Battery

(not shown)

USB

Power

Page 22: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Extensibility modules

Analog IO

Digital IO Breakout

Page 23: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Second key component of .NET Gadgeteer

Page 24: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Software Development Libraries

• Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which provides a simple and powerful way to write software for small devices

• Software is developed and debugged in Visual Studio, and code is in managed, object-oriented C#

• The Gadgeteer SDK provides classes encapsulating functionality for individual hardware modules as well as other utility functions

Page 25: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

.NET Micro Framework

Runtime Component Layer (Hardware Abstraction + CLR)

Hardware

Class Libraries (Display, Networking, I/O, File System…)

C# Application and User Libraries

Page 26: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Other .NET Micro Framework Devices

FEZ (GHI Electronics) Netduino (Secret Labs)

Page 27: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Gadgeteer SDK

C# Application and User Libraries

Gadgeteer Library

Sockets and Pins

Interfaces:

Runtime Component Layer (Hardware Abstraction + CLR)

Hardware

Class Libraries

Modules: Camera Audio WiFi ...

Program,

Timers,

Utilities

PWM I2C SPI ...

Page 28: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Development support from Visual Studio tools

Page 29: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Third key component of .NET Gadgeteer

Page 30: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Cardboard prototyping

Page 31: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Cardboard prototyping

Page 32: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Digital design and rapid manufacture

Page 33: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which
Page 34: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Falling cost and increasing availability of 3D printers

Page 35: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Integration of .NET Gadgeteer with 3D Modeling Tools

Page 36: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Integration of .NET Gadgeteer with 3D Modeling Tools

Page 37: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Integration of .NET Gadgeteer with 3D Modeling Tools

Page 38: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Integration of .NET Gadgeteer with 3D Modeling Tools

Page 39: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Making a handheld gaming device in less than 24 hours

Tying it all together

Page 40: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Hardware configuration

Page 41: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Software development in C#

Page 42: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Case design

Page 43: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

3D printing

Page 44: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Final assembly

Page 45: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

A fully functional device in less than 24 hours

Page 46: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Next steps: Getting .NET Gadgeteer out of the lab

• .NET Gadgeteer software, hardware design and design guidelines released as open source project:

http://gadgeteer.codeplex.com/

• Community site (in development): http://netmf.com/gadgeteer

Page 47: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Next steps: Getting .NET Gadgeteer out of the lab

• Working with a number of hardware manufacturers who will build, distribute and sell the hardware modules

• Initial availability expected end of July

• Started kit priced around $250

• More modules to become available from different manufacturers during the rest of the year

Page 48: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which

Please get in touch if you are interested in using .NET

Gadgeteer for research or teaching

[email protected]

More information

Page 49: Microsoft .NET Gadgeteer A new way to create electronic devices · 2018. 1. 4. · Software Development Libraries • Gadgeteer uses the Microsoft .NET Micro Framework (NETMF), which