Skip to content

5. Electronics production

This week we started the electronics side of the course with PCB fabrication.


This week we have to do a group assignment to characterize the design rules for our PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling and document our work.
As individual assignment I have to make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB fabrication process.

Group Assignment

Find it here

Individual Assignment

For individual assignment I have to learn the details of the milling machine in our lab to mill a programmer.
Roland Modela MDX-20 - Machine used in our lab for PCB Milling

Roland Modela MDX 20 Tryout

PCB Materials used in our lab
FR 1 - Phenolic Cotton Paper (FR means Flame Resistant) It is a hard, flat material that consists of a thin layer of copper glued over a paper with non-conductive phenolic resin . The thickness of the FR1, Phenolic cotton laminated sheet, in our lab is 1.8mm and it is brown in colour.
FR 4 - is a glass fiber epoxy laminate - Used for chemical etching. FR4 uses 8 layers of glass fiber material.


  1. Cutting surface : The surface of the solid object to be cut
  2. Size : The size of the finished object
  3. Depth : The depth of cutting
  4. Material : The composition of the workpiece to be cut
  5. Cutting process : The stage of cutting
  6. Tool : The diameter of the cutting tool and the shape of the tool’s tip

    Bits used for milling
    Along with the machine, we need to get the right tools for milling PCBs. The very critical part of these is the engraving bit, which creates the actual traces onto the PCB. The bits used for this purpose have to be sharp enough so that it can cut through the copper as opposed to tear it and yet it needs to be very fine and creates small footprints to mill the tiny traces. The bits used for cutting in our lab are made of carbide. Bits available in our lab are 1/8, 1/32 and 1/64, but we did not use 1/8 bit.

Bit Specifications

1/64 and 1/32 Bits

Sacrificial layer
It is, as the name suggests, a layer that sacrifices itself for saving the base plate from any damage ie, in case something goes wrong and the milling goes further than expected and mills onto the lower layer. Although many sacrificial layer materials are available commercially, what we use in our lab as a sacrificial layer is a PCB kept in reverse because its thickness won’t damage the bits and is very cost effective as well. To make a PCB into a sacrificial layer a dual sided tape was applied onto its copper clad board and carefully pasted onto the base plate applying sufficient force ensuring it is on level. The sacrificial layer has to be the same or greater size of the workpiece that is to be milled. Random designs are first milled on to the sacrificial layer to ensure the level of the workpiece.

Control Switch Panel

Control Switch Panel

Control Switch Panel

  1. Modelling Mode LED
  2. Scanning Mode LED
  3. Power ON/OFF, Standby Key
  4. View LED
  5. View Key To inspect board, the head moves away to the max of Y axis and the base plate moves towards the min of Y axis(front), so that object can be placed/ seen on the cutting surface
  6. Tool Up Key - Tool moves in the z axis towards max
  7. Tool Down Key- Tool moves in the z axis towards 0
    The Machine Coordinate System


Here, the X, Y, and Z axes refer to the machine’s motions. When viewed from the front of the machine, the X axis runs from left to right, the Y axis runs from front to back, and the Z axis runs up and down, vertically perpendicular to the other two. In this machine the Bed is the Y axis, and the spindle movement shows the Z-axis.
Maximum cutting area of the Machine


Coordinate Measuring Machine Machine also acts as a coordinate Measuring Machine(CMM) It works in much the same way as the finger of our hands when it traces map coordinates; its three axes form the machine’s coordinate system. Instead of a finger, it uses a probe to measure points on any object placed on it. Each point on the object is unique to the machine’s coordinate system.It then combines the measured points to form a feature that can now be related to all other features.
The process of relating the two coordinate systems is called alignment.

Milling the Circuit

Required Items

  1. Milling Machine - Roland Modela MDX 20
  2. FR-1 PCB Board
  3. Computer to be connected to the machine to run the interface
  4. Bits - 1/64 and 1/32
  5. Allen Key
  6. Double Sided Tape - Netto
  7. Vacuum Cleaner
  8. Cloth Piece
  9. Cleaning Solution (If Required)
  10. Scissors
  11. Fab Tiny ISP design downloaded from Brian’s page Link to Brian’s Page

    The mechanical setup

