Toor con2010 - w0z

22
HARDWARE WILL CUT YOU amanda w0zniak

description

Toor con2010 - w0z

Transcript of Toor con2010 - w0z

Page 1: Toor con2010 - w0z

HARDWARE WILL CUT YOU

amanda w0zniak

Page 2: Toor con2010 - w0z

Electrical engineering is a discipline like any other, you learn by experience and mistake.

The design process is part intuition, part art and all iterative tenacity.

There is no “black magic,” about hardware, just physics and RTFM.

Dive in with an Arduino and ‘The Art of Electronics,’ and don’t wuss out while you’re getting up the learning curve.

This talk is not about circuit design

Page 3: Toor con2010 - w0z

When you are building hardware, you have to physically instantiate your idea.

Each instantiation (required to debug problems and test concepts) takes time, money, materials and skills.

Compile times are counted in weeks. A working design means you are only

15% done and that the fun part is over. Software project models do not apply.

Hardware is WAY different from software

Page 4: Toor con2010 - w0z

Hardware is made of PARTS: aka resistors, ICs, switches, batteries and wires combine to make CIRCUITS

You buy parts from distributors like Digikey and Mouser

Every part has a data sheet For a prototype, you can connect parts by

hand ad-hoc and then hack away If it works, stuff happens, you move on If it doesn’t work, you RTFM

Hardware Definitions: Intro

Page 5: Toor con2010 - w0z

Hardware Definitions: CAD

EAGLE, Cadence, PCBXpress, Mentor

CAD = Computer Aided Design We don’t make circuit boards by drawing out

traces by hand and masking photo resist with tape (why it’s called “tape out”)

Instead, we use 15 year old software suites

Page 6: Toor con2010 - w0z

Hardware Definitions: Libraries

A “part” or “device” in CAD consists of a “footprint/package” and a “symbol”

Your “library” holds all of the devices for your design

= +

Page 7: Toor con2010 - w0z

Hardware Definitions: using CAD

You “design” in a “schematic” The CAD program (eagle, cadence, pcbxpress)

extracts a “netlist” from the schematic to create a “layout”

You “route” all the IRL copper to connect the devices according to your schematic design.

Page 8: Toor con2010 - w0z

Hardware Definitions: Fab

Once you are done with your “layout,” you extract “gerbers,” aka executable design files

A “fabrication house” takes your gerbers and makes a printed circuit board for you

An “assembly house” takes your PCBs and your physical parts, your BOM list and assembles your hardware

All of these steps can be done by hand, and all the steps are required even with DIY

Page 9: Toor con2010 - w0z

Prototypes vs. Production

Page 10: Toor con2010 - w0z

Prototypes vs. Production

Page 11: Toor con2010 - w0z

Production vs. Prototype

Page 12: Toor con2010 - w0z

Common mistakes that will cut you:

non-DFM device footprint (YETDA! YETDA! YETDA!)

Schematic symbol error (rotated FET syndrome)

Non-validated prototype (due to part unavailability or failure to schedule properly)

Non-validated components (sourcing from china or last-minute substitutions)

Page 13: Toor con2010 - w0z

It is possible to be perfect

Page 14: Toor con2010 - w0z

YOU CAN MAKE HARDWARE TOO

you don’t need to be an MIT engineer

Page 15: Toor con2010 - w0z

Do not “begin at the beginning.” Start at the end. Estimate lead times: assembly,

fabrication, shipping and BOM cost. Back out cost vs. time and quantity. Select obtainable, known components. Curate your CAD library. Validate your design implementation. Iterate design through prototypes.

Hardware design is back-loaded

Page 16: Toor con2010 - w0z

A good designer considers every layer of “fabrication,” from PCB limitations to the end assembly method in order to make a good design that can be built to specification, on schedule and on budget.

Curate as you go. You will be too tired to remember, let alone correct, any of your implementation errors post-facto.

Sorry: Abstractions do not exist

Page 17: Toor con2010 - w0z

a BOM is the list of all components that are in your design (resistors, ICs, modules, connectors, etc)

Reference Designator (R1, U28) Component ID (Digikey/Mouser #) Component Count and Cost Footprint (SOIC-8, TSSOP, 0402) Use/Purpose/Function/Sub-circuit CAD Status

Hardware Jargon: Bill of Materials

Page 18: Toor con2010 - w0z

A BOM is just a spreadsheet... a very very very useful spreadsheet

Page 19: Toor con2010 - w0z

Connections in schematics are called “nets” A “netlist” is the list of all the nets in your

design Use a netlist to validate what you built from

what you meant to build (LVS verification)

Brandon & I co-wrote the netlist to keep the signal names equal between the board and the code.... in a spreadsheet

More Jargon: Netlist

Page 20: Toor con2010 - w0z

there’s a full Eagle library, schematic, layout, gerber package and BOM for the ninja boards in my public directory

download it, start messing around.

http://web.mit.edu/~awozniak/www/ninjas/

Want to make hardware? Start with open-source designs.

Page 21: Toor con2010 - w0z

START BUILDING STUFF & ASK QUESTIONS

but now we’re out of time

Page 22: Toor con2010 - w0z

HERE ARE SOME RESOURCES FOR HARDWARE BEGINNERS

THAT LADYADA PUT TOGETHER JUST FOR YOU

until next time...

http://www.adafruit.com/ tutorials