The Complete Hardware Crash Course SXSW 2014 Denis Bohm denis@fireflydesign.com Andrew Sanderson [email protected]
Dec 05, 2014
Team
• Denis Bohm
• Andrew Sanderson
• Kyle Bohm
HO: Hands On
• Follow the tiny URL for details.
• Start anytime. Feel free to jump ahead.
• This is a workshop, so please ask questions.
• Keep it casual. Help each other out. Share what you are doing with others.
• Introductions.
Introduction
• Why use open source?
• Overview of how to leverage open source hardware & software.
• Tips to save iterations.
• Walk through the typical steps from concept to production…
Our Focus
• Quantity matters (1,000 is hard)
• Starting from scratch vs iterating
• Production has unique requirements
Open Source Checklist
• Hardware (electronics, mechanicals)
• Firmware (RTOS, driver, app)
• Software (API, apps, storage, sites)
• Production (sourcing, fixtures, program & test, FCC testing)
• Tools (IDE, SCM, eCAD, mCAD)
Firefly Ice Project
• Wearable & Internet of Things Platform
• ARM Cortex M3, Bluetooth 4.0 LE Radio, USB, Accelerometer & Magnetometer, Rechargeable Battery, etc…
• Open source hardware, firmware, software, production (and a couple of handy tools)
• 1,500 Units for First Customer
HO: Try It Out
• Instructions @ http://tinyurl.com/loc4qne
• Open the Firefly Utility app
• Wake & connect to the Firefly Ice in your parts kit
• Play with the LEDs, check the battery level, and name it
Process
• Now we are going to walk through the process of designing a product.
• Normally, things happen intertwined and in parallel… But we will discuss them as separate items (industrial design, mechanical design, electronic design, etc)
HO: View Mechanicals
• Instructions @ http://tinyurl.com/kx9nel5
• git clone https://github.com/denisbohm/firefly-ice-mechanical.git
• open firefly-ice.3dm in Rhino3D
Industrial Design
• Materials, finishes, colors
• Shape, locations of all visible features: LEDs & USB Connector, impact on PCB
• Markings: Logo, Word-marks, FCC ID, etc
• Mechanical considerations: seams, mold lines, etc…
Mechanical Considerations
• Design for ease of assembly (no rework)
• Design for molding (price, 4 pieces)
• Robust design (drop test, USB wrenching)
Mechanical Design
• Light pipes, color mixing, isolation, co-molding
• USB opening (robustness, splash proofing)
• Battery swell (add battery to 3D model)
• Wire management (photos)
• Mold design, surface finishes (draft, add plastic), thickness (drop test, opaqueness)
HO: Edit Mechanicals
• Instructions @ http://tinyurl.com/l38r5az
• Increase the post length
• Export to STL for prototyping
Mechanical Prototyping
• 3D Printing (Price vs Time) (Personal & Outsourced)
• Milling (Personal & Outsourced)
• Sections vs whole parts
• Production materials vs prototyping
• Colors & Finishes (sand, plate, paint, etc)
Mechanical Future
• Band-Aid: Thinness & Flexibility
• Waterproof: Charging
• Clothing: Power & Communication
Software
• CoreBluetooth, USB HID Manager
• SDK API: detour, executor/observable, manager, sync
• App: discovery, connect, communicate, active/inactive, background/foreground
HO: Using the API
• Instructions @ http://tinyurl.com/knmmxod
• git clone https://github.com/denisbohm/firefly-ice-api.git
• open MacOSX/FireflyGame/FireflyGame.xcode
Q & A
• And now for a short intermission…
Production
• Manufacturing Plastic Parts (Molds (time) + sampling and tuning, then production run)
• Sourcing Components (BOM Tool)
• PCB Fabrication & PCB Assembly
• Programming & Test (Fixture + Firefly Tool)
• Final assembly (PCBA + Battery + Plastics)
Test Fixture
• Mechanical design - spring pins for test points
• Electrical design - PCB for mounting spring pins and eliminating wire management
• Connectors (SWD, USB, battery, etc…)
• Software design - program & test software using SWD
HO: Program & Test
• Instructions @ http://tinyurl.com/ls7yt33
• Connect Test Fixture to laptop
• run FireflyTool
• press PCBA into fixture until complete
• connect and uniquely name your device
Firmware
• Source code: src/*.c,h
• Boot loader, main firmware, test firmware, SWD programming firmware
• Memory map & placement, startup code
• Bluetooth Profile / nRFgo Studio
• Hex & Elf
HO: Firmware Development
• Instructions @ http://tinyurl.com/lyp6p3b
• Debug hardware: JTAG, SWD, Cables
• Target hardware: Firefly Ice PCBA
• Tool Chain: gcc, gdb, FireflyFlash
Q & A
• And now for a short intermission…
HO: Electronics
• upverter @ http://tinyurl.com/mx8lv55
• PDF @ http://tinyurl.com/m9rcju5
• Schematics & Board Eagle files on GitHub
• Multiple sheets & 4 signal layers
• CadSoft EAGLE Layout + Schematic (Hobbyist $169, Standard $575)
Electronics
• Eagle 6
• Firefly Ice: firefly-ice.sch,brd
• Fixture: firefly-ice-fixture.sch,brd
• Parts Library: firefly.lbr
• Sourcing attributes on each component
Schematic Considerations
• Power domains (voltage, switchable, translation)
• Busses (pin count, speed, power, robustness)
• Probe points (SWD, switches, USB, etc)
• Wires vs SMT (motors, batteries, etc)
• Power, availability, dimensions, fine pitch
Layout Considerations
• Power planes, RF clearances, crystals
• Probe pads (SWD, clearances, 1 sided)
• Layers, pitches, in-pad/micro/blind/tented vias
• Markings (copyright, model, revision, pads, placement)
• Panelization (milling, mouse bites, fiducials)
Expansion Connector
• 6-pin low profile SMT connector (2.25 mm + 2.5 mm = 4.75 mm)
• 3 power pins: unregulated voltage (5V to 3.5V), system voltage (2.2V), ground
• 3 data pins: I2C SDA, SCL, INT (or UART, or Low Energy Sense, or analog comparator, or GPIO)
HO: Sourcing & BOM
• Instructions @ http://tinyurl.com/lhmx5ha
• A prebuilt BOM release is in the GitHub firefly-production-tools/releases repository
BOM Tool
• Reads sourcing attributes from schematic
• Gets pricing information via OctoPart
• Generates Bill Of Materials
• Generates purchasing quantity for each distributor
HO: PCB To 3D
• Instructions @ http://tinyurl.com/k9ualyy
• A prebuilt PcbTo3D release is in the GitHub firefly-production-tools/releases repository
PCB to 3D
• Reads printed circuit board layout
• Writes Rhino 3D script
• Script creates PCB and places Rhino components
• Useful for checking PCBA with enclosure
HO: Bluetooth Direct Test Mode
• Instructions @ http://tinyurl.com/kqvtjhe
• Use one firefly in direct test mode to send test packets.
• Use another firefly in direct test mode to receive test packets.
FCC
• Preparing a test device with SMA connector
• Complete sample device
• Using a computer w/ USB for testing
• Documentation
• Markings
HO: Final Assembly
• Instructions @ http://tinyurl.com/lzxkkpk
• final assembly into plastics (snap fit)
Main Costs
• Electronic Components 100 $50, 1,000 $25
• PCB Fabrication & assembly (10 $250, 100 $50, 1,000 $25)
• Milling a plastic part $250+ ea @ FirstCut
• Mold $3,500+ ea, $1 per set MOQ 1k
• FCC Testing $6,500+ (w/radio, US only)
10 100 1,000
Components $50 $35 $25
Milled Parts $1,000 $0 $0
Molds $0 $14,000 $0
FCC $0 $6,500 $0
PCBA $250 $50 $25
Cost Each $1300 $290 $50
Total Cost $13000 $29000 $50000
Cost Progression
Manufacturing Vendors
• Component Sourcing (meet, bundles)
• PCB Fabrication (local low volume)
• PCB Assembly (right fit local, similar projects & tools)
• Plastics Manufacturer (right fit)
• Final Assembly & Test (self, interns) [learn & improve the design]
Design Vendors
• Product Design (everything in parallel)
• Industrial & Mechanical
• Electronics & Layout
• Firmware
• Device API (iOS & Mac OS X, Android, Windows, etc)
What’s on my Bench?
• CNC Milling Machine
• Microscope w/ Light, Camera, and Vise
• Oscilloscope with uA Current monitor
• Soldering Station with SMT tweezers
• Power Supply (on/off), Multi-Meter (uA), Wire Stripper, …
How was the session?
FeedbackSXSW App Session Feedback
1. Express yourself 2. Help us get better
3.Earn rewards {Daily SXSW Posters + Grand Prizes}
In 1 minute