Step 1: Go to "view mode" by clicking on the view button on the Modela

Step 2: Clean the work surface thoroughly using the blower and surface cleaner.

Step 3: Tape down copper board at o,o position ( 1 inch x 1 inch from bottom left corner) using the double sided tape. We used Netto Tape, which is rather thin yet strong.

Mill plate

Step 4 Loosen existing bit with the provided allen wrench.

Spindle and Bit

Step 5 Put 1/64 inches bit in the modela, which is 0.0156" decimal. Set it up as high as possible in the machine. This part needs to be very carefully done as the bit might fall from our hands and get broken.

Step 6 As a precaution we placed it from bottom up, in a way so that it will only fall into our hands. Besides, we kept a towel underneath as a safety net.

Step 7: Clear out the memory of the Modela, by holding the both ""up" and "Down on the machine.

Now instructions to make a toolpath are given through the Mods interface.

Mods Interface
Just as in the case of Vinyl Cutter we used Mods Interface and not the software given by the manufacturer to interact with the machine. Mods interface is a set of software tools for personal fabrication which can be used with machines common to fab labs around the world. It is maintained by the Center for Bits and Atoms, MIT. Mods

Step 8: The command bash start -servers is given on the command prompt, the mods page will open up in the browser. As I did not bring a laptop to the lab, I had to borrow from Eldho Kurian, my fellow fab academy student.

command prompt

command prompt

command prompt

Step 9: In programs-1 Machines Roland Modela MDX-20

Step 10: Load the image as a png or svg file

command prompt

command prompt

command prompt

Step 11: Set PCB default settings if required, Select the bit, here 1/64 and adjust the depth. mod7 PCB defaults

Step 12: The raster image is made and shown based on the inputs we have given already That output ia a vector file which can be viewed

command prompt

command prompt

mod10 nodes
Step 13:Set origin by specifying the starting points where the workpiece is kept. Here x = 10, y = 10 and move the spindle to the origin
Lower bit close to the origin by pressing the “Down” button, and stop without letting the bit actually touch the surface.

Loosen the hex screw that holds the bit and lower it until it touches the top surface of the board.
Lower it slowly so the bit doesn’t fall into the board and break.
Now that the bit is at surface level, tighten screw. The bit has a tendency to move up while screwing, this may end up in partial or no milling.
So the bit has to held tightly in place while tightening the screw.
Step 14Open Mods again and then send file to machine.






The most challenging part of this process is to get the correct cutting depth. The bits yield a wider cut the deeper you go, effectively robbing you of precious engraving resolution. If the right depth is not tuned in, some traces will come out too thin and frail.
I had to try out a few cutting depths and had to readjust the height of the bit to the correct position, ie. the tip just touching the plate.
Here is the list of various cutting depths I tried out.

Soldering the Circuit


  1. To solder all the components on to the Milled PCB and create a Fab ISP programmer ready to be programmed as given by Brian
  2. Track Test it and ensure it is working.
  3. Connect it to the USB port of a computer and ensure the Power LED switches ON

Soldering Output Required

Soldering Soldering is the process in which two or more metal items are joined together by melting a filler metal, with relatively low melting point, and then letting it flow into the joint and acts as a permanent glue. It is done to form a permanent connection between electronic components. Only the solder melts and not the parts that are being soldered.
Materials used for soldering

Tools Used

  1. Soldering Iron - very expensive iron, costs around Rs 15000/-
  2. Flex - to give viscosity for soldering and for surface cleaning
  3. Tweezers - To keep tiny components in place
  4. Soldering Lead - Solder is a fusible metal alloy used to create a permanent bond between metal workpieces, an oxymoron here because it is lead free solderThe melting temperature of the lead-free soldering lead used in our lab is about 217°C.
  5. Desoldering Pump - for removing through-hole components
  6. Soldering wick- Braided copper wire used for drag soldering (IC Soldering) and desoldering.
  7. Pen knife - To isolate and clear trace after soldering
  8. Fume Extractor
  9. Magnifying glass
  10. Lamp

    Components used for soldering FAB ISP
    Board file shows where each component is placed. It is made from the schematics file.

