eblocks electronic building blocks for everyone n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
eBlocks -- Electronic Building Blocks for Everyone PowerPoint Presentation
Download Presentation
eBlocks -- Electronic Building Blocks for Everyone

Loading in 2 Seconds...

play fullscreen
1 / 29

eBlocks -- Electronic Building Blocks for Everyone - PowerPoint PPT Presentation


  • 138 Views
  • Uploaded on

eBlocks -- Electronic Building Blocks for Everyone. Frank Vahid Professor Computer Science and Engineering University of California, Riverside (Also with the Center for Embedded Computer Systems, UC Irvine) http://www.cs.ucr.edu/~vahid eBlocks project: http://www.cs.ucr.edu/eblocks

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'eBlocks -- Electronic Building Blocks for Everyone' - Jims


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
eblocks electronic building blocks for everyone

eBlocks -- Electronic Building Blocks for Everyone

Frank Vahid

Professor

Computer Science and Engineering

University of California, Riverside

(Also with the Center for Embedded Computer Systems, UC Irvine)

http://www.cs.ucr.edu/~vahid

eBlocks project: http://www.cs.ucr.edu/eblocks

This work is being supported by the National Science Foundation

my background
My Background
  • I don’t usually starts talks this way, but there’s a reason this time
  • PhD 1994 with Prof. Dan Gajski, UC Irvine
  • DA/CAD for embedded systems
    • Publish in places like DAC, ICCAD, DATE, ISLPED, FPGA, FCCM, ISCA
    • Funding from NSF, SRC, various companies
  • Also involved in embedded system education, extensive lab development

Completing “Digital Design,” J. Wiley and Sons, 2005

J. Wiley & Sons, 2001

Prentice-Hall 1994

Frank Vahid, UC Riverside

the beginnings of eblocks
The Beginnings of eBlocks…

1998 – bought a house

Garage door

Garage door left open at night Oops!

Frank Vahid, UC Riverside

simple enough problem solution not so simple

tx

LED

rx

AND

light

sensor

contact

switch

Simple Enough Problem – Solution not so Simple
  • Alarm company – too expensive
  • Off-the-shelf product – hard to find, too expensive, not flexible
  • What I wanted – electronic components (blocks):
    • Light sensor
    • Contact switch
    • Logic
    • Wireless transmit/receive
    • LED
  • Connect them…done

Frank Vahid, UC Riverside

with my embedded systems background i should be able to solve this not so easy though

LED

rx

tx

AND

light

sensor

contact

switch

With my Embedded Systems Background, I Should Be Able to Solve This! Not So Easy, Though…
  • Catalogs, datasheets, power supplies, compilers, drivers, breadboards, resistors, capacitors, debugging (multimeters, logic analyzers), packet-based networking, …

Frank Vahid, UC Riverside

is it just me

completed

40%

not completed

60%

Is it Just Me?
  • Gave as embedded-system class project
    • Three weeks
    • Students had courses, from various universities, involving digital design, microcontrollers, electronics, and interfacing with sensors/displays
  • 50 students attempted the project, only 20 completed the project (two different quarters)
  • Problems
    • Misunderstanding (or vague) data sheets, interfacing errors, debugging difficulties
  • A regular person can’t build this seemingly simple, useful system
    • Not even perhaps an engineer in a different domain
    • Not even a specialist when he has three kids in soccer

Frank Vahid, UC Riverside

noticed countless applications where electronic blocks would be useful
Noticed Countless Applications where Electronic Blocks would be Useful
  • Home monitoring
    • Garage door open, side fence open, sleepwalk detector, visitor at front door, turn on two lights on porch, extend motion sensor for light in garage, carpooler arrived
  • Stores
    • Restaurants (more rice please), car in store parking spot, customer entered store, aisle popularity
  • Office
    • Front-desk notifiers, meeting room in use, copy machine in use, mail in mailbox, temperature logging
  • School
    • Student voting systems, learning logic, learning arithmetic
  • Assistance
    • Hard of hearing (vibration when sound), vision impaired, object locators, sleepwalker detector
  • Ad-hoc security

Frank Vahid, UC Riverside

individual applications don t justify product but together a huge market
Individual Applications Don’t Justify Product, but Together a Huge Market
  • Volume for “garage open at night” or “sleepwalk detector” individually not big
    • Product not profitable
    • High-cost product
    • Hard-to-find product
    • Typically not customizable
  • But combination of applications results in huge volumes
    • Blocks can be low-cost
    • Key – can we create blocks that people can really use?

Frank Vahid, UC Riverside

