Week 5

Week 5: Electronics Production


Objectives

  • Make an In System Programmer By Milling

  • Learning Outcome

  • SRM 20
  • Soldering
  • Programming
  • First we did group assignment which was to charachterize milling machine SRM 20. With the help of Instructers Engr.Rasheed Ahmed Qazi and Engr.Noor Raza Pirwani we did machine charachterization. later we downloaded the png image which shows the trace depth of machine where the lowest trace possible was 0.01 inch. Second assignment was an individual which was to fabricate, solder and program the fab In system programmer (ISP) that shall be used later for programming the other electronics boards.

    Group Assignment

    What do we mean by PCB milling?
    Printed circuit board milling is the process of removing areas of copper from a sheet of printed circuit board material to recreate the pads, signal traces and structures according to patterns from a digital circuit board plan known as a layout file. It's similar to the more common and well known chemical PCB etch process. the PCB milling process is subtractive material is removed to create the electrical isolation. However, unlike the chemical etch process, PCB milling is typically a non-chemical process and as such it can be completed in a typical office or lab environment without exposure to hazardous chemicals. High quality circuit boards can be produced using either process.











    Step:01 The primary step in this assignment is to download the png images given below. Next generate the rml file using website fabmodules.org. There are few more steps of generating rml file which are given below.

  • Click input file to read.
  • Click image (.png)
  • open the png image.
  • set the dpi to get right dimensions.
  • go to output format.
  • Roland mill(.rml).
  • process => pcb traces (1/64) for trace. In case of outline make (1/32).
  • At Right corner set machine as SRM 20 and make xyz=0
  • Make offset =-1 if you do not need extra copper and press calculate.
  • Save with name trace.
  • (a) PNG Image Trace

    (b) PNG Image outline

    (c) A GIF Showing the generation of rml files.

    Step:02 Second step was to milling therefore we first placed the copper fr1 sheet carefully on a machine bed which can be seen below. Later we set the dimensions using SRM 20 machine software and proceded to output. Unfortunately we did mistake in setting it's dpi that is why its dimensions were too big from default size. The output can be seen below. later we tried again with setting of dimensions like dpi=2000 now the output is correct.


    FR1 Sheet placed over bed.


    Output(upper with incorrect dimensions and lower with correct dimensions)

    Initially I checked each circuit suggested by neil where I finalized to work with andy bardagjy fab isp which was inspired by Neil's FabISP which is based on David Mellis's FabISP which is based on Limor's USBTinyISP which is based on Dick Streefland's USBTiny. The trace and outline of isp can be seen below.

    (a) Trace of In system Programmer (ISP)


    (b) Outline of In system Programmer (ISP)

    My First In System Programmer which is based on Andy. For generating RML Files and milling I follwed all the above steps of group assignment accordingly. The milling did not worked well for this fab isp which can be seen in below picture. There are lots of shorts in this isp so it is good to change the isp. I switched the hello ISP.

    First fabricated In system Programmer (ISP)

    My Second Isp was hello isp 44 which worked very well. I follwed every step carefully as it is very sensitve work. The fabricated isp can be seen below in image which clearly shows that isp is fabricated very well.

    Second fabricated hello ISP 44

    Obviously I needed to solder this isp in order to get the output so I went electronic workbench station and collected following components to solder.

  • Zero Resistor
  • 1 Kilo Ohm Resistor
  • 10 Kilo Ohm Resitor
  • 100 Ohm Resistor
  • 10 Pico Farad Capacitor
  • 499 Ohm Resistor
  • 20 MHZ Oscillator
  • ATTiny 44
  • Zener 3.3 V
  • Mini USB 2.0
  • Header Jack
  • Other equipments I used while soldering

    Soldering smd components is very sensitive it was very hard to work with these components. I worked almost five hours to solder this tiny isp. My second ISP after soldering is shown in below picture.

    Attiny 44 ISP

    Programming the Attiny 44 fab isp. I used Linus operating system for programming my isp. I followed each and every step from this tutorial the snap shot of every step are given below.

    Installing the necessary softwares for AVR Programming






    1. Avrdude (for programming AVR microcontrollers)




    2. GCC (to compile C code)




    Now Open the termianl and type following commands:






    sudo apt-get install flex byacc bison gcc libusb-dev avrdude




    Then type

    sudo apt-get install gcc-avr




    - type "y" when asked to do so by your system

    sudo apt-get install avr-libc




    Then type (may already be installed):






    sudo apt-get install libc6-dev




    Move to the desktop

    cd ~/Desktop




    Download the firmware from the Fab Academy Electronics Production page.

    wget http://academy.cba.mit.edu/classes/embedded_programming/firmware.zip




    Unzip the firmware

    unzip firmware.zip




    Few more steps are required to complete this operation

  • Power the FabISP Board:
  • Pulg in the mini USB connector of your FABISP into computer.
  • Make sure you have plugged in another working FabISP in to the 6-pin programming header.

  • A programmed programer programming the programer for programming the programmers

    Program the FabISP by writing following commands in Terminal step by step:

  • make clean

  • make hex


  • Linux Terminal showing above commands



  • make fuse

  • make program

  • Linux Terminal showing above commands


    Now. Verify that your ISP is working fine by typing the following command in terminal.

  • lsusb

  • Later I Removed zero ohm resistors just to make my isp able to program other boards and I download the drivers from Adafruit because it was requirement before getting its connection.

    Finally I Installed the Ada fruit Drivers

    Installing Ada fruit drivers


    Now plug the programming isp into computer , then open the Device manager.


    Usb attiny detected

    Bingo! My hello ISP is ready for use!