EECS194 – Internet of Everyday Things

Spring 2008

Experimental Undergrad EECS Design Studio

Prof. David E. Culler

Information

Description

Everyday we deal with a myriad of sophisticated devices that have sensors, controllable actions, and intelligence that transforms inputs and intention into action. These devices are the appliances in the kitchen, the gadgets in living room, the lighting, heating, cooling, watering, draining facilities in the building, the array of thermometers, scales, and health meters, the many forms of recreational equipment, and so on. They are stand-alone and fixed function.  The intelligence is sometimes digital, often analog, and almost inevitably human. 

In this design studio, we are going to literally tear everyday appliances apart and put communication and programmability into their core - allowing them to become software controlled, interact with other devices, integrated with powerful servers, and able to draw from or provide information to the web. Then we will see what interesting and unusual things we can do with these integrated, scriptable, networked devices.The course will involve elements of hardware design, embedded systems software, networking, server integration, web services, and use-case and business analysis.  The early part of the term will utilize the most recent networked embedded “mote” platform, EPIC, and TinyOS 2.0 to develop our skill set, toolbox, and design ideas.  We will build concept prototypes by reverse-engineering appliances, networking them and web-enabling the result.  These prototypes will provide the basis for use-case studies and engineering analysis.  We will then build highly tailored hardware (PCBs), embedded system software and web applications to create a family of programmable, networked Everyday Things. 

The studio is oriented to juniors and seniors with digital design and systems experience (CS150 and CS162). Enrollment will be limited and interview-based to form half dozen teams of about four people each with complementary skills and interests. Course meetings will be once a week in a 4-hour lab format.  Teams will work closely with experienced graduate student staff in all aspects of design, analysis and implementation. 

Schedule

Week

Topic

Student Presentation

Lecture

Activity

Homework

01/21

MLK Day

 

 

 

 

01/28

IP Networking

None

Course Overview.
Protocols, APIs, and Services

embedded network analysis, download, deploy, sniff

Connectivity experiments

02/04

Embedded Programming, Binary Sensors

Connectivity

Embedded Network Programming

binary app on rich kernel - exer pace, motion

Binary Sensor Drivers and Embedded Application

02/11

Schematics, PCB Layout, CAD

Binary Sensor Application

PCB Design Flow

PCB design

Schematic, Layout

02/18

ADCs, Analog Sensors

None

ADCs, sampling, precision, reference, signal conditioning

President’s Day

Final Schematic, Layout, Exploring an Everyday Thing

02/25

Embedded Programming

Final Schematic and Layout

None

ADCs, EPIC Platform

ADC Driver and Embedded Application

03/03

Hacking Everyday Appliances

Embedded Application

How Everyday Appliances Work

Hacking Everyday Appliances

Bike, Coffeepot, Space Heater

03/10

Hacking Everyday Appliances

None

None

Hacking Everyday Appliances

Bike, Coffeepot

03/17

Hacking Everyday Appliances

None

None

Hacking Everyday Appliances

Project thinking

03/24

Spring Break

 

 

 

 

03/31

PCB Testing

None

PCB Testing

PCB Testing

PCB Testing, Bike, Coffeepot

04/07

Hacking Everyday Appliances

None

None

Cal Day Project Development

Cal Day Projects (Bike, Coffeepot)

4/14

Hacking Everyday Appliances

Cal Day Demonstrations

None

 

Final Project Proposals

4/21

Application Service Portals

None

None

Final Project

Final Project

4/28

Final Project

TBD

TBD

Final Project

Final Project

5/5

Final Project

TBD

TBD

Final Project

Final Project

5/12

Final Project

TBD

TBD

Final Project

Final Project

5/19

Final Project

TBD

TBD

Final Project

Final Project

 

Tutorials

 

Resources