61
Rapid Iteration for an Internet of Things Jeff McAlvay, Tempo Automation

Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Rapid Iteration for an Internet of Things

Jeff McAlvay, Tempo Automation

Page 2: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What is the Internet of Things?

As with any new field, there are many names, and concepts are still being formed

• Internet of things (Kevin Ashton at MIT)• Internet of everything (Cisco)• Industrial internet (GE)• Smarter planet (IBM)

Page 3: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

A framework for understanding: John Boyd’s OODA Loop

The one who cycles fastest succeeds

Observe

Orient Decide

Act

Page 4: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Automating the OODA Loop

• Boyd came up with the OODA loop to describe effective human thought and action

• The internet has begun to automate it• The internet of things will finish automating it

Page 5: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Internet begins automating OODA

Enter

Orient Decide

Read

Observe Act

Machine learning

Human senses

Page 6: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Internet of Things completes OODA automation

Orient Decide

Observe Act

Machine learning

Page 7: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What is the internet of things?

• Connection of sensors and actuators to the internet– Observe (sensors) and Act (actuators) are

happening in devices– Orient (databases) and Decide (machine learning)

are happening in the cloud

Page 8: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Example: grocery store inventory management

Page 9: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Grocery inventory management:Internet

Enter

Orient Decide

Read

Observe Act

Algorithm decides whento purchase more

Employee countsinventory

Employee Enters count into handheld

Inventory is stored indatabase

Purchasing agent sees inventory on screen

Purchasing agent places order

Page 10: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Grocery inventory management: Internet of Things

Orient Decide

Observe ActRFID capturescurrent inventory

Inventory is stored indatabase

Algorithm decides whento purchase more

Algorithm automaticallyplaces order

Page 11: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What do you get from it?• Observation and action benefit from the ability to

happen – Sensing cost is lower -> can collect data at bigger scale