need electronic blocks
Need – Electronic Blocks
  • Decided that what is needed is a set of Electronic Blocks
    • The “wood and nails” of electronics
    • Enable novices to build basic useful systems
    • Enable slightly more skilled people to build fairly complex systems (e.g., electrician)
  • Not quite my research area (DA/CAD), but passionate about this

Frank Vahid, UC Riverside

existing electronic block products
Existing electronic block products
  • Board-based – education only, not practical use
    • E.g., LogiBlocs, MagicBlocks
  • Home-automation-centric, not general
    • E.g., Existing X10 products
  • PC-centric – O.K., but not easy to learn
    • E.g. Mindstorm, Phidgets (PC-based robotics)

Frank Vahid, UC Riverside

eblock design principles
eBlock Design Principles
  • Minimal abstraction – for novices
    • Hands-on design (PC O.K. for non-novice)
    • Obvious connectivity using wires
      • Wireless an optional replacement for wires
      • Wires lower-power, longer communication (> 2 miles in test of two 98 cent uC w/ 9-volt. Bat.)
    • Obvious block functions
      • “Combine,” “Prolong” (programmable O.K. for non-novices)
  • Option of battery or wall-powered
    • Battery – should last years
    • Wall – batteries not always necessary

Frank Vahid, UC Riverside

eblock basic abstraction as in our one page user handout
eBlock Basic Abstraction, as in our One-Page User Handout

STEP 1:eBlocks are electronic blocks that you connect like Lego’s to build useful sensor systems around the home, office, etc.

  • Most people don’t do well with abstractions
    • Whereas engineers and programmers thrive on abstractions!
  • Our system uses a “yes”/”no” abstraction
  • STEP 2:Build your first eBlock system – a doorbell!
  • find a button and beeper block
  • turn each block on
  • connect the button to beeper block like this:

Press the button, hear the beep!

Frank Vahid, UC Riverside

eblock basic abstraction as in our one page user handout1

Button

Button

yes

no

red means NO

yellow means ERROR

green means YES

eBlock Basic Abstraction, as in our One-Page User Handout

STEP 3:eBlocks talk over the wires using YES and NO. The button block sends YES when you press the button, and sends NO when the button is not pressed.

The tiny “status” lights blink near an eBlock's wires tell you what's being sent:

Try pressing the button and watching the status lights on the button and beeper blocks.

Yes/No is the main “abstraction” users need to know

Frank Vahid, UC Riverside

basic yes no blocks
Basic Yes/No Blocks
  • Misc
    • Wireless transmit / receive
    • Splitter
  • Output
    • LED
    • Beeper
    • Electric relay
  • Compute
    • Combine (2-input)
    • Opposite
    • Yes prolonger
    • Once-yes, stays yes
    • Toggle
    • Pulse generator
  • Sensors
    • Motion
    • Light
    • Sound
    • Button
    • Contact
    • Switch

We’ve built >100 physical prototypes

Frank Vahid, UC Riverside

eblock technology

“Smart dust”

Courtesy of Joe Kahn

button

wireless tx

eBlock Technology
  • Tiny PIC processor in each block
    • Two-wire connectivity
    • Packet-based serial communication
    • Extensive sleep time
    • Agreed upon wired protocol
  • Research issues
    • 1. New Boolean digital abstraction
    • 2. Multi-layer computation / communication codesign
    • 3. Usability by novices
    • 4. Tools for non-novices

Frank Vahid, UC Riverside

1 boolean digital abstraction

0.8

channel (wire)

Source

Sink

0

continuous voltage, two levels

time

(a)

1

0

(c)

(b)

time

channel (wires or wireless)

Source

Sink

false

true

false

packets containing “true” or “false”

time

1. Boolean Digital Abstraction
  • For packet-based underlying phenomena
    • Rather than continuous voltage

Frank Vahid, UC Riverside

boolean digital abstraction technology family

time

f

t

f

<

<

error

error

(a)

time

<

<

>

f

f

t

f

f

t

f

f

(c)

(b)

>

>

>

f

t

f

t

f

(e)

(d)

Boolean Digital Abstraction – “Technology Family”
  • Send packet for logic change
  • Block “technology family” includes
    • maximum inter-packet time
    • minimum inter-packet time
    • Akin to a logic gate technology family

Frank Vahid, UC Riverside

boolean digital abstraction basic compute blocks

“1” prolonger

node

in

(a)

out

prolong time

in

(b)

Toggle

node

out

A

(c)

Tripper

node

A

Reset

Reset

out

Pulse generator

out

(d)