Schematics File

Board File

Components I used

How to identify Positive and Negative Sides of components 1. Attiny45 microcontroller chip - The dot on the chip should be at the same side and direction as the dot in the Board File

Attiny45 microcontroller chip

2. Zener Diodes - The silver colour line on the diode should be at the same side in the Board File. This is the cathode.

Zener Diodes

By connecting Cathode to positive and Anode to Negative, here we are reverse Biasing the zener diode. Ie, this diode with a Reverse Biased voltage of 3.3v will act as a voltage regulator. If we input 2v, the output will be 2v, if we input 3v the output will be 3v. But if we input anything beyond 3.3v, it will still be 3.3v. When connected to the USB port of the computer, iIt takes the input 5v and gives an output of 3.3v 3. LED - The Cathode, negative side has a thin green line. So the thin green line should come in the area where the Board File has a thicker line.


Clamps The soldering workpiece can be held using three methods in our lab.

  1. Clamp PCB with tightening screw

Soldering Clamp Screw

PCB Clamped with tightening screw

  1. Clamp PCB with crocodile clip

Soldering Clamp Clip

PCB Clamped with clip

  1. Fix PCB on a table using double sided tape; we used Netto tape.

    Soldering Process
    Step1 - Solder needs a clean surface on which to stick. So clean all the surfaces.
    Step2 - To solder, heat the end that needs to be connected with the tip of the soldering iron(by holding soldering iron like a pen on the handle) for a few seconds, then press the tip of the solder(Atiny dip of flex on the tip is good).
    Step 3- Important - Apply heat on the connection, not the solder.
    Step 4 - Ensure that a good connection is created
    Step 5- Let the solder melt and create the joint, but don’t let excess solder. It just needs enough to make a connection.
    Step 6- Remove the solder tip and the iron.
    Step 7- Let it cool for a few seconds.
    Step 8- Make sure that the connection is not overheated, as it might damage the component that is being soldered.
    Step 9- If the connection has excess solder then reheat and use the copper wire to remove it.
    Step 10 - Wipe the tip of the iron on a damp sponge to clean it. The tip should now be shiny.
    Step 11 - Unplug the soldering iron when it is not in use.

Soldering Using Lead

Soldering Using Lead

Removing Using Copper Wick

Removing Using Copper Wick

My First Attempt

My first Soldering attempt, looked very bad, So I remilled and re soldered it.

Final Soldering

Things to be careful while soldering

  1. Keep the temperature at about 320-350 degree Celsius
  2. Clean the tip always
  3. Use ample flex material
  4. Be careful about positives and negatives
  5. Keep only 1 component outside at a time

Track Test

Whether unwanted joints occurred or any needed were removed. If any joints are removed, do patchwork using soldering and create continuity I tested it with multimeter.

Track Test

Software Installation

Once I finished the track test, it was time to program the board with the correct firmware.
Detailed debugging steps are provided in the Fab Tiny ISP documentation page.
For Ubuntu and other Debian-based distributions, enter the following command, followed by your password when prompted:

sudo apt-get install avrdude gcc-avr avr-libc make                                                                      
Build the Firmware

I downloaded the firmware source code firmware source code and extract the zip file (on Linux, unzip Open the terminal and go to the directory by using the ‘cd’ command. Once in the directory type ‘make’and click enter. This will build the .hex file that will get programmed onto the ATtiny45. When the command completes, you should now have a file called fts_firmware.hex.

Program the ATtiny45

The make file of the firmware assumes that you are going to use a programmer in the usbtiny category (another fab ISP). If you’re using a different programmer, first figure out what avrdude (the programming software) calls it.
Edit the file called Makefile. It is important to use a text editor intended for programmers. Near the top of the file, find the line that says:
PROGRAMMER ?= usbtiny
change usbtiny to whatever programmer you’re using.
Plug the board into a USB port. USB2.0 is preferred over 3.0 if you have one, and use an extension cable so that you do not put strain on your board especially if your port is upside down. If you installed the red LED, it should be lit up now. If not, check the solder jumper and make sure that it is bridged. If your computer complains about a USB device drawing too much power, unplug the board and check for shorts.
Connect the programmer to the ISP header on your board. Note that there are two different orientations in which you can connect the cable; it is imporatant that you get pin 1 in the right place. Pin 1 is the MISO pin and it should be connected to the MISO pin of the board you are programming. Type


In terminal and ensure the device is identified


After in the terminal run the command ‘make flash’. This will erase the target chip and program its flash memory with the contents of the .hex file you built before. You should see several progress bars while avrdude erases, programs, and verifies the chip.

make flash                                                                                                                               


If something went wrong, check:
Once you’ve successfully programmed the flash memory, it’s time to set the configuration fuses: First, we’ll set the fuses that control where the microcontroller gets its clock source from. This will allow us to check that the board works as a USB device, but it won’t yet be able to program other boards. Only after confirming that USB works, we’ll set the fuse that disables the reset pin and turns it into a regular GPIO pin. This will let the chip use the reset pin to program other boards, but will disable the ability for this chip to be programmed again. Go to the terminal and run the make fuses command. This will set up all of the fuses except the one that disables the reset pin.

make fuses                                                                                                                              




check wether the programmer is detected. If you see a “Multiple Vendors USBtiny” device, then the programming has worked. If it didn’t, the dmesg command might provide more info on what went wrong.

Blow the Reset Fuse

We need to change the bit that will turn the ATtiny45’s reset pin into a GPIO pin.This will disable our ability to reprogram this ATtiny45 in the future, hence make sure everything is working before doing this. Connect your ISP programmer to your board one more time, and in the Terminal run

make rstdisbl.                                                                                                                          


This does the same thing as the make fuses command.with that, avrdude will never be able to talk to this chip again through the ISP header. Now our programmer is finished.

Power Led

Vinyl Cutting of PCB

Vinyl Cutting 1

Vinyl Cutting in progress

Vinyl Cutting 2

Laser Cutting of PCB

We were able to do laser cutting PCB as well because our lab has a Trotec speedy 400 Flexx CO2, Fiber Laser with Power 60-250 Watts CO2 60-120 Watts Flexx and Laser Power Fiber is 20-50 watts

Laser Cutting

Laser Cutting

Laser Cutting

Laser Cutting

Mistakes made

While Milling

  1. The first time I did the milling, I started cutting without bringing the head down to the origin, so it started doing the cutting motion at a height. So I had to stop and start over.
  2. While starting over, even though I have recalculated and done all other steps, I had to close socket and open socket operations, or the machine will not read the new instructions but will continue the milling it was already doing.
  3. Although I was careful about origin and how much the workpiece will extend in the x -axis from the origin I set, I did not care about the extent on y-axis from the origin. The cutting was done outside


  4. Size of design should be lesser than the size of the design

  5. Check the orientation of the workpiece and the design
  6. Check the smoothness of the bed
  7. Placement should be parallel to axis
  8. Setting up and Drill Time -The first boards that have been produced took approximately 45 minutes -1hour to route and Mill . Quicker times have been achieved later on. A lot of time was wasted because the sacrificial layer was not in place correctly. Once the routing was completed the milling time for 1/64 tracing took about 8 minutes and cutting using 1/32 took about 2 minutes.

    While Soldering

  9. First time I used a lot of lead and ended up having devices which were sitting on top of a tiny mountain of lead. According to my instructor, I had a flying diode. I’m also certain I ended up destroying the 2x3 Header.

  10. The second time I soldered I was stingy with lead and ended up not having enough lead at some parts. So I had to resolder those parts to enable connection.
  11. The copper I used to remove the lead was not clean and ended up causing more lead on the board.

My Partners

Our instructor Jogin Francis helped, Yadu Sharon gave us tips in his absence.
Eldho Kurien and I learned most of the theory together and we were joined by Tom Jose and Anooj Jacob to do the group Assignment.
When I documented most of this work I was not alone. I was joined by Padmini and her siblings, who were constantly trying to get my attention. Here is Padmini learning some Fabacademy modules. A photo captured by my better half, Abraham Tharakan. Madam won’t stay still even for a second; guess her restlessness and energy is clear from that picture.

Padmini Learning Fabacademy