Title: eBlocks Electronic Building Blocks for SensorBased Systems
1eBlocks Electronic Building Blocks for
Sensor-Based Systems
- Frank Vahid
- Professor
- Dept. of Computer Science and Engineering
- University of California, Riverside
- Assoc. Director, Center for Embedded Computer
Systems, UC Irvine - Support provided by the National Science
Foundation and Intel - Contributing students Susan Lysecky (PhD 2006,
Asst. Prof. at U. Arizona), Ryan Mannion (former
UCR ug/grad student), Andrea Lyons (senior),
Caleb Leak (BS 2007, now UCLA MS student), Shawn
Nemetebakshi (MS 2005), plus about a dozen
undergraduate students past and present
2The Problem
- What do these problems all have in common?
A small store owner wishing to track employees
are they in the storeroom, breakroom, or out back
or customers
A working adult with an ageing parent at home
did she get out of bed today, is she moving
around?
Marines wishing to outfit a building to detect
whether someone is inside or when someone was
inside
An aunt with a visiting niece who sleepwalks,
worried the niece will leave the house or get hurt
A homeowner who sometimes forgets to close the
garage at night
3The Problem
- What do these problems all have in common?
Put motion and sound sensors throughout, small
LEDs (lights) near cash register
Put motion sensors around the house, monitor from
the web or cell phone or even be notified if no
motion by certain time in the morning
Place motion, heat, and sound sensors in rooms,
halls, doorways
Put motions sensors around the house, connected
to a beeper next to the bed
Install contact sensor and light sensor, and
indicator next to the bed
4Why Cant We Just Do This?
- Widely usable Lego-like sensors dont exist
today - Costly, hard to use, plugged into wall
- smarthome.com (x10.org)
- ...
- But new technology makes Lego-like sensor blocks
possible...
5Shrinking Processor Size/Cost Enables New Solution
6Shrinking Processor Size/Cost Enables New Solution
3 yrs
6 yrs
9 yrs
12 yrs
15 yrs
- Moores Law also means chips can be SHRUNK
- 1980 10,000 transistors about 1 sq cm
(fingernail) - Today size of a spec of dust
7Shrinking Processor Size/Cost Enables New Solution
Courtesy of Joe Kahn
http//www.templehealth.org
- Make sensors smarter
- By adding processorbattery
- Today, tiny and cheap
- Becomes a "block" easily connected to other
blocks
8Shrinking Processor Size/Cost Enables New
Solution eBlocks
Existing component view
New "eBlock" view
9eBlocks
- Just connect blocks, and they work
- No programming knowledge, no electronics knowledge
LED
yes/no
10eBlocks
- Add intermediate blocks that compute and maintain
state - Spatial programming more intuitive to non-CS
people than temporal programming
11What's Hard (The Research Part)
- (1) Finding right set of building blocks
Too many Overwhelming (too much choice)
12What's Hard (The Research Part)
- (2) Making the blocks understandable
- People NOT likely to read directions
- Those that do are unlikely to understand
Performed extensive user testing (over 500
students, kids, and adults) over two years
Example Combine block
Most success
13What's Hard (The Research Part)
- (3) Batteries must last years, yet performance
should appear continuous - Blocks are off 99.9 of the time
Developed theory to map eBlock events to
continuous time
Developed custom CAD tool to automatically find
the best block parameter settings out of the
billions of possibilities
14eBlocks
- Prototypes
- gt100 prototypes, size of deck of cards (trend
smaller) - 2-3 years on 2 AA batteries (trend longer)
- Can communicate via wire gt1.5 miles, 150 ft
wireless - Integer blocks too
15eBlocks Example
- "Garage Open at Night" detector
- lt10 minutes to build
Need to indicate garage open at night use LED
block
Detect night-time use Light Sensor block
Use Combine block to combine light sensor and
contact switch into one
Detect garage door open use Contact Switch block
Plug pieces together and the system is done!
16Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
17Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
18Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
19Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
20Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
21Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
- User is able to configure various blocks by
clicking on switches
22Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
- User is able to configure various blocks by
clicking on switches - Connections created by drawing lines between
blocks
23Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
- User is able to configure various blocks by
clicking on switches - Connections created by drawing lines between
blocks - User can create, experiment, test and configure
design
Button
24Graphical Simulator
- User specifies and tests block design
- Java-based simulator
- User chooses between pallets
- Blocks added by dragging
- User is able to configure various blocks by
clicking on switches - Connections created by drawing lines between
blocks - User can create, experiment, test and configure
design
Button
25Related Uses Embedded System Development with
Sensors
- Can greatly simplify coding and reduce
development time - Interface to PC, cell phone, PDA also possible
- e.g., Front-end to smart home system
yes/no
1/0
Micro- processor
yes/no
1/0
26Other Uses Sensor Network Front-End
- Front end to existing/evolving sensor network
nodes (e.g., motes)
Mote
27eBlocks as a Programming Paradigm
- Use virtual blocks in graphical simulator to
describe desired sensor system behavior - Intuitive due to spatial emphasis, not temporal
emphasis - Automatically compile to code on programmable
eBlocks
28eBlock Tool Generates Code
- Tool generates C code automatically
C Code
- Download code to block with click of a button
- Ordinary users can write programs in minutes
- Spatial vs. temporally-oriented language
- 20 high school graduates eBlocks (spatial) vs.
LEGO Mindstorms (temporal), 6 example systems, 40
minutes to build
29Summary and Current Focus
- eBlocks enable large segment of population to
build customized sensor systems themselves - Current focus Applications
- Hearing/vision impaired customize homes
- Aging at-home parents privacy-respecting
monitoring (live at home longer) - Middle school kids excite them about
engineering - Univ. of Arizona also researching education
aspect - Engineering fast prototypes
- Patent pending, likely to be commercialized in
next 5 years