Boolean Digital Abstraction – Basic Compute Blocks
  • Definition of basic compute blocks
    • Combinational
      • AND/OR/NOT
      • Truth table
    • Sequential
      • Prolonger
      • Toggle
      • Tripper
      • Pulse generator

Frank Vahid, UC Riverside

2 multilayer compute communication codesign

3.6

3.3 - 3.6

Estimated Lifetime

(in years)

3.0 – 3.3

3.3

2.7 – 3.0

3.0

2.5 – 2.7

2.2 – 2.5

2.7

1.9 – 2.2

2.5

1.6 – 1.9

2.2

1.9

1.6

0.5

1

2

3

4

5

14.4K

10

30

60

30

9600

600

4800

2400

1200

Data Timeout

(in seconds)

Baud Rate

2. Multilayer Compute/Communication Codesign
  • §PIC Supply Voltage (V) = {3.0, 3.5, 4.0, 4.5, 5.0, 5.5}
  • §PIC Clock Frequency (Hz) = {32k, 100k, 200k, 300k, 455k, 800k, 1.6M, 2M, 3M, 4M, 5.3M, 7.4M, 8M, 10M, 10.4M, 16M, 20M}
  • §Communication Baud Rate (bps) = {1200, 2400, 4800, 9600, 14.4K, 28.8K}
  • §Data Packet Size = {4 bits, 1B, 2B, 4B}
  • §Data Timeout = {0.25 sec, 0.5 sec, 1 sec, 2 sec, 3 sec, 4 sec, 5 sec, 10 sec, 30 sec, 1 min, 5 min, 10 min, 30 min}
  • §Alive Timeout = {0.1 sec, 0.25 sec, 0.5 sec, 1 sec, 2 sec, 3 sec, 4 sec, 5 sec, 10 sec, 30 sec, 1 min, 5 min, 10 min}
  • §Error Check/Correct (ECC) Strategy = {none, crc, parity, checksum1, checksum2, hamming1, hamming2}
  • Design parameters tightly inter-related
    • Traditional computer-system-design multi-layered, separation of concerns approach not appropriate for energy-sensitive sensor nodes
  • Design metrics
    • Parameters compete in their influence of metrics

§Lifetime – the number of days a block can run powered by a 9-volt battery.

§Reliability – the absence of undetected incorrect data packets.

§Latency – the time for an event to propagate through a block within a network.

§Responsiveness – the time for newly connected blocks to receive good input and behave properly, and for newly-disconnected blocks to behave as disconnected.

Frank Vahid, UC Riverside

multilayer codesign tool
Multilayer Codesign -- Tool
  • Developed CAD tool for block designer (not for the block user)
    • Designer specifies design metric objective functions
    • Tool includes internal estimator relating design parameter values to design metrics
    • Tool explores millions of configurations
    • Outperformed hand design
    • Enables easy re-targeting of blocks to new domain

Frank Vahid, UC Riverside

3 usability by novices

Question

Truth table with variables (11 students)

Truth table with English (9 students)

Motion at night

36%

22%

Motion

0%

56%

Motion at night or no motion in day

0%

22%

2-Input Logic

Motion or night

0%

11%

AB

Button

A

B

Buzzer

Light Sensor

A

B

Output

no

no

no

yes

no

yes

no

yes

yes

no

no

yes

configurable DIP switch

yes

yes

no

yes

Logic Block

3. Usability by Novices
  • Extensive ongoing user studies
    • Dozens of kids ages 10-17
    • 35 high-school kids
    • Hundreds of college students
    • About 15 adults/seniors
  • Hardest block – 2-input logic
    • Previous studies show difficulty with logic
    • Want configurable block, in addition to AND/OR/NOT
    • Initial truth-table design performed poorly

Frank Vahid, UC Riverside

usability by novices logic

Question

(number in parentheses means answer came “close”)

Colored truth table embedded in a sentence -15 students

Daytime doorbell (AB)

47% (67%)

47% (71%)

88% (88%)

Nighttime doorbell (AB’)

33% (52%)

41% (76%)

Motion on property (A+B)

33% (33%)

65% (71%)

yes no

A

B

B

A

yes no

The output should be yes when:

A is yes, B is yes

A is yes, B is yes

A is yes, B is no

A is yes, B is no

When the input is

the output should be

Logic sentence -17 students

Combine

(Motivated students – 8)

A is no, B is yes

A is no, B is yes

A is no, B is no

A is no, B is no

out

Combine

(a)

(b)

A

B

yes no

yes no

When A is

AND OR

yes no

B is

A

B

When the input is

The output should be

A

B

then the output is yes

A

B

Combine

out

A

B

