SlideShare a Scribd company logo
1 of 22
amanda w0zniak
 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.
 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 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
 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
 A “part” or “device” in CAD consists of a
“footprint/package” and a “symbol”
 Your “library” holds all of the devices for your
design
= +
 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.
 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
 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)
you don’t need to be an MIT engineer
 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.
 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.
 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
 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
 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/
but now we’re out of time
until next time...
http://www.adafruit.com/  tutorials

More Related Content

Similar to Toor con2010 - w0z

How to search for a good quality pcb designing
How to search for a good quality pcb designingHow to search for a good quality pcb designing
How to search for a good quality pcb designingCrimp Circuits Inc
 
Embedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptxEmbedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptxaartis110
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduinoavikdhupar
 
The circuit diagram from wonderful pcb board
The circuit diagram from wonderful pcb boardThe circuit diagram from wonderful pcb board
The circuit diagram from wonderful pcb boardlegirer pcbboardsz
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1Felipe Belarmino
 
A new way to inspire and stimulate learning
A new way to inspire and stimulate learningA new way to inspire and stimulate learning
A new way to inspire and stimulate learningLee Stott
 
The IoT Academy IoT training Arduino Part 1 basics
The IoT Academy IoT training Arduino Part 1 basicsThe IoT Academy IoT training Arduino Part 1 basics
The IoT Academy IoT training Arduino Part 1 basicsThe IOT Academy
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDXJohnny Parrales
 
PCB View Station
PCB View StationPCB View Station
PCB View StationMike Wilson
 
Electronic Design Automation
Electronic Design AutomationElectronic Design Automation
Electronic Design AutomationCADD Centre
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hqAndreis Santos
 
Essentiality of computer & computer tool in engineering1
Essentiality of computer & computer tool in engineering1Essentiality of computer & computer tool in engineering1
Essentiality of computer & computer tool in engineering1Lavanya V
 
SKAD Electronics Training Manual.pdf
SKAD Electronics Training Manual.pdfSKAD Electronics Training Manual.pdf
SKAD Electronics Training Manual.pdfKadiriIbrahim2
 
Larson and toubro
Larson and toubroLarson and toubro
Larson and toubroanoopc1998
 
Designing, Fabricating, and Building an Electronic Badge
Designing, Fabricating, and Building an Electronic BadgeDesigning, Fabricating, and Building an Electronic Badge
Designing, Fabricating, and Building an Electronic BadgeJim Apger
 
Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2Michael Stal
 

Similar to Toor con2010 - w0z (20)

How to search for a good quality pcb designing
How to search for a good quality pcb designingHow to search for a good quality pcb designing
How to search for a good quality pcb designing
 
Embedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptxEmbedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptx
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
CAD.ppt
CAD.pptCAD.ppt
CAD.ppt
 
The circuit diagram from wonderful pcb board
The circuit diagram from wonderful pcb boardThe circuit diagram from wonderful pcb board
The circuit diagram from wonderful pcb board
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1
 
A new way to inspire and stimulate learning
A new way to inspire and stimulate learningA new way to inspire and stimulate learning
A new way to inspire and stimulate learning
 
The IoT Academy IoT training Arduino Part 1 basics
The IoT Academy IoT training Arduino Part 1 basicsThe IoT Academy IoT training Arduino Part 1 basics
The IoT Academy IoT training Arduino Part 1 basics
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDX
 
PCB View Station
PCB View StationPCB View Station
PCB View Station
 
Electronic Design Automation
Electronic Design AutomationElectronic Design Automation
Electronic Design Automation
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hq
 
Ardx experimenters-guide-web
Ardx experimenters-guide-webArdx experimenters-guide-web
Ardx experimenters-guide-web
 
Essentiality of computer & computer tool in engineering1
Essentiality of computer & computer tool in engineering1Essentiality of computer & computer tool in engineering1
Essentiality of computer & computer tool in engineering1
 
Resume-Shams_v3
Resume-Shams_v3Resume-Shams_v3
Resume-Shams_v3
 
SKAD Electronics Training Manual.pdf
SKAD Electronics Training Manual.pdfSKAD Electronics Training Manual.pdf
SKAD Electronics Training Manual.pdf
 
Larson and toubro
Larson and toubroLarson and toubro
Larson and toubro
 
SNIGDHA'S FINAL YEAR SEMINAR REPORT
SNIGDHA'S FINAL YEAR SEMINAR REPORTSNIGDHA'S FINAL YEAR SEMINAR REPORT
SNIGDHA'S FINAL YEAR SEMINAR REPORT
 
Designing, Fabricating, and Building an Electronic Badge
Designing, Fabricating, and Building an Electronic BadgeDesigning, Fabricating, and Building an Electronic Badge
Designing, Fabricating, and Building an Electronic Badge
 
Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2Oop 2014 embedded systems with open source hardware v2
Oop 2014 embedded systems with open source hardware v2
 

