CBA Circuit Best Practices
Notes for beginners and reference for experts on the nuts and bolts of circuit design and manufacturing. This repo also includes libraries of some common components from the Fab Lab inventory for Eagle and KiCAD.
Design
Schematics and Boards
two representations!
Symbols and Footprints
parts: straddling the divide
Libraries
Here is perhaps the best place to keep tabs on circuits: happening, desires, etc...
The Design Process
Nonlinear!
Schematic
Roughing
Routing
Planes
- no power planes, double layer gnd planes
- at high frequency, gnd plane not a gnd plane, consider lowest energy field generated for return current
- rs-422 and use power ground to clamp down (rs485 is rs422 for busses, not point to point links)
Manufacturing
Trace / Space Drill Size Distance from Cutout
Eagle - design rules.
-
6mil Traces / 6mil Spacing on 1oz copper (0.15mm is the actual unit they use)
-
8mil Traces / 8mil Spacing on 2oz copper (0.2mm for spacing)
-
0.3mm min hole size -> 11.1811 mil
-
24mil text is absolute lower bound, not very pretty !
drc: tented vias, or not ? 'limit'
save .drl file for 'lowcostfab' for 'fancyfab4lr' and 'fancyfab'
| Include | Tables | one per mfg | for known design rules |
| Include | order-of-mag tables | for current carrying | in traces |
| Include | PDF | for | gndplanes |
Fab Manufacture
Particular DRL rules ! milling limits, rivet vias, etc.
This will help you make sure that traces are not too close together!
In this folder, find fabcity-designrules.dru
In Eagle, in the Board Window, find edit >> design rules
On the first tab, use 'load' and load this .dru file.
Now you can use the 'DRC' command to check!
Automate the generation of trace.png and cutout.png files
Matt Keeter wrote a Python script that opens up Eagle and exports a number of pngs using ImageMagick.
To get this script to run, use the following steps:
- Save eagle_png.py into the folder where you keep your Eagle project folders containing .brd and .sch files
- Install ImageMagick
- Create a polygon over your .brd design on the Milling layer (number 46)
- Set the isolate value for the polygon to a number greater than 16, this will ensure there's enough black space for mods to generate toolpaths in (see image below)
- Save your .brd file and close Eagle
- Run eagle_png using the following command
python eagle_png.py board_folder/board_name.brd
- The script should have saved several .png files into the folder where the .brd file is
Note: With later versions of Eagle (9.0.1+), by default it is configured to show text similar to "1-16" ontop of each via. This comes through even when exporting your final image. To remove this artifact, type the following in the commandline:
SET Option.ViaLength 0
SMT Manufacture
L1: boardfab, solder by hand
L2: paste, stencils, and tweezers
L3: diy pnp
L4: circuit assembly
For assembly, some miters tips are
- circuithub
- lightspeed manufacturing (in MA)
- tempo automation
- maybe worth trying jlc/easyeda - just have to constrain boards to parts they have (probably)
Export
eagle fabrication routines here,
Parts
The fab inventory keeps a list of components here,
LEDs
LED | VDrop | mA | R for 3v3 LVL
White 0805 1516-1085-1-ND | 3.1 | 20 | 10R Red 0805 516-1427-1-ND | 1.8 | 20 | 75R - * mark is backwards Green 0805 516-1434-1-ND | 2.2 | 20 | 55R Blue 0805 516-1445-1-ND | 3.4 | 20 | -5R (haha) Yellow 0805 516-1433-1-ND | 2.1 | 20 | 60R
Connectors, Cable
poke-in 2p 478-9533-1-ND
JST-SH 6 Positions Vertical 455-1792-1-ND JST-SH 6 Positions Horizontal 455-1806-1-ND JST-SH 8 Positions Horizontal 455-1808-1-ND
JST SH Cable 8 Pin Reversed 2" 455-3000-ND JST SH Cable 8 Pin Reversed 6" 455-3004-ND JST SH Cable 8 Pin Reversed 12" 455-3008-ND JST-SH Cable 6 Pin Normal 6" 455-3015-ND JST-SH Cable 6 Pin Reversed 6" 455-3003-ND
Vertical RJ12 WM10468CT-ND Horizontal RJ12 WM5567CT-ND or WM5567TR-ND in 150 + Plug End RJ12 AE10315-ND
RJ45 Jack - RJE73-188-00140CT-ND RJ45 Plug - AE10316-ND RJ45 Jack tab up - RJHSE-5384-ND RJ45 Jack tab up smd - 732-3164-1-ND RJ45 Cable 100F - A0082R-100-ND RJ45 Tool - K582-ND
RJ10 Jack 609-4469-1-ND
USB Micro 609-4613-1-ND
Power Spade 18-20 AWG 277-11144-ND Power Spade 14-18 AWG 277-11150-ND Power Spade Molex Small WM9606-ND Power Spade Molex Large WM9610-ND Power Pin M3x3mm tall 732-5270-1-ND Power Pin M3x4mm tall 732-5271-1-ND Power Spacer M3x3mm tall 732-7087-1-ND Power Pin M3x6mm tall 732-5273-1-ND Power Pin M2.5x6mm tall 732-7102-1-ND Pogo Pin ED90385-ND
SAMTEK-10-Debug SAM8796-ND CHEAP-10-Debug 1175-1629-ND
CRIMP M3s 16-20AWG 277-11117-ND
Mezzanine ATK Female (Tops [Mother Boards]) H1215-ND Mezzanine ATK Male (Bottoms, 3mm Stack) H10686-ND Mezzanine ATK Male (Bottoms, 4mm Stack) H10691-ND
miniPCIE A123340CT-ND
Nice Power Terminals conn free WM10425CT-ND
'power series' power conn https://www.digikey.com/catalog/en/partgroup/power-series/26832?mpart=1744042-1&vendor=17 A112198-ND A102007-ND 1744042-1-ND
2x10 952-2359-ND -> gray and fancy 609-4473-1-ND 2x10 SAM14005CT-ND (lower profile) 8mm spacers, 732-7113-1-ND 10mm spacers, 732-7119-1-ND 2x10 0.1" 15.75mm x 2.8mm SAM1066-10-ND 2x10 0.1" 15.75mm x 5.84mm S2061E-10-ND
USB Micro AB 609-4613-1-ND
Molex Edge Crimp-in Connectors EDGEMATE 172159
|---|---| | Fancy IDC Connectors | - | | Part | PN | | micro-match 'value' 12 cable-to-plug | A120909CT-ND | | picoflex 12 cable-to-plug | WM19224-ND | | micro-match 'value' 12 plug-to-board | A120906CT-ND | | picoflex 12 plug-to-board | WM14097CT-ND | | 12-conductor ribbon 0.05" pitch | 3M157824-10-ND | | picoflex 20 plug-to-board | WM3966CT-ND |
Cables, Wiring
100ft 16AWG Silicone Red CN665R-100-ND 100ft 16AWG Silicone Black CN662B-100-ND
Sensors
10 bit Absolute AEAT-6600 516-2636-ND 10 bit Absolute AEAT-6600 Diametric Magnet 469-1076-ND Hall Effect DRV5053 296-41083-1-ND HALL Discrete S5712 Hall Discrete Mag 469-1020-ND RTD 1k oHm - 223-1563-1-ND Distance Time of Flight 4m 497-18884-1-ND VL53L1 Distance TOF 2m 497-16538-1-ND pin-compat w/ VL53L1 (is VL53L0)
Magnets
6x2.5mm Diametric 469-1070-ND (ok for as5047) 8x2.5mm Diametric 469-1076-ND (good for as5047) 0.25" x 0.25" (for pnp feet) 469-1003-ND
uC
ATSAMD51 ATSAMD51J18A-MUTCT-ND ATSAMD51J19 (ada type) ATSAMD51J19A-MU-ND ATXMEGA - ATXMEGA256A3U-MH-ND
Power
3.3V ldo 600mA AP2112 - AP2112K-3.3TRG1DIDKR-ND
3.3V buck 2A TS30012-M033QFNRCT-ND 5v buck 2A 24V TS30012-M050QFNRCT-ND 5v buck 2A 40V TS30042-M050QFNRCT-ND Integrated Buck ... 1.2A, fancy 1589-1756-1-ND
5v LDO Buck Drop-In Switching Module 2A 945-3042-ND 5v Module 12W 1866-4374-ND 5v Mean Well Module 2A 1866-3625-ND 5v Mean Well Module 3A 1866-3633-ND 5v Module Switching 2A 811-2657-ND
DRV8323xx - UCC27212: 4A, 120V gate driver 1460-1069-6-ND - TMC262 Step Gate Driver 620-1769-1-ND - A4955 H-Bridge Gate Driver
TPW4R008NHL1QCT-ND - bldc fet candidate 497-15314-1-ND - N23 pnpair TSM6502CRRLGDKR-ND - N23 pnpair alternate 800-3745-1-ND - N17 pnpair
CSD88548 - 40V Half Bridge 296-46923-1-ND CSD88599 - 60V Half Bridge 296-48289-1-ND
Comm
CP2102n USB UART - 336-3693-ND
RS485 Driver 2/0 296-9964-5-ND RS485 Driver 2/2 296-14348-6-ND RS422 1/1 Full Duplex w/ term LTC2855IDE#PBF-ND Optoisolator 2/0 516-2172-5-ND
Heat
thermal tape 3M10315-ND heatsinks
- Adafruit Heatsink 1528-1698-ND
- 21x21mm 345-1098-ND
- 28x28x6.5 345-1111-ND
- 28x28x9 345-1100-ND
- 19x19x6mm 294-1146-ND 7.1deg/W
- 41x41x9mm 294-1103-ND 4.5deg/w
- 40x40x12 294-1162-ND 1.9 deg/w
- 40x40x9 294-1160-ND 2.5 deg/w
- 40x40x6 294-1158-ND 3.3 deg/w
- 41x41x25.4 ATS1329-ND 2.4 deg/w
fans
- 50x50x15mm 102-4367-ND
- 50x50x20mm 603-1359-ND
Switch
Slide Switch 563-1340-1-ND Switch for hella AC Amps 360-1897-ND Safety Stop Kill for PSU Z1504-ND Reset Line CKN10685CT-ND Reset Line 90deg P16767CT-ND Hella IEC C13 486-2264-ND Power Entry 486-3979-ND Power Entry 10A Fuse 486-1226-ND
Passives
4.7uH 2A 72Mohm 587-2407-1-ND 6.8uH 2.3A 52Mohm 587-3462-1-ND 10uH 0.15A 360M 0805 445-17073-1-ND
100uF 35v SMD 6.6dia PCE3951CT-ND 0805 Diode - 478-7802-1-ND TVS Diode - SMAJ30ALFDKR-ND 40V 3A Diode - - FSV340FPCT-ND 16MHz Resonator - 1253-1339-1-ND
16MHz Crystal SER4370CT-ND RCT 32 kHz XC1617CT-ND
4700uF 35v 493-1088-ND 18d x 7.5l x 35.5 100uF 450V 1572-1660-ND same above 150uF 6.6x6.6 SMD Aluminum PCE5017CT-ND 47uF 400V P13546-ND ibid
Shunt Resistors
3mOhm 1% 3W 2512 CRE2512-FZ-R003E-3CT-ND 50mOhm 1% 3W 2512 CRA2512-FZ-R050ELFCT-ND 100mOhm 1% 3W 2512 CRA2512-FZ-R100ELFCT-ND
Solder Paste
SMD291AX250T3-ND