Week 4

In this week I was introduced to the world of electronics and I was kinda scared because I never dealt with these things before however I was excited to try and test the milling machine and manufacture some PCB's , this weeks assignments :

  1. Group assignment: Characterize the design rules for your PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling, document your work (in a group or individually).
  2. Individual assignment: Make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB fabrication process.



Learning outcomes

a. Described the process of milling, stuffing, de-bugging and programming

b. Demonstrate correct workflows and identify areas for improvement if required

Line test:

we have the roland SRM-20 in our lab and we will be using it for milling pcbs and molds:

  • for the group assignment we did this line test and the png was taken from neil and the reaosn we are doing test because will help us identify if the tool can go between two traces as well as how thin can the traces be. Roland SRM-20 was used in this test with a 1/64 inch mill bit.
  • png
  • and then we used the 1/32 mill bit to do cut the outline :
  • result:
  • The two main factors that we were testing are :what is the maximum space between two traces and how thin can our traces be so as you can see in the picture our tool can fit up to 0.001 but the traces cant be as thin as 0.001 otherwise they will come off of the board.

    Milling workflow:

    Since all we have is ATiny45 so I went for brian's ISP because it seems to be working for most people and it is very well documented, I began

    1. start by downloading the PNG files for both the traces and the outline from brian's page :
    2. set the cupper sheet for the machine by adding double side tape on the back then stick it to surface.
    3. cupper-sheet
    4. connect your machine to the computer and open V-panel
    5. v-panel
    6. First zero the z-axis and zeroing the z-axis is very important and It must be re-adjusted everytime the tool is changed , to zero the z-axis :
      • change the tool and push it all the way inside in a way only the flute is visible
      • carefully move it down using V-panel but do NOT let touch the cupper plate because some tools are very fragile , now adjust it manually so it is touching the plate
      • finally set the zero origin for the z-axis in v-panel
    7. Zero the x and y axis by moving with vpanel but make sure that the tool is not touching the plate otherwise it will break.
    8. Now go to fabmodules.org. this website calculate the tool path and gives you the file that is Compatible with your machine.
    9. Export your files and choose your machine and v-bit you are going to use
    10. Set the cut depth to what you want
    11. Now calculate then save
    12. The settings that I used here
      • I kept the speed as default 4 mm/s
      • I changed the offests values to 0 in the x ,y , and z direction
      • in this picture I set the xyzhome to 0 but actually I kept them default as this will bring the bed upfront and lift up the tool which very practical
      • I used the climb milling method because it reduces the load from the cutting edge which leaves a better surface finish.
    13. Start cutting
    14. Milling The FabISP:

    we used two kind of v-bits:
    a. 1/64 for traces with 4 offsets and cut depth of 0.15 mm
    b. 1/32 cutting with 3 passes and and total cut depth of 1.7 mm

    Soldering and stuffing the pcb :

    It was not an easy task for me to do because as I said I'm an absolute beginner when it comes to electronics,The components needed to brian's programmer:

    Soldering workflow:

    1. Prepare the soldering equipments : the soldering iron , tweezers , solder , the sucker , magnifying lens , light , and some tape .
    2. soldering tools
    3. Prepare the pcb and the components by taping both the board and the components to a double-sided tape
    4. setup
    5. Start soldering the components from inside out by doing the MC first then the ISP header then the diodes and resistors and keep the pins till the end
    6. when soldering a component adding solder to one pad then use the tweezers to place the component on the same pad then solder the second or third pad and finally go back and re-solder the first pad( this process called Tacking).
    7. one side solder one side solder
    8. finish up by checking each component with the magnifying lens
    9. lens

    problems I faced while soldering this programmer:

    Programming it:

    To be frank with you, this was the hardest part of this assignment because it was quite difficult to make the programmer work using widows however brian posted a guide on how to do it but it wasn't enough and I did some digging and here's the steps :

    1. Start by downloading these git atmel GNU toolchain GNU make avrdude and extract all of them to C:\Program Files
    2. (it was really hard to find the right toolchain but thanks to this guy ,he had linked it in his page)
      />
    3. Update your path , make sure you have these 3 values :
      C:\Program Files\avr8-gnu-toolchain\bin
      C:\Program Files (x86)\GnuWin32\bin
      C:\Program Files\avrdude
    4. Install zadic
    5. Download the firmware
    6. Open git bash and direct to the downloaded firmware then run make to create the main.o file
    7. I used my instructor USPTiny programmer to programm my FabIsp after failing many times to programm it using the ArduinoISP :
    8. Now go back to and run make flash and Make fuses:
    9. Lastly connect your programmer to your computer and open zadig and install the Libusb-win32:

    Final result:

     FabISP has been detected by the computer

    Things I have learned while soldering: