Electronics Production


We can make Almost Anything

Weekly Task

Group assignment:

   Characterize the specification of PCB production process.

Individual assignment:
  •  Make an in circuit programmer by milling the PCB
  •  Optionally, try other ways.

What is PCB

PCB(printed circuit board) is mechanically supports and electrically connects electronic components or electrical components using conductive tracks, pads and other features etched from one or more sheet layers of copper laminated onto and/or between sheet layers of a non-conductive substrate. Components are generally soldered onto the PCB to both electrically connect and mechanically fasten them to it.(wikipedia).

Roland monoFab SRM-20

Introduction of Machine
Here We have two PCB Milling Machine one is Modella MDX-20 and another one is Roland monoFab SRM-20.We work on Roland monoFab SRM-20 and used it for making own fabTinyisp board.SRM-20 is Roland's latest generation 3D desktop milling machine, incorporating innovative subtractive rapid prototyping (SRP) features to deliver accuracy, smooth finishes and efficiency in a compact format.



Specifications of SRM-20

Model SRM-20
Cuttable Material Modelling Wax, Chemical Wood, Foam, Acrylic, Poly acetate, ABS, PC board
X, Y, and Z Operation Strokes 203.2 (X) x 152.4 (Y) x 60.5 (Z) mm
Workpiece table size 232.2 (X) x 156.6 (Y) mm
Distance From Collet Tip to Table Max, 130.75mm (5.15 in)
Loadable Workpiece Weight 2 kg (4.4 lb)
Control Command Sets RML-1, NC code
External Dimensions 451.0 (W) x 426.6 (D) x 426.2 (H) mm
Weight 19.6 kg (43.2 lb)
Group Assignment - Line Test

We downloaded .png files from fabacademy schedule.





Generating .rml online -
We installed Offline fab module in ubuntu.

There are many tools for making .rml file.

I know two of them i.e. Fab Modules and MODS

Here we generally used Fab Modules as shown in below image.





Milling out design.





Result of this experiment will be helpful in deciding the width of traces while milling the PCB

I made all my PCB Board by refering this.

FabISP fabrication

Neil introduced some programmers and their work. I started to follow Brian Because I'm novice for this assignment and his document was easy to refer.

Below image is of brian board:





Setting of SRM-20 Machine
As I said I had use roland monoFab SRM-20 milling machine for making FabISP.
Bed area - 200*150mm

Step 1 - Setup Bed level and origin
Stick board using double sided tape on bed. Set Origin by clicking X,Y and Z button. Now I check the X/Y placement and set it according to PCB board placement. After that check the gravity of end mill of 1/32 by creating traces on the PCB.



Step 2 - End mill
For tracing on PCB I used 1/64 end mill which is recommended for this machine.But For outline cutting I used 1/32 end mill.



Step 3 - Fix the End mill in Machine



Step 4 - Set the Gravity
To check gravity. slowly move the windmill header in down direction, then loose the end mill and touch to bed by gravity and then last tight it.I gave print. Now selects the 1/32 (mill cutout board).



Fab Module


I downloaded .PNG file from Brian Page





Go to Fab Module, click on input device and select .png file to download. Next convert it into .rml file. Choose PCB traces (1/64).

