Electronics Production
Skills
- making PCB
 - operating a CNC machine
 - populating (stuffing) a PCB
 - soldering
 - testing PCB
 
Why make PCBs?
- customized electronics to meet product requirements
 - customized footprint for product
 - greater reliability
 - ability to prototype & iterate faster
 - better product integration
 
PCB fabrication
- etching
 - machining
    
- machines: LKPF Protomat S104, Stepcraft 420, Roland SRM-20
        
- tools
            
- US: 0.010, 1/64, 1/32
 - Metric: 0.25mm, 0.4mm, 0.8mm
 - V-bits
 
 
 - tools
            
 - fixturing: clamps, double-sided tape
 - underlay
 - orientation
 - zeroing
 - lifetime (of endmill)
 - deburring
 - cleaning
 - climb vs conventional machining
 
 - machines: LKPF Protomat S104, Stepcraft 420, Roland SRM-20
        
 - vinyl cutter flex encapsulation
 - laser cutter
 - printing
 - sewing
 
PCB materials
- rigid
 - flex
 - copper
    
- 0.5 oz: 17.5 um
 - 1.0 oz: 35 um
 - 2.0 oz: 70 um
 
 
board houses
- Seeed, PCBWay, JLCPCB
 - design rules
    
- width/spacing (15, 25 mils)
 
 - layers
    
- 1, 2, multi-layer
 
 - mechanical, drill, solder mask, silk screen
    
- vias
 - rivets, plated, blind, buried
 
 
components
breadboards & other alternatives
assembly
- solder
 - eutectic
 - wetting
 - flux paste, pen
 - wire, paste, bar
 - manual, drag, reflow, wave
 - stuffing
    
- component orientation
 - tacking down parts
 - bottom to top, inside to outside
 - fumes
 - washing
 
 - desoldering
 - cutting traces, adding jumpers
 - pick-and-place
 - encapsulation
 
CAM
- formats
    
- Gerber/RS-274X
 - png resolution
 - gcode
 
 - FlatCAM
 - Carbide 3D
 - mods community
 - trace width
    
- traces board outline 1/64” 0.010” fiber laser
 - traces (metric): 0.4mm, 0.8mm
 
 - gcode viewers
 
assignment
- group assignment:
    
- characterize the design rules for your PCB production process, i.e. what is the useable minimum tracewidth for your PCB production process?
 - Group Assignment Example
 
 - individual assignment:
    
- 
        
make an in-circuit programmer by milling and stuffing the PCB,
 - 
        
test it
 
 - 
        
 
ISP Programmer Example
- Download firmware
 - Windows Toolchain installation
    
- Install git
 - Install Atmel GNU toolchain
 - Install GNU Make
 - Install avrdude
 - Update PATH environment variable
 - Install driver (libusb-win32) for your programmer
 - Sanity Check
        
- Start Git Bash and open terminal window
 - Type make -v and press Enter
 - Type avr-gcc –version and press Enter
 - Type avrdude and press Enter
 
 - Uploading firmware to ISP programmer
        
- Compiling firmware
            
- Unzip downloaded firmware to folder
 - Open Makefile in text editor. Update MCU = attiny45 line to the correct MCU (e.g. attiny85). Save and exit.
 - Open a terminal window and navigate to the firmware folder.
 - Type make and press Enter. You should see the compiled firmware, fts_firmware.hex
 
 - Connect working ISP programmer to your blank ISP programmer
 - Upload firmware to your ISP programmer
            
- Type make flash and press Enter to upload the fts_firmware.hex file to your ISP programmer.
 - Type make fuses and press Enter to program the fuse settings on the MCU.
 
 - Check that Windows recognizes your ISP programmer
            
- Disconnect your ISP programmer board and plug it into a USB port on your notebook.
 - Open Device Manager and check if Windows recognizes your ISP programmer. It should appear as USBtinySPI
 
 - Disable the reset fuse on the MCU
            
- Reconnect the programming cable to your ISP programmer for the final step (disable reset pin, make it an I/O pin)
 - Type make rstdisbl and press Enter
 - Congratulations. You have uploaded the ISP firmware to your programmer.
 
 - Check that you have the correct Windows driver
            
- Plug your ISP programmer to a USB port on your notebook
 - Open Device Manager. Your programmer should appear under the libusb-win32 device as USBtinySPI
 
 
 - Compiling firmware
            
 
- Refer to YeoGS assignment in the link below if you are unsure of the steps.
 
 
FTDI/UPDI Example
- 
    
FTDI example: board components trace outline
 - 
    
FTDI-to-UDPI interface board: board components trace outline
 
ATSAMD11C Collection
Arduino ISP
Recommended settings for Stepcraft
| Operation | Endmill size | Cut Speed | Cut Depth | Total Depth | Offset | 
|---|---|---|---|---|---|
| Traces | 0.4 mm flat | 50 ~ 60 mm/min | 0.04 ~ 0.05 mm | 0.04 ~ 0.05 mm | 2 ~ 4 | 
| Traces | 0.8 mm flat | 60 ~ 80 mm/min | 0.04 ~ 0.05 mm | 0.04 ~ 0.05 mm | 1 ~ 2 | 
| Traces | 0.1 mm 30 deg V-bit | 50 ~ 60 mm/min | 0.04 ~ 0.05 mm | 0.04 ~ 0.05 mm | 1 ~ 2 | 
| Board Outline | 0.8 mm flat | 50 ~ 80 mm/min | 0.42 ~ 0.45 mm | 1.65 ~ 1.70 mm | 1 | 
Note:
- Safety glasses must be used when viewing milling process
 - confirm feedrate settings in G-code
 - confirm z-sensor probe is activated when switch depressed
 - perform an air cut or camotics simulation before beginning cutting
 - perform z-calibration everyting endmill or mill bit is changed