Title: Electronic Blocks The Wood and Nails of SensorBased Embedded Systems
1Electronic Blocks -- The Wood and Nails of
Sensor-Based Embedded Systems
Frank Vahid Professor Dept. of Computer Science
Engineering, University of California,
Riverside (Also with the Center for Embedded
Computer Systems, UC Irvine) http//www.cs.ucr.edu
/vahid, http//www.cs.ucr.edu/eblocks
Graduate Students Susan Cotterell (Lysecky),
Ryan Mannion, David Sheldon, Kelly Stephenson
(graduated MS) This work is being supported by
the National Science Foundation (CCR-0311026)
2Introduction
- 1998 Simple Problem
- Garage door open at night
- Simple system
- If garage open at night, blink LED in bedroom
3Investigated Solutions -- None Easy
- Basic components
- Contact switch, light sensor, logic IC,
microcontrollers, wireless tx/rx, LED - Issues electronics, programming, development and
test equipment - Home-automation components (X10)
- Electric outlet oriented, home automation
focused, non-intuitive - Off-the-shelf solution
- Costly (75), hard to find, not customizable
(two garage doors?) - Gave up, but noticed missing technology
- Why cant I just connect a contact switch, light
sensor, logic, transmitter, receiver and LED?
4Noticed Similar Problems for a Few Years
- Applications
- Sleepwalker detector (from friend, then nursing
home employee) - Conference room occupied status system (company)
- Temperature logging system (department, proof of
building AC problems) - Endangered species video system (colleague in
environmental science) - Carpooler arrived notifier (friend)
- Second home water leak detector (insurace
underwriter) - Large domain, all buildable with right
sensor-based blocks
5Revisited in 2001
- Electronic Building Blocks -- senior design
project - Two A students
- Did terrible
- Blocks not intuitive, not power efficient,
limited applications - Problem was harder than originally thought
- Previous research didnt help
- Educational blocks
- Logiblocs, MagicBlocks, Logidules
- Board based, non-intuitive, not low power
- Electronic Blocks (Legos)
- Simple toy for young kids
- Programming for novices
- Lego Mindstorm (MIT research), Phidgets, Robobrix
- Teaches programming using robot, several-day
learning curve
6Observation and Solution
- Observation Microprocessors cheap/smaller
- Solution Put microprocessor in dumb components
(sensors, buttons, LEDs) to enable easy
connection - eBlocks
- Easy-to-use matchbox-sized embedded system
building Blocks -- just connect - No voltage issues, programming, development
tools. Garage-open-at-night buildable in minutes.
Huge variety of applications. - Lasts for years or more
- The wood and nails of embedded systems
- Enables novices to build useful systems
- Skilled users can do even more
- 2003 NSF project began
Courtesy of Joe Kahn
7Research Issues
- Human-computer interfacing
- Block set for novices
- Design individual blocks
- Communication
- Need new digital abstraction
- Mass producible but tunable nodes
- CAD tools for novices
81. HCI -- Block Set Definition
- Block set for novices
- Tradeoff
- Coarse-grain blocks simple library, intimidating
block - Fine-grain blocks simple blocks, intimidating
library (and networks) - Built 100 physical prototypes
- Observed dozens of people (college, high-school,
senior citizens, kids) - Built simulator -- more people
- http//www.cs.ucr.edu/eblocks
vs
91. HCI Block Set Definition
- Yes/no blocks
- Block set
- Sensors (motion, light, button, ...)
- Output (LED, buzzer, electric relay, logger)
- Compute
- Combine, Invert, Yes Prolonger, Toggle, Once-yes
Stays-yes, Pulse Generator - Result of several iterations and refinements
Found yes/no better than 0/1, true/false, on/off
Found users need to see yes/no values
in
in
Was logic
out
out
out
prolong time
Was delay
Was tripper
101. HCI -- Design of Individual Blocks (Logic)
- Previous research -- Everyday people dont do
logic, confuse AND/OR - Young, D. and Shneiderman, B. A Graphical
Filter/Flow Representation of Boolean Queries A
Prototype Implementation and Evaluation. Journal
of American Society for Information Science 44
(1993). - Pane, J. and Myers, B. Tabular and Textual
Methods for Selecting Objects form a Group. Proc.
Visual Languages (2000). - We wanted a single block easier to change, fewer
blocks in network - Collaborated with Crista Lopez, HCI researcher
(UC Irvine) studies ongoing
Original logic block -- Complete failure
Slightly better, still lt20 success
1
2
50-60 success (90 with some training), but not
general
Work ongoing for integer blocks
112. Communication
- Continuous voltage between blocks -- too much
power - Need packets microprocessor can sleep between
- Need new digital abstraction mapping packets to
Boolean signals - Like mapping of voltage levels to Boolean signals
- Shannon, C. A Symbolic Analysis of Relay and
Switching Circuits. Trans. AIEE, Vol. 57, 1938,
pp. 713-723, Dissertation, Electrical Engineering
Department, MIT, Cambridge, 69, 1940.
122. Communication -- Digital Abstraction
- Mapping packets to a continuous model
desired signal
time
packets sent on signal changes only
f
t
f
Problem What if source fails or is disconnected
-- indistinguishable from continued false
Solution define maximum inter-packet time
constraint
lt
lt
maximum inter-packet time violation causes error
values in the received signal
error
error
lt
lt
f
t
f
f
sending packets on signal changes and within
maximum inter-packet time would result in the
desired signal being received
f
132. Communication -- Digital Abstraction
- Problem sink node designer must know minimum
packet separation, lest he/she overdesign - Solution define minimum inter-packet time
- Creates tradeoffs for source node designers too
- Several similar issues (e.g., treatment of
errors, startup conditions, block latency, etc.).
- Resulting constraints define a node technology
library
Solid basis for node design, composition, and
operation -- work ongoing
143. Mass Producable but Tunable Nodes
- Node performance (lifetime, reliability, ...)
heavily impacted by parameters - Packet constraints, baud rate, voltage levels,
frequency, error checking bits, ... - Observed by us and others
- Adlakha et al 2003 Yuan/Qu 2002 Tilak et al
2002, Heinzelman et al 2000. - Applications performance goals differ
- Lifetime, reliability, responsiveness, ...
- Solution
- Design highly-parameterized node
- Develop methodology for
- Node developer
- Application developer (node user)
Software Configurable Node Parameters
Voltage
0xFF
Clock Frequency
0xC3
Baud Rate
0x1A
Endangered Species Videoing System
1 2 3 4 5 6 7 8 9
AB
Sleepwalker at Night Alarm
0xFF
0xC
0x1
AB
153.Mass Producable but Tunable Nodes --
Methodology
163. Node Characterization
Determine parameters based on hardware options
(uC, sensors, etc) and software options
(protocols, application requirements, etc)
- Done by node developer
- Consists of 3 stages
- Computation and Communication Parameter
Definition - Design Metric Evaluation Equations
- Parameter Interdependence
Based on datasheets, determine interdependencies
between parameters
173. Application Characterization
- Done by Application Developer
- 2 Types of objective functions
- Overall Objective Function
- Weighted sum
- Foverall (A Flifetime) (BFreliability)
(C Flatency) (D Fresponsiveness) - Designer specifies the relative weight
(importance) of each metric - Design Metric Objective Functions
- High-level metrics considered lifetime,
latency, reliability, responsiveness - Designer must specify what values are good and
bad for each metric (1-good, 0-bad)
183. Feedback to Application Developer
- Automated exploration
- Simulated annealing search
- Feedback to application developer
- Ultimately yields tuned parameter values
- Downloaded onto nodes
Config. A
voltage 5V frequency 32k Hz ecc hamming1
Config. B
voltage 4V frequency 300k Hz ecc crc
Prototype tool built, work submitted to upcoming
conference
194. CAD Tools for Novices
- Problem 1
- Application developer may not have full set of
blocks - Solution
- Allow computer-capture using full set, use
technology mapping techniques - Problem 2
- Application developer may create inefficient
solution - Solution
- Allow computer capture, optimize network
- Combine both techniques into CAD tool
Prototype tool built, work submitted to upcoming
conference
205. New Research Direction -- Spatial Programming
of Basic Sensor Networks
- Sensor networks evolving
- Programming is hard e.g., Horton, SECON04
keynote - Sensor network programming languages are for
expert programmers, e.g. - SQTL - Shen, C., C. Srisathapornphat, C. Jaikaeo.
Sensor Information Networking Architecture and
Applications. IEEE Personal Communications,
August 2001. - Sensorware - Boulis, A., M. Srivastava. A
Framework for Efficient and Programmable Sensor
Networks. Open Architectues and Network
Programming Proc., 2002. - But many sensor network developers are not
programmers - Scientists, engineers, healthcare workers,
homeowners, etc. - Programming is difficult for ordinary people
- Pane, J. Myers, B. (1996), McIver, L.,
Conway, D. (1996), Patil, B., Maetzel, K.,
Neuhold, E. (2001), Soloway, E., Bonar, J.,
Ehrlich, K. (1983). - Fortunately, low-end sensor networks require only
simple programming
High-end sensor networks Expert programmers
Low-end sensor networks Non-programming developers
215. Spatial Programming using eBlocks
- Novices had great success build eBlock systems
(physical and on computer) -- use as programming
paradigm
Spatially-Oriented Paradigm
Temporally-Oriented Paradigm
eBlocks
C Code
bool inputA P01 bool inputB P02 bool
output P03 void main() if (inputA
YES inputB YES) output YES
else output NO
µC
LEGO Mindstorms
µC
Programmable eBlock
RCX Brick
225. Spatial Programming using eBlocks
- Tested 20 recent high school graduates
- Asked them to build equivalent systems using
temporal (LEGO Mindstorms) and spatial (eBlocks)
programming paradigms - 30 minutes to build 6 designs
235. Spatial Programming -- Only Minutes to Program
- User captures design using eBlocks Simulator
- Synthesis tools partition design based on types
and number of programmable blocks available - Synthesis tools generates C code for each
partition
include ltpic.hgtinclude sci.h include
io.h include constants.h Unsigned char
data_val ERROR ... main(void) unsigned I,
j TRISB 0 ...
main(void) ORTA 0xff CMCON 0x07
TRISA 0x00 TRISB 0x02 asm("CLRWDT")
...
R. Mannion, H. Hsieh, S. Cotterell, F.
Vahid System Synthesis for Networks of
Programmable Blocks. Design, Automation and Test
in Europe (DATE), March 2005.
245. Spatial Programming -- Only Minutes to Program
- After synthesis, user can program a physical
programmable eBlock via a PC cable
Synthesis
Program a Programmable eBlock
255. Programming Directions
- Increasingly abstract behavior capture
26Future Work Extending eBlocks to Integers
- Extend to integer eBlocks
- Sensors
- Temperature, speed, distance, sound, etc.
- Display
- LCDs (of varying sizes), data logger, etc.
- Communication
- Integer Logic, wireless rx/tx, etc.
- Number of potential embedded systems we can
design increases tremendously - Configuration problem becomes harder
- More options than just yes/no
- Design space becomes larger
27Applications
- Tremendously diverse applications buildable with
just a dozen blocks - Present applications being considered
- At-home monitoring of aging parent to detect
trends or daily situation - with Intel
- Customizable victim notification system
- With ADV, proposal in final stages with DOJ
- Localized organic pesticide meterer based on
insect counts - With ISCA Corp.
- Endangered species videoing system
- With UCR environment science colleagues
28Conclusions
- Everyday people can use eBlocks to build basic
but useful systems - Required careful block set definition and block
design - Extensive ongoing and future research
- Integer blocks
- Digital abstraction
- Mass producable tunable nodes
- CAD for node users
- eBlocks as a spatial programming paradigm