More from ada fruit

A non-copyright circumventing application of the HDCP master key
A non-copyright circumventing application of the HDCP master keyA non-copyright circumventing application of the HDCP master key
A non-copyright circumventing application of the HDCP master keyada fruit
 
WHY DO OPEN SOURCE HARDWARE
WHY DO OPEN SOURCE HARDWAREWHY DO OPEN SOURCE HARDWARE
WHY DO OPEN SOURCE HARDWAREada fruit
 
How to start a kit company
How to start a kit companyHow to start a kit company
How to start a kit companyada fruit
 
Open source hardware - foo camp east 2010
Open source hardware - foo camp east 2010Open source hardware - foo camp east 2010
Open source hardware - foo camp east 2010ada fruit
 
Open source hardware and the web
Open source hardware and the webOpen source hardware and the web
Open source hardware and the webada fruit
 
open source hardware overview
open source hardware overviewopen source hardware overview
open source hardware overviewada fruit
 

More from ada fruit (6)

A non-copyright circumventing application of the HDCP master key
A non-copyright circumventing application of the HDCP master keyA non-copyright circumventing application of the HDCP master key
A non-copyright circumventing application of the HDCP master key
 
WHY DO OPEN SOURCE HARDWARE
WHY DO OPEN SOURCE HARDWAREWHY DO OPEN SOURCE HARDWARE
WHY DO OPEN SOURCE HARDWARE
 
How to start a kit company
How to start a kit companyHow to start a kit company
How to start a kit company
 
Open source hardware - foo camp east 2010
Open source hardware - foo camp east 2010Open source hardware - foo camp east 2010
Open source hardware - foo camp east 2010
 
Open source hardware and the web
Open source hardware and the webOpen source hardware and the web
Open source hardware and the web
 
open source hardware overview
open source hardware overviewopen source hardware overview
open source hardware overview
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Toor con2010 - w0z

  • 2.  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.
  • 3.  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.
  • 4.  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
  • 5.  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
  • 6.  A “part” or “device” in CAD consists of a “footprint/package” and a “symbol”  Your “library” holds all of the devices for your design = +
  • 7.  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.
  • 8.  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
  • 9.
  • 10.
  • 11.
  • 12.  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)
  • 13.
  • 14. you don’t need to be an MIT engineer
  • 15.  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.
  • 16.  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.
  • 17.  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
  • 18.
  • 19.  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
  • 20.  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/
  • 21. but now we’re out of time

