25
01.10.2014 Daniel Amesberger Electronic Product Development steps on how to single-handedly build your own IoT hardware

daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

01.10.2014

Daniel Amesberger

Electronic Product Development

steps on how to single-handedly build your own IoT hardware

Page 2: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Amescon GmbH !  Fully automated cash handling and

packaging machines "  Mechanical Engineering "  Electronics Engineering "  Software Engineering (Server software/

database backend to microcontroller and PLC software)

!  Software development !  Electronic Product Development

"  Schematics and PCB design "  Firmware, Linux Kernel Drivers "  Case design (milled aluminum, die-cut

metal, injection molded) "  Consumer/Prosumer Products: RaspiComm,

RasPiComm+, ECG Heart rate monitor,… "  B2B Products: E.g. alarm reporting system

deployed in banks

Page 3: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Overview

•  PCB (printed circuit board) and electronic components basics

•  Choosing Components, Schematics Design •  PCB design •  Prototype production •  Prototype testing •  Future developments

Page 4: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Printed Circuit Board Technology

!  Features of a PCB "  PCB Size, solder resist/mask color "  Number of copper layers (1-30 and higher) "  Stackup ○  Copper thickness (35µm, 18µm, 12µm, ...) ○  Prepreg/Core thickness and material

"  Min. trace and spacing (6mil, 5mil, 4mil, ...) "  Min. via pad (0.3mm, 0.2mm,...) and antipad "  Solder mask openings "  blind/burried vias, VIP (via in pad) "  flex or flex-rigid pcb, aluminum core,...

Page 5: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Printed circuit board stackup 6 layer board sample stackup

1 Blind Via 2 Buried Via 3 Throuh hole Via

Via In Pad (VIP)

•  Overlay not shown •  Solder Mask (green) •  Copper (orange)

Page 6: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

PCB component sizes

Large

•  Through hole •  Easy to debug •  May be more

expensive to manufacture

•  Usually 1-2 layers

Medium

•  Surface mount •  Good to debug •  Cheapest to

source and manufacture

•  Usually 2-6 layers

Small

•  High density surface mount

•  Hard to debug •  Most expensive

to manufacture •  4-18 layers

Page 7: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

SMD Part Package Sizes

Through Hole

SMD Power components

Standard SMD

Fine Pitch SMD (0.5mm)

Leadless Devices

Fine Pitch Leadless (0.3mm)

BGAs >=0.6mm pitch

uBGA

<= 0.5mm pitch

Hand-Placable Machine-Placable

Page 8: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Basic building blocks of an IoT PCB

!  Power management (rechargable LiPo battery, button cell, USB, wall plug,…) "  LDOs, Buck Converters (DC/DC converters) "  Charging, battery fuel gauge, cell monitoring,…

! Microcontroller and clocking (eg. crystal oscillator), FPGA, DSP,…

!  Radio module or circuit (Bluetooth, WiFi, 6LowPan)

!  Peripherals (digital/analog I/Os, USB,…) !  Connectors

Page 9: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Choosing components !  Use parametric search (Digikey, RS-components,

Mouser, Farnell,…) !  Check your power budget, chose components

accordingly !  Read the datasheets. Twice. !  Read errata !  Be extra careful when choosing components with

non-standard features (e.g microcontrollers with integrated radio,…)

!  If you are not sure how to use the part exactly, chose those where you have reference designs available

!  Relieable distributors and manufacturing companies

Page 10: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Schematics !  Chose your design software

"  Eagle (free edition is limited) "  Kicad, open source (GPL) "  Designspark PCB "  Altium (free version is coming)

!  Create your components "  Schematic Symbol "  Footprint/Package "  Optional: 3d Model

!  Start your schematic design "  Use reference designs

Page 11: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Simulation

!  Sanity check your analog designs !  Simulate different scenarios

Simulating schematics is not a proof that it works in real life. A lot of aspects are considered ideal (e.g. trace impedance) which they are not on your PCB.

LTspice IV

Page 12: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

PCB Layout basics !  Check your PCB manufacturer capabilities and

associated costs !  Get their design rules !  Adjust the DRC (design rule check) of your PCB

software according to their design rules !  Start with your basic building blocks we discussed

