2. Basic User/System Model
Transform :
Amplify, Div
ide, Encode
Input 1
Input n Present
MessageSignal
Regulator:
Simple
Interface:
Complicated
Reaction
Feedback
3. What is going with Simple and Complicated
Interactions
• Simple : The System’s response consists of:
• Sensing some input or feedback
• Categorizing the inputs/feedback using some basic
logic and thereby producing an output
• Responding with a straightforward message or signal
out like a voltage or current
• Complicated : The System’s response consists of:
• Sensing with a more complicated apparatus like a
monkey brain
• Analyzing the context e.g. pattern recognition
• Responding via a more sophisticated interface
5. What is going with Complex Interactions
• The System’s response consists of:
• Sorting out volumes of data
• Sifting through noise
• Interpreting data using some model – probing the
data looking for patterns
• Sending a transmission resulting in a visualization
• Systems involving learning and changing how the
system works based on those learnings
• Communications between systems are more of a
communications rather than predefined messages.
• Tend to need a vocabulary to express information
6. Basic Project Model
• Scope/Scale
• What does done look like?
• What is goal?
• Who is the audience?
• What are you trying to achieve?
• Schedule – Who is the project for?
• For you: take your time – more on this later
• Someone else: set expectations on quality vs. scope
• Resources and Cost – The Buzz Kill
• Can you spread it over time?
7. Starting on a Project
• How do start to figure out a path to a solution
• Small Prototypes
• Iterate for rapid feedback and learning
• Delay your choices for as long as you can
• Don't beat your self looking for the best solution, look for
the undeniable constraint
• Solutions do not need to be perfect, just effective
• You challenges come from constraints like:
• Bandwidth
• Cost
• Power
8. Bandwidth Impacts the Arrows
Transform :
Amplify, Div
ide, Encode
Input 1
Input n Present
MessageSignal
Regulator
Interface
Reaction
Feedback
9. Engineering tradeoffs - Bandwidth
• How much info are you wanting to transmit
• Can you afford to lose some?
• Streaming can and does
• File Transfer cannot
• Compression can help
• Must your messages be guaranteed to be correct?
• Send multiple times
• Use checksums to confirm an intact message
• Once you decide on your projects bandwidth needs
some choices get made for you with cost and power
10. Communications Technology Options
• High Power – High Bandwidth
• “Regular” Wireless that we all know: Embedded
versions tend to be costly. Medium Range
• Ethernet: Fixed but cheap, medium range 300m
• USB: Short Range and really cheap
• Low Power – Medium Bandwidth
• Zigbee: Long Range, medium cost medium to low
bandwidth http://wiblocks.luciani.org/white-papers/intro-to-zigbee.html
• Bluetooth: Short range, good for audio, costly
• Low Cost - Low Range – Low Bandwidth
• Single direction modem radios
• Check out the options: http://www.sparkfun.com/categories/16
11. Tradeoffs – Cost and Power Choices
• How beefy does your processor need to be?
• Distances over which your project needs to operate
• Where is the power coming from?
• How far to I have to transmit?
• Packaging of the electronics
• Whether you use off the shelf or DIY
• What can you repurpose from the hardware store
• What voltages does the electronics require
• Low power stuff Zigbee and Lilypad 3.3V
• Regular Stuff 5V
12. Examples of Electronics Packaging
• Breadboards: Always a good start, like an electronics
equivalent of a whiteboard
• Perf boards: Simple, good for one offs
• Printed circuits: For when you want more reliability or
produce volume
• Breakout boards: Shortcut for SMDs and introduces an
integration mentality
13. This is your first chance to shut me up
• What projects are you wanting to try out
• We’ll break it down
• We’ll see what are the next steps
• What projects have you started
• What is working
• What is not working and are there constraints
• Or I’ll keep boring you with what I think is important
14. Tools for Electronics
• This link pretty much says it all:
http://www.ladyada.net/library/equipt/kits.html
• For Soldering Iron go with the best you can afford
• Multimeters – Cheapest is good enough for starters
• Other sites for cheap tools
• http://www.harborfreight.com
• http://www.allelectronics.com/
• http://www.goldmine-elec.com/
15. Parts
• Maker Oriented – Growing all the time, just a few
• www.sparkfun.com
• www.adafruit.com
• www.makershed.com
• Specific Components
• www.Mouser.com
• www.digikey.com
• www.newark.com
• EBay is a good place for getting bulk stuff from China
16. Where to go for Inspiration and Help
• Sample of sites
• www.Instructables.com
• www.makezine.com – Magazine is fun
• www.hackaday.com
• Halloween Sites
• Books
• Programming Interactivity
• Make Books
• Answers
• Richmond Dev Jam
• Richmond Hacker Space
• Adafruit Ask an Engineer
17. When Arduino does not fit the bill
• Need more Bandwidth
• Propeller is a cheap multicore embedded processor
• If you need audio or video go for a PC
• Windows/MAC gets you comfortable well supported
environments
• LINUX gets you the option to rightsize the OS
• Big power small size: Keep an eye on Raspberry Pi
• If Arduino is too much? ATTiny
• Try other Arduino Form-factors
18. This is your last chance to shut me up
• What projects are you wanting to try out
• We’ll break it down
• We’ll see what are the next steps
• What projects have you started
• What is working
• What is not working and are there constraints
• Or I’ll use my hypnotic voice which will put you to sleep.
You will wake tomorrow where you are sitting
now, refreshed and late for work/class.
19. One Way to Get the Juices Flowing
• John Cleese (Yes that one) – “Creativity is not a talent. It
is a way of operating
• Need to get to a place where your mind can enter an
“Open Mode” of thinking to pondering the problem
• Once we come up with an option enter a “Closed Mode”
to implement it.
20. STEP 1: Gathering the Raw Mental Materials
• Use the basic project model
• Start to list the constraints you want or know of
• Get some Inspiration
• www.Instructables.com
• www.makezine.com – Magazine is fun
• www.hackaday.com
• Halloween Sites
21. STEP 2: Digesting the Materials
• Break the problem down
• Draw pictures, make mockups
• Make simple prototypes on a breadboard
• Make test rigs using software like Processing
• Use the sample code that comes with the environments
• See if there are libraries that get you there faster
• They abstract some portion of the code
• They leverage the experience of others
• At this point it is about filtering out all the ideas to those
that seem to heading in the right direction for you
22. STEP 3: Unconscious Processing
• Space: You can’t become playful, and therefore
creative, if you’re under your usual pressures.
• Time: It’s not enough to create space; you have to create
your space for a specific period of time.
• Time: Giving your mind as long as possible to come up
with something original. Learning to tolerate the
discomfort of pondering time and indecision
• Confidence: Nothing will stop you being creative so
effectively as the fear of making a mistake.
• Humor: The main evolutionary significance of humor is
that it gets us from the closed mode to the open mode
quicker than anything else.
23. STEP 4: Getting to the “A-HA!” Moment
• Out of nowhere the Idea will appear.
• It will come to you when you are least expecting it
• While shaving, or bathing, or most often when you are
half awake in the morning.
• It may waken you in the middle of the night.
• At this point you go from that open mode to the closed
mode to implement it.
• Be decisive and execute the steps
• Ignore distractions
• Ignore notions of perfection
24. STEP 5: Idea meets Reality
• Avoid focusing on final solutions – its always OK to fail
• Focus on recognizing the constraints
• Which bucket do they fall in?
• What typical trade-offs can you make?
• What did the info gathering show others used?
• Experiment and fail quickly
• Experiment with the bounds of the constraints
• Small iterations
• Step away if it nothing works – go to the open mode