Editor's Notes

  1. Hi. My name is Amanda, people call me ‘w0z’ and it’s no relation. Welcome to my talk – Hardware will Cut You. And you’ve ever gotten a ninja badge, you know *my* hardware *will* cut you (and bleed you real quiet-like), just ask Dan Kaminksy.
  2. If you want to be a Kingpin- or Ada-class destroyer, you’re going to have to set a few things on fire. Arduino is a great platform to start out with, I have grad students use it all the time. Also, ‘Art of Electronics’ is not a textbook, it is a cookbook. It gives you recipes that you can make and have come out as smoking non-functional biscuits while you’re finding your ass with both hands.
  3. In software, often times the design of the software implementation is concurrent with writing it. Which is to say, you can hack around and let software develop fully formed – most of you probably don’t sit down and draw out the network abstraction layers and plan out protocols based on flow charts. You just sit down and work, and when you’re done, you have something to show. Hardware isn’t like that.
  4. Here’s a summary of hardware terms that you’ll need to know, if you aren’t already familiar with them.
  5. All the traditional hardware design work is done in CAD and can refer to schematic entry or layout. Both require skill sets in the tools and common sense about what is and isn’t physically feasible. All the software is old and doesn’t have features that you think it should have.
  6. Your CAD design requires you to define parts and they have to exactly match the part you’re going to be using IRL. This connection of logical data gets stored in a CAD library. If you get it wrong at the library level, your board will not work. Propagated errors are the bane of hardware design. Sure, you can get libraries from other people, but, hey, you know. Trust but verify.
  7. So, when you use CAD, you abstract the logical connections of your design (a schematic) from the actual physical construction and implementation of your design (a layout). If your CAD program is any good, it will propagate logical changes from the schematic to the layout and visa versa. This is called cross-annotation or backwards annotation. If you EVER make your two file types inconsistent, you will have to start over from the beginning. Most CAD programs don’t have the state of PhotoShop, in part, because you’re expected to be an expert to use them.
  8. After you make your design files, then you generate gerbers and stuff that are used for fabrication and assembly of your hardware. Think of it like the EXE output of the CAD process.
  9. You might say, “Wow, those prototypes look nothing like the final design,” and that is, at long last, the point of this talk. Neither one of these boards had intermediate versions and all the blue-wire hacks are really minimal, which doesn’t matter because the build quantity was less than 20.
  10. You might say, “Wow, those prototypes look nothing like the final design,” and that is, at long last, the point of this talk. Neither one of these boards had intermediate versions and all the blue-wire hacks are really minimal, which doesn’t matter because the build quantity was less than 20.
  11. HOWEVER, SUDDENLY PROBLEMS BECOME REALLY IMPORTANT WHEN YOU MAKE 500 OF SOMETHING. And with quantity, specs and deadlines, things break and they break badly. Getting something into production is actually a really painful process. And if you do it wrong, IT WILL CUT YOU.
  12. The difference between making five of something and five HUNDRED of something is that any mistake you make, in technical implementation, design, schedule or cost is amplified to the point where it can make the entire project an abject failure. These are the classes of errors that will cut you. Now, in 2009, Brandon and I knew from the beginning that we’d be building the ninja badges by hand and by ourselves and we took some license and made some shortcuts related to assembly prep. If we had been more thorough (aka, if we’d been unable to devalue the cost of impatience to our future selves) we would half caught these errors... because we would have been appropriately paranoid. as it is, my friends in boston and his friends in LA came out to the assembly party and made the project happen just under the wire.
  13. And here’s the proof that history doesn’t have to repeat itself. After all the SNAFU of 2009, the 2010 ninja hardware was perfect. We succeeded by keeping track of all of the board designs. I got everything into the library early. the only revs of the prototypes were done to check silkscreen and logos and to tweak the components for design for manufacturability. How do you learn DFM? I learned it from the ex-military guys who were the CAD team at analog and i thought about, “if i were a machine, how would i put this part on this board?” Parts were ordered early. Costs for assembly were negotiated down in advance. And I was super-friendly with my vendors and self-documented the schematic and layout as i went. We paid cost for assembly and had no downstream problems... unlike 2009. Technical win. However, the project had some bugs. Even while hardware is heavily back-end loaded, play-testing and large-scale deployment is even more so. In 2009, the software took 48 hours to write. In 2010, it was taking weeks. The 2010 Ninja badge was a FIRST TIME RIGHT prototype that was ready two months in advance, but we only had 5 prototype units, because each one took me 5 hours to build (and the prep for mass-manufactured assembly begins only after you’ve got a confirmed design). So. Uber-complex project. Working hardware, behind schedule. Two months to go. Uber complex code, also behind schedule. Brandon and I were a two person team technical team in Boston with a disconnected production team in LA. 5 prototype modules for a massive multiplayer game. It ended up not being feasible to have multiple release deadlines on a project like this, so we didn’t bother. It’s more typical to have as-you-go iterative testing, but that requires manpower. Before Blackhat, no more than two boards were tested at once (two of us, right?), so most of the software bugs didn’t show up until we got the first batch of boards back from assembly, at which point Brandon started finding every bug in the RF block of the MCU and started writing network stacks in assembly. Overall, for the project, we had 99% yield. We hit budget if you don’t count that the feature creep where we added 100 boards to the build order AFTER buying the bulk components from China.
  14. Self-explanatory!
  15. Also self-explanatory.
  16. The heuristic for good design comes from experience and mistakes and the good designer validates at every layer.
  17. You have to make your own BOM – keeping track of it streamlines your design. Some people write BOM extraction scripts based on your CAD library, which don’t help you if your CAD library is a piece of shit. If you download an existing library, like the Sparkfun Library, the Adafruit Library or the EAGLE libraries, you still need to validate your own stuff.
  18. Seriously – set it up so that you’ve got some documentation method that keeps track of what you have and haven’t done in your design. The larger the design, the more important that this is. Because if you omit something, or get a part wrong, or something becomes made of unobtainium, then you WILL BE FUCKED. And I can attest to this design aid because it meant that when I went home for a family emergency to take care of my mom, I could still spec and swap out the cheapo-LEDs in my existing design to add the PLCC2 LEDs we used because the colors just simply *had* to match World of Warcraft. Seriously, LED swap. Seems simple, right? Why bother with an OCD spreadsheet? Well, an LED swap *IS* simple, but so is adding a reverse-protection FET. If you get cocky and you mess up your “Action Items” or “Bug Tracker,” you’ll end up trying to deliver product on a Hail Mary play. It’s better to be thorough than to be a hero.
  19. Design validation is how you tell the difference between what you actually built from what you meant to build. So, while in software you might step through the code, in hardware you’re going to go through your netlist and cross-check net names and actual connections between the pins of different devices with what you connected up in your CAD program. I don’t care if you use a text file, a spreadsheet or a script. It pays to be detail oriented.
  20. The fastest way to hardware is to copy. Copy hard. Copy fast. That’s why the open source hardware movement exists, because more of you should be making real, physical things.
  21. And we’re totally out of time.
  22. If you want to get started, go over to the adafruit site and look at limor’s tutorials. she covers cad, sourcing components, libraries, part selection and actual building. she has open source kits and she links to tons of people working on tons of projects. it’s a good place to get started.