Always checkout size and resolution of your board.

  • Machine - SRM-20
  • x0(mm) - 0
  • y0(mm) - 0
  • z0(mm) - 0 These x0,y0,z0 are for setting up an origin save in V-Panel
  • zjog - 12
  • Speed - 4 or 3 mm/s for new end mills


  • x/y/z home is the parking position. After finishing the cut after selected machine (SRM-20),gave speed and height and clicked on Calculate and then saved.after saved, downloaded .rml file in your Computer/Laptop.



    2.Here,I did same process.just change PCB outline (1/32) and downloaded .rml file.



    Clicked “Cut” on the control panel. A new window will appear where you will select your traces cutting file, now click Output and the machine should start.

    V-Panel - VPanel program by clicking the corresponding icon in the task bar.Machine Setup should be configured to “understand” the G-CODE generated by fab modules, so before cutting go to setup and check RML-1/NC CODE and mm are selected.

    • X,Y and Z axis showing the position of End mill.
    • -X,+X,-Y,+Y,-Z,+Z used this arrows for moving End mill in axis using cursor step.
    • Set origin point used for set the Origin.
    • Spindle speed shows the speed of collate. Also adjust speed.




    Cut PCB on Machine.



    After milling my board. I used vaccum cleaner or brush to clean the board.



    The finished PCB look like this.My board is ready for soldering.



    Soldering



    Before starting with soldering.I collected all components from our fab Inventory.components required for brian board are following:
  • 1x ATtiny45 or ATtiny85
  • 2x 1kΩ resistors
  • 2x 499Ω resistors
  • 2x 49Ω resistors
  • 2x 3.3v zener diodes
  • 1x red LED
  • 1x green LED
  • 1x 100nF capacitor
  • 1x 2x3 pin header


  • this image shows what components I used.



    I dont have any prior experience on soldering. Practicing soldering and desoldering so,for I took wasted PCB. Also I have used hot air gun for removing components from board with proper temperature.I did mistakes many time,but at last able to do I soldering properly.

    I made new board. After Fixing the components I check it with the help of multimeter to be sure that all are fixed currently.



    After completing my soldering.I check the continuity.



    I connected it with on my laptop.to see Power LED is blinking or not,Done.



    fabISP Programming

    Go to program list on Windows machine,here I used git bash for command and controlling the board. I follow the brain tutorial like Brian then for further process. I install driver for USBasp available on it official site.still it was not detecting I have check all connection and tried once more,Now its working fine.

    For programming I install 4 different software like a. Make.exe 2. avrdude 3. avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe 4. zadig and for driver setup firmware_45 to store all data.all files save in programs files.



    locate all tools you've just installed in command line. Go to the Start menu and open the Control Panel, go to System. on left panel, choose "Advanced System Settings". Under the Advanced tab, click the "Environment Variables" button.



    Under User variables, select "Path" and click the Edit button. If you don't already have a variable called "Path", click the New button to create it, enter "Path" without the name, and fill out the value as described below.

  • C:\Program Files\avr8-gnu-toolchain\bin
  • C:\Program Files (x86)\GnuWin32\bin
  • C:\Program Files\avrdude
  • After this steps I Installed Drivers for my Programmer.I downloaded Zadig.then Plug in my programmer, and select the "USBasp" device in the list.The driver you want to install (to the right of the green arrow) is either libusb-win32 or libusb0. Click the "Install Driver" button.





    Everything is now installed.Now attched FabISP with USBasp programmer pin to attached with the programmer board as pin1=MISO; pin2=VCC; pin3=SCK; pin4=MOSI; pin5=RST; pin6=GND;.After that I used git bash for control the command of board.I checked that it all works.Go to the start menu and search for "Git Bash" and start it.

    I used three commands to make sure that work or not.

  • Type make -v and press enter
  • Type avr-gcc --version and press enter
  • I Connect programmer to a USB port and type: avrdude -c usbtiny -p t45 and press enter.


  • I Downloaded the firmware source code from Brian page and extract zip file.Open terminal program and change directory to source code directory.

    Now Run make. This make cammand build the hex file upload that hex file in ATtiny45. After a completing I open Make filewith Notepadd++ and change the name USBTiny to usbasp.



    then I run make flash cammand.In this cammand I got Error,beacuse of defect in soldering.then I did reapeat soldering.again I type this cammand its works properly.



    After I run make fuses cammand.after completed this cammand I remove all connectors and checked fabISP on my laptop.I go to Devices and checked my USB was deteted or not.when I checked my board was worked.



    then last cammand I used make rstdisbl



    Finally its going to programmed.Final programming and Detection of USBasp by PC: Here I complete the programming process and check the board after removing the bridge line.



    After programming on FabISP. Then I program bridge board from FabISP.I uploaded blinking program and check it.

    Then I understand is My FabISP is Working properly.

    I also program on my hello Board. For checking see this assignment Electronic Design.

    For programming I used Arduino. for testing I uploaded led blinking code in board.







    Here is the video to shown my FabISP Working.

    Faced problem during programming
    After completing my soldring I did program.I faced a lots of problem.Firstly My usbtiny was not detecet to laptop.then I solder again.then it's working. Then I did programming I got many errors.I reinstall the USBtiny driver again and again using Zadig software.

    Explored

    MODS for PCB

    We have arranged guest lecture of our Previous fab academy student "Mr.Rohan Rege" on MODS.
    MODS is the new FABMODULES it more capable and works by connecting nodes to develop each process.In our case we are going to use a precompiled program and add a module to save automatically in our computer instead of connecting directly to the machine.

    1.I Opened Mods in browser recommended firefox/chrome.

    2. Right click anywhere and select PROGRAMS -- select OPEN SERVER PROGRAM




    3.Selected ROLAND > MILL > SMR20(choose the machine you will use)



    We need to add another module to make it save the file automatically. So we need to look for the program/component that outputs the file.

    4.Right click anywhere in the white space and select MODULE > OPEN SERVER MODULE > SAVE FILE . Connect the elements by clicking on OUTPUT of RolandSrm-20milling machine and clicking again in INPUT of save file module to make the connection/ wiring between them.



    5.Open your traces image file.Go to READ PNG MODULE SELECT- PNG FILE - .selected traces image.



    6.SET PCB Default module click in MILL TRACES.

    For saving file. Right click-->Modules-->open server module.





    file-->save


    then I joined

    Input file to output file.




    7. 2D module click in Calculate
    8.Done.The file will be saved automatically into your download folder.



    Flexible fabISP

    1.I made flexible fabISP on Vinyl Cutter. First I took downloaded .png file from Brian. then open terminal I used this cammands.
  • Sudo Fab
  • - Enter password
    From input format select (image).png
    Selected Roland Vinylcutter (.camm)
    make_png_camm
    then I loaded .png file and send it to Vinyl cutter.



    2.I did same process.



    3.I cut print on Vinyl.



    4.I remove all unwanted parts using x-acto knife.



    5.my flexible FabISP is Ready.













    You can Download Original Files PNG file

    You can Download Original Files rml file

    Learning Outcomes

    In this assignment I learned about PCB,Soldering, milling and programming. We learn monoFab SRM-20 PCB milling machine and process of milling in a group. Soldering is a skill work and still need to improve my skill.Also I learnt how to used fab Modules on browser.I also used MODS.and finally made a Flexible FabISP on vinyl.so learnt more things in this assignment.