5. Electronics production

Objectives of this week are:

1- To work as group to characterize the design rules for our PCB production process.

2- To make an in-circuit programmer by milling the PCB, program it, then optionally try other PCB processes.

Group assignment

Please check the following link.

Milling PCB

We have started this week by doing the group assignment. The purpose of this assignment is to characterize the design rules of our production process. We have used the comb test again in this week. The comb contains multiple lines with different thicknesses, and from this experiment we were testing which lines the machine can detect. Here is how we worked:

1- First of all, we saved the test image in our PC as .png format.

2- Then, we opened the fabmodules to convert the picture to a file that our machine can understand.

3- We clicked on input format > image (.png) > and we chose the image that we have just saved.

4- After the image import, a new column called “output” appeared. We chose “Roland mill” option.

5- After that, another column appeared (process). For the process, we used the (1/64) to make the traces of our PCB and the (1/32) to cut through the piece.

6- Then we chose the machine “SRM-20” because that’s the one we have.

7- For the setting on the right side, we set the x, y and z to 0, 0, and 0. The speed to 3, and the zjog to 12. These are the recommended setting.

8- Then, we clicked on “calculate”. The red lines show us the movement of the machine while milling.

9- Finally, we clicked on “Save” and the file will be saved as .rml

Moving to the machine software (Vpanel for SMR20) and the physical setup, we did the following:

1- We put a tape to stick our PCB on the surface.

2- Make sure the your PCB is leveled.

3- We placed the 1/64 end-mill in the machine.

4- With the software, we set our orgin for x, y and z.

5- We set the speed in the middle.

6- We moved the the end-mill few cm up and away from the z orgin.

7- We clicked on cut > output to run the machine and to warm the drill-bit for few minutes.

8- We returned back to our z orgin.

8- Finally to mill the traces, we clicked cut > we import the traces file > output.

To cut the piece:

1- Using fabmodules again we saved the outline file as .rml.

2- We replaced the 1/64 end-mill with the 1/32.

3- In the software, we reset the z orgin .

5- We clicked again on cut, we add the new file of the outline, then output to start cutting.

Moving to the individual assignment I have worked on Brian in-circuit programmer using the micro-controller ATtiny45. I have made my circuit following the same steps of the group assignment. Here are the steps again in general:

1- Using fabmodules convert the circuit images to rml format. Do this for both the traces file and the outline file and make sure that your settings are correct.

2- Save the both files.

3- Using the machine software and by doing the physical set-up, mill the circuit traces using 1/64 end-mill.

PCB from Zahra Almukhariq Page on Vimeo.

3- To cut the outline, replace the 1/64 end-mill with the 1/32 end-mill.

4- Reset the z orgin, import the file of the outline in the software and start cutting your circuit.

Soldering the SMD components

SMD stands for Surface Mount Device and indicates that the component is mounted on the surface of the circuit board in contrast to through-hole components which are mounted in holes (Dahl, 2019). First step in soldering the SMD components or any component is to get your solder station ready. Here is how my solder station look like and the soldering tools that I have used.

Tools I used:

1- Soldering iron (thin tip is prefered)

2- Solder (0.5 mm)

3- solder flux pen

4- Tweezers

5- Loupe

6- Solder fume extractor

7- Braid for desoldering

Soldering steps:

I have experience with soldering through-hole components but soldering SMD components is something new for me. I have started soldering the SMD components on my PCB in the same way that I was soldering the through- hole components. I faced a lot of difficulties while soldering as the solder was not sticked on the PCB and the components were moving a lot. After I tried multipule times, my instructor came and he showed me the correct way of soldering. Here is how I soldered the components very easily.

1- First, Place a flux on the area of the component that you will solder. I used a solder flux pen.

2- Second, put some solder on the area

3- Third, place your component, heat the area using the solder iron so that the solder melt and get attached to the component.

4- Do the same steps for all the components until you finish your circuit.

5- Do the continuity test using multimeter to make sure that all the tracks of the circuit are connected correctly.


Now it’s the time to program the circuit. For programming I have followed exactly the same steps here. This task was a little bit challenging for me because I have started with Arduino. But once I read all the instructions carefully in the link and shifted to AVRISP mkII instead of Arduino, I got everything right. Here is what I did:

1- First of all, don’t forget to build a bridge between the Vcc and the Vprog.

2- Since I am using MacOS, I have started by installing CrossPack.

3- Then, I got the firmware by downloading firmware source code.

4- Next, I opened the terminal program and cd into the source code directory.

5- Next, I run the following command


This has opened a hex file called “fts_firmware.hex” which will get programmed onto our micro-controller ATtiny45.

6- Since I am using avrispmkII, I have updated the Makefile for the type of programmer I am using.

a- open the Mikefile.

b- change the programmer to “avrispmkII”.

c- Ctrl + S to save the changes.

7- I made the connection and plugged the board into the PC using USB cable.

The red light in my board indicates that the board is getting power and the green light of the avrispmkII indicates that the pins connection is right.

8- Back to terminal, I run the following command

make flash

which will erase the target chip, and program its flash memory with the contents of the .hex file.

9- Then

make fuses

This will set up all of the fuses except the one that disables the reset pin.

10- Then


To make sure that the PC recognized by USB.

At first nothing appeared for me. I put some solder on the USB connector terminals, then I pulgged again. I typed again


With the second try my borad appeared with the list of USB devices.

11- Then

make rstdisbl

This command does the same thing as the make fuses command, but this time will going to include that reset disable bit as well (chnage the reset pin into a GPIO pin).

12- Finally, I desoldered the bridge and get my own ISP programmer ready!


Dahl, Ø. (2019). How To Do SMD Soldering Using a Soldering Iron. Retrieved from https://www.build-electronic-circuits.com/smd-soldering/