(d)

(c)

Combine

Usability by Novices -- Logic
  • Several iterations of block designs
    • Hundreds of students
  • Ultimately found a logic sentence best
    • Colored truth table the runner up
    • We might provide both
    • Sentence – easier but less general

Frank Vahid, UC Riverside

usability by novices state
Usability by Novices -- State
  • State-concepts perhaps harder to comprehend
  • But usability tests show surpising success for basic systems
    • In less than 10 minutes, with no training, mostly novices (non-scientists, non-engineers)
    • State blocks seem to correspond to common everyday items (toggle light switch, alarm system, beeping alarm clock)

Frank Vahid, UC Riverside

4 tools for non novices

3

5

7

10

3

5

7

10

1

1

1

2

1

2

8

11

8

11

4

6

4

6

1

1

9

12

9

12

0

(a)

(b)

3

5

7

10

3

5

7

10

1

2

1

2

-1

-1

8

11

8

11

4

6

4

6

1

9

12

9

12

0

0

(c)

(d)

3

5

7

10

1

2

8

11

4

6

9

12

(e)

4. Tools for Non-Novices
  • Simulator
  • Optimizer
    • Replace blocks by smaller set, even by programmable blocks
  • User-programmable blocks

Frank Vahid, UC Riverside

continuing work research
Continuing Work -- Research
  • Pubs
    • ISSS/CODES’03
    • IEEE SECON’04
  • Subs
    • 3 to DATE
    • 1 to CHI
  • Extension to integer blocks too
    • E.g., temperature sensor, arithmetic compute
    • Digital abstraction formalizations
  • More usability testing
    • Integer blocks, AND/OR/NOT blocks, logic+state systems
  • More advanced user tools
    • Need a “functional specification” of system, automatically generate system of blocks
  • Improve block-design CAD tool
    • More parameters, easier cost function definition, better analysis
    • Towards sensor-network CAD tool

Frank Vahid, UC Riverside

continuing work evolving towards the digital home

Motion Sensor

eBlock to PC Interface

2-Input Logic

Light Sensor

Continuing Work – Evolving Towards the Digital Home
  • Ultimately, blocks can enhance Intel’s Digital Home efforts
  • Enable user to configure sensor-input to PC-based application
    • Activate Program A (say video recording) when Event X
    • Event X may be defined by arbitrary eBlock system that eventually outputs yes/no to PC
    • Integer blocks provide even more possibilities
      • Turn on AC when average temperature of three sensors exceeds threshold
    • Can naturally lead to users wanting to use PC-based tools to build, configure or optimize their sensor systems

Motion Sensor

Motion Sensor

Motion Sensor

(Logic blocks)

eBlock to PC Interface

Motion Sensor

Motion Sensor

Motion Sensor

Motion Sensor

Frank Vahid, UC Riverside

continuing work middle school eblocks project
Continuing Work – Middle-School eBlocks Project
  • Goal: Begin bringing this technology to the people
  • First step: Bring blocks to middle-school kids with aid of major corporate partner
    • Response by kids and teachers has been great
    • “Hands on” engineering of real systems
      • Natural evolution into both spatial and temporal design
        • State-programming may prove more intuitive than data-transformation-programming
      • Hope to encourage youth to consider engineering at the critical middle school age, when studies show careers get “excluded,” especially by females
    • Blocks can help teach logic
      • A critical skill in the information age, lacking among most

Frank Vahid, UC Riverside

middle school eblocks project
Middle-School eBlocks Project
  • Features
    • Establish key partnership (4Q04)
    • Design and user-test interesting projects (1Q05)
    • Create robust block prototypes for at least two dozen schools (2Q05)
    • Develop teacher kits with blocks and projects (2Q05)
    • Actively visit at least one dozen schools, introduce kits, monitor success (3Q05)
    • Extend kits to PC-based applications
    • 2006: expand project, begin looking at digital home project, possibly startup company
  • Costs (2005)
    • $35-50K grad student design/develop
    • $30-50K prototypes
    • $35-50K staff for school visits
    • Matching funds likely (NSF, UC)

Frank Vahid, UC Riverside

summary
Summary
  • eBlocks stemmed from observation that technology progress seems to have missed something
    • Still need the electronic equivalent of wood and nails
    • Took a risk research-wise; got NSF funding; now committed to seeing this have an impact
  • We designed and tested first set of blocks
    • Now convinced they are usable, useful and interesting
  • Want to take blocks “to the people”
    • First step: middle-school eBlocks project
    • Need major partner to fund, assist, guide, and provide credibility

Frank Vahid, UC Riverside