before "  Group the components associated with your building blocks

(power, micros, radio, peripherals, connectors,…) "  Place the blocks where you need them in the final design

(connectors, power supply) "  Respect general placement and routing guidelines. What is

meant by that?

Page 13: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

PCB Layout •  Long clock traces •  Long digital and

analog traces •  Few decoupling

capacitors

•  Short clock traces •  Max. distrance between

digital and analog traces •  Global decoupling

capacitors

Page 14: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Place components

Minimum equipment

Page 15: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Step 1: Apply solder paste !  Tools

"  Solder paste, granularity depending on minimum stencil openings "  Stencil (capton or stainless steel) or syringe

Syringe PCB with solder paste Stencil

Page 16: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Step 2: Manual component placement

Tweezers Manual Placer

BGA Placer Rework Station

Page 17: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Automatic component placement Pick and place machines •  Very high throughput, low costs per

board •  High machine cost •  High changeover costs

Page 18: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Step 3: Solder components

DIY reflow oven

•  Very cheap •  Temp.

monitoring needed

reflow oven

•  Pretty cheap •  Progammable

temperature curve

vapor phase oven

•  Expensive •  Very good

solder quality •  Low component

stress

Page 19: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Test your PCB

!  Tools "  Bench lab power supply "  Multimeter "  Oscilloscope "  Optional: Logic Analyzer,

Spectum Analyzer, Programmable Load…

!  Always check power rails first "  Start with current limitation on

your bench supply

Page 20: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Production testing •  Think about testing when

designing •  what do you want tested

(can your software test all peripherals?)

•  How do you test it? (debug connector, test points)

•  Methods •  Manual testing •  Bed of nails •  Flying probe tester

Page 21: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Electronics is all Analog •  Bob Widlar is wrong, digital

circuits are analog in the electronics world

•  Keep the rise times of your digital signals as slow as possible, you will reduce crosstalk and radiated emmissions

•  When dealing with high-speed digital signals: get the trace impedance right to avoid reflections

Page 22: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Software/Firmware !  Compiler and toolchain depends on chip and

architecture you use "  Atmel AVRs, Microchip PICs, TI MSP430 "  ARM Cortex-M0/M0+/M1/M3/M4/M7

○  Licenses core, a lot of manufacturers use them and add peripherals (GPIO, ADC, DMA, SPI, I²C, CAN, USART, …) which are connected over Advanced Microcontroller Bus Architecture (AMBA)

○  GNU ARM GCC, open source ○  Keil uVision (bought by ARM, free up to 32KB flash size

!  Programming/debugging with separate programmer "  ISP (in-system programming), AVRISP mkII, PICkit 2/3 "  JTAG/SWD – JTAG Programmer (ULINK2, Segger J-Link,

…)

Page 23: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Case/Housing

!  Prototypes "  3d-printing "  CNC milling

! Mass production "  Injection molding "  CNC milling "  Sheet metal

punching

Page 24: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

The Future (a.k.a. my wishlist)

!  Fast PCB prototyping machines !  Affordable pick and place machines !  Flying probe tester for debugging !  Integrated PCB software that communicates

with P&P and probe tester !  Embedded development and debugging

tools en par with current linux/windows dev tools

Page 25: daniel amesberger electronic product developmentfiles.meetup.com/14335402/daniel_amesberger_electronic...PCB Layout basics ! Check your PCB manufacturer capabilities and associated

Links !  PCB Editor

"  Eagle: http://www.cadsoft.de/ "  Kicad: http://www.kicad-pcb.org/ "  Designspark PCB: http://www.rs-online.com/designspark/electronics/deu/page/

designspark-pcb-home-page "  Altium: http://www.altium.com/

!  Simulation "  Ltspice: http://www.linear.com/designtools/software/

!  Software "  GCC ARM: https://launchpad.net/gcc-arm-embedded "  Keil uVision: http://www.keil.com/uvision/

!  3D Design Software "  Blender, open source (GPL): http://www.blender.org/ "  Autodesk Inventor: http://www.autodesk.de/products/inventor/

Daniel Amesberger, Amescon GmbH Mail: [email protected] Twitter: @DAmesberger, @amescon Blog: http://amesberger.wordpress.com/