(temporally and spatially)– Allows you to be super-responsive (feedback loop is

tighter) -> accuracy/robustness increase– As sophisticated software lives in simplistic hardware (see

Twilio’s Jeff Lawson: http://www.slideshare.net/twilio/2013-02-software-people-10-minute-version slides 36-45), radical changes in functionality are possible through remote updates

• Orient and decide benefit from huge storage and computational power

Page 12: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Applications: Business

• Inventory/Logistics– Walmart’s RFID on inventory– Parlevel systems vending machines– UPS’s GPS tracking on trucks

• Maintenance (conveyor motors report health)• Energy (smart meters / power grid)

Page 13: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Applications: Consumer• Quantified self / predictive medicine

– Fit bit– Nike Fuel band

• Smart Home– Lockitron– Nest

• Tesla with smart dash board (can send updates to it)• Wearables / Augmented Reality?

– Watches (e.g., Pebble, MS, Apple, Samsung, etc.)– Glasses (e.g., Google, Epson)– UC Boulder Robotics: a shirt for folks who can’t hear well that

vibrates when there’s a loud noise (e.g., fire alarm, car horn)

Page 14: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Big opportunity

• Lots of devices: 31B devices connected by 2020 (Intel)

• Lots of money (Cisco):– $613B in 2013– $14.4T in 2023

Page 15: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What’s required for the Internet of Things?

• Necessary components that exist/are on the way– Software and hardware collaboration tools– Data science– Cheap sensors and actuators– Standardized interface between sensors/actuators and

internet– Software iteration: fast and free– Software scalability: effortless

• Limiting factors– Hardware iteration: glacial and expensive– Hardware scalability: tedious

Page 16: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Collaboration tools = open source modules + version control

Software Hardware

Page 17: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Data science = large scale, computer-aided inference

• Facebook/google – what ad does this person want to see?

• Pandora – what music does this person want to listen to?

• Netflix – what move does this person want to watch?

• Airbnb – what house will this person want to stay in?

Page 18: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Cheap sensors and actuators

• Developed for military, industrial plants• 3D Robotics’ Chris Anderson: Phones have

made them cheaper

Page 19: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Standardized interface between sensors/actuators and internet

Internet Microcontroller Sensors and actuators

Wireless:BluetoothZigbeeWiFiCell

Electrical:I2CSPIGPIO

Page 20: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Attempts at standardization

• Raspberry Pi

• Beagle Bone Black

• Pinoccio

• Sparkcore

Page 21: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Software iteration: fast and free

• Continuous deployment (e.g., IMVU deployed code 50 times per day); made possible by:– Single line deployment scripts– Automated testing

• Marginal cost per deployment is basically zero

Page 22: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Software scalability: effortless

• For small, medium, large traffic sites, trivial to add capacity on Amazon Web Services Elastic Compute Cloud

• Limit: when you have huge traffic (e.g., if you’re Google, Facebook), it makes sense to host yourself. Even there, you have lot’s of tools:– Rackspace OpenStack for software– Facebook Open Compute for hardware– Hadoop for distributed data storage/analysis

Page 23: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

“With hardware, it’s a weeks-to-months iteration cycle, instead of the hours-to-days cycles that we enjoy in Web Development.”

–Sally CarsonPinoccio, Internet of Things Company

Hardware iteration: glacial

Page 24: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Why is hardware iteration glacial?

Page 25: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe
Page 26: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Hardware iteration: expensive

It’s as if pressing compile cost $1400.

Boards 3 days 1 week 2 weeks 1 month

1 $1872.53 $1387.31 $911.42 $801.27

10 $3348.60 $2366.40 $2109.30 $1728.55

100 $10,006 $6570.94 $4279.00 $3686.75

Page 27: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Hardware scaling: tedious

“Many hardware startups stumble when they try to go from prototype to large-scale manufacturing. There is no AWS-equivalent for hardware. To get manufacturing right, entrepreneurs often end up living in China for months and even years.”

-Chris Dixon, Andreessen Horowitz

Page 28: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What about Arduino?

Page 29: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Arduino benefits

• Great UI (simple programming language, one click firmware flashing; Banzi: “it’s users not megahertz”)

• Can prototype quickly (just unplug and replugwires into breadboard)

• Great community (open source blocks of code for using different sensors)

Page 30: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Why not Arduino• Not digital fabrication

– Changes in CAD still faster than changing wires– Can’t send picture of your breadboard to manufacturer

• Through hole vs. surface mount– Industry moved to surface mount in the 80s (except some big caps and

connectors) -> very basic selection of components (Sparkfun and Adafruit have tried to blunt this with breakout boards, but still can access only fraction of modern components)

– Big, fragile -> makes integration into IoT devices difficult (not in Pebble or Google Glass…)

– Can’t scale due to high raw component costs and manufacturing costs (through hole is handle assembled vs. machine assembled) -> will have to convert from through hole to surface mount when scaling (time consuming!—prototype should match production when possible)

Page 31: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What about hand surface mount assembly?

• Surface mount components are small and getting smaller. E.g., 0402 (roughly 0.04” x 0.02” = 10 hairs by 5 hairs)

• Requires fine motor control (can’t do after coffee)

• Should engineers be designing boards or training for a sweat shop?

• Not scalable

Page 32: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

How can we get rapid, free iteration & effortless scalability with hardware?

• Where is hardware’s single line deploy script?• Where is hardware’s AWS EC2?

Page 33: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

A model: desktop printing

Page 34: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

It used to be slow, expensive, and not scalable…not unlike

electronics manufacturing today• Dozens of hours to typeset each page• Required $100k+ photo typesetters• Example of the process:

http://commfaculty.fullerton.edu/woverbeck/dtr5.htm

Page 35: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Now…

Page 36: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Document printing:hardware interaction

Page 37: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Document printing:software interaction

Page 38: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Print

Page 39: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

How many?

Page 40: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Done!

Page 41: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

“In 1987, my father bought a Macintosh SE and a LaserWriter IISC. With the help of the page layout program Aldus Pagemaker, he designed company letterhead, business cards, and product spec sheets for his small company (five employees total). With the Mac/LaserWriter combo, a small business like his could afford to design and produce professional quality literature on par with that of a major corporation.” – Benj Edwards

Page 42: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

What if electronics manufacturing were like document printing?

Page 43: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Introducing

Page 44: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Electronics manufacturing: hardware interaction

Page 45: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Electronics manufacturing:software interaction

Page 46: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Make

Page 47: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

How many?

Page 48: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Done!

Page 49: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

How does it work?

Page 50: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

PCB Fabrication Solder paste application

Pick and place Reflow Testing

Page 51: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Facebook Open Compute Hardware Hackathon: some steps automated,

some steps manual. When we’re done, all steps will be automated.

Page 52: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Example project: Centaur II

Plugs into a car’s diagnostic port (OBD II) and makes information about a car (e.g., braking, lights, locks) accessible on the web. Applications include collision detection.

Page 53: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

PCB Fabrication

Page 54: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Solder paste application

Page 55: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Drilling

Page 56: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Pick and Place

https://www.facebook.com/groups/opencompute/permalink/568193126566004/

Page 57: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Reflow

Page 58: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Ready to go!

Page 59: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

How can we get rapid, free iteration and effortless scalability for hardware?• Where is hardware’s single line deploy script?• Where is the hardware’s AWS EC2?

Page 60: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

Follow us on:tempoautomation.comtwitter.com/TempoAutomationfacebook.com/tempo.automationhttp://bit.ly/172IWvs

Bay Area Factory Tours www.meetup.com/Bay-Area-Factory-Tours

Hardware Office Hourshttp://bit.ly/15chw4W

Page 61: Rapid Iteration for an Internet of Things€¦ · The one who cycles fastest succeeds Observe Orient Decide Act. Automating the OODA Loop • Boyd came up with the OODA loop to describe

References and Resources• John Boyd http://www.amazon.com/Boyd-Fighter-Pilot-Who-

Changed/dp/0316796883/• GE http://www.gereports.com/meeting-of-minds-and-machines/• Cisco http://gigaom.com/2013/06/28/ciscos-internet-of-things-vision-is-

more-about-services-than-gear/• Intel http://newsroom.intel.com/docs/DOC-2297• http://postscapes.com/• IMVU http://www.startuplessonslearned.com/2009/06/why-continuous-

deployment.html• Advanced PCB required files http://www.4pcb.com/pcb-file-generation/• Screaming circuits required files

http://www.screamingcircuits.com/Home/HowItWorks#whatweneed• Contract manufacturing costs from Screaming Circuits / Sunstone• Apple LaserWriter

http://www.macworld.com/article/1150845/laserwriter.html