Skip to content

8. Electronics Production

her shot week 8

This week i enjoyed making my own PCB board, which was made using Roland SRM-20 milling machine.I have got the basic hands on experience to use this machine along with the MODs as software to generate rml file for milling and VPanel driver for running the machine.It also comprised of soldering the components required as per my design from week 6 and testing my PCB board with Arduino IDE with programming.

Nevertheless, these processes like milling using SRM-20 and soldering needs patience and attentive with precautions along with the safty.

Assignments for week 8:

1. Group Assignment

  • characterize the design rules for your in-house PCB production process
  • submit a PCB design to a board house

2. Individual Assignment

  • make and test a microcontroller development board that you designed
  • extra credit: make it with another process

1. Group Assignment.

Group Assignment link is here

Learnings outcomes from the group assignment:

This group assignment help me learn on the design rules test for PCB production going through the line test taught by Neil in the class. The 1/64” end mill was used for inner traces and 1/32” end mill for Edge.Cuts.The setting for 1/64” end mill before calculating to get rml file were to be having cut depth of 0.004 inch, offset number-4, offset stepover-0.5 and cutting speed of 4mm/s. And for 1/32” end mill, setting cut depth of 0.024inch, offset number-1 and cutting speed 4mm/s.

While operating the SRM-20 milling machine, one need to be attentive throughout.Some safety measures to be considered are holding the end mills while removing/changing, monitoring the curser step for spindle movements to axes, fitting the sacrificial layer and copper clad boards firmly with its bed, and setting the X,Y and Z-axes origins wisely.

2. Individual Assignment.

Fabrication of Microcontroller Development Board using MonoFab SRM-20.

Processes involved:

1. Exporting F.Cu files and Edge.Cuts files.

For this PCB fabrication, i will be using the electronic design from week 6 which i have designed as per the need of my final project.I have used Xiao SAMD21 as my microcontroller.

I have used design from my week 6 assignment

week8image1

Fistly i opened my design of week 6 and has exported the F.Cu file in SVG format as shown below.

week8image 2

Similarly i have exported the Edge.Cuts file.

week 8 image 3

Since i was using KiCad 9.0 version, my exported SVG files were not suppoorted for mods.So i had exported my files as PNG format using the Inkscape software.I had resized to content and changed DPI to 950 for both files.

week 8 image 4

week8 image 5

My png files exported from Inkscape looked like this.

png files from inkscape

2.Using MODS to convert PNG files to rml

MODs is a software developed by MIT which was mainly for the PCB milling as it makes easier for the machines like MonoFab SRM-20 milling machine.It converts files like SVG and PNG formats into rml format which can be read by SRM-20 milling machine.

To convert my files, i searched mods from google chrome.

Once i get to the mods, right clicked on the blue icon and selected program.

week8image6

I continued by selecting ‘open program’ followed by clicking on ‘mill 2D PCB’ under “SRM-20 mill”.

week8image7

Then the SRM-20 program pop up with the initial outline below.

week8 image8

In the first node in the left i have inserted my png file.Then, under the set PCB defaults node, i have selected the trace mill of 1/64 inch since i have to mill the trace for F.cu first.

week8image9

I clicked on calculate and view under ‘mill raster 2D’, followed by changing X,Y and Z origins as zero under ‘Roland SRM-20 milling machine’.

week8image10

This is how my F.Cu traces looked when viewed.

week8image 11

Then i proceed by turning on the ‘on/off’ node located right side and cliched again on calculate under ‘mill raster 2D’ to download my rml file.

week8image12

Here is the final workflow to download rlm file for F.Cu

week8image 13

I followed the same procedures for downloading the rlm file for Edge.Cuts.But i had to change 1/32 under thge ‘set PCB defaults’ node and changing ‘offset number’ 1 under the ‘mill raster 2D’

week8image14

links for adding library for XIAO Samd21 here

3.PCB milling using ROLAND SRM-20.

week8image15

For my PCB milling, i used 1/64” and 1/32” end mills for making traces of F.Cu and Edge.Cuts respectively.

week8image16

The setting of Copper Clad board involved the cleaning of underlay bed and changing the sacrificial copper clad layer.Another copper clad board that can be used for actual PCB work is added.Both the copper clad boards axactly fitted as per the size of the machine bed and were pasted with double sided tape.

week8 image 17

Ensured that the copper Clad boards were fixed gently on its bed.

week8image18

I pressed ‘on’ the power button of SRM-20 milling machine.

week8image18.5

Now, i opened the “VPanel” which was the driver for the Roland SRM-20 milling machine and displayed its panel where i jogged the X,Y and Z axes.

week8 image 19

I inserted the 1/64” end mill with the help of allen key and tighten it to its spindle and chuck.

I Jogged the X and Y axes to the optimal space by maintaining gap for Z-axis to about 30mm from copper board.I made clicked on “X/Y” under “Set Origin Point” to set origins for X and Y axis.

week8image20

Followed by making Z-axis zero by making use of ‘Curser Step’ to touch the paper placed to act gently on the Copper clad board.I have used paper for the safety from breaking the end mill.I gave some manual pressure on the paper about its thickness towards the copper clad to ignore the impact of adding paper for levelling.

week8image21

After setting all axes zero, now it was time to run the SRM-20 milling machine.

Clicked on ‘Cut’ option and upload the downloaded rml file and delated the existing files.Finally clicked on ‘Output’ and the SRM-20 milling machine stared to cut F.Cu layer.

week8image 22

After completing the milling work, i cleaned the working area by vacuum cleaner.

week8image23

And then removed from the sacrificial layer and cleaned again and took towards the electronics compartment for contuinity test my board.My board showed fine for now.

week8image24

4.Soldering works for my PCB board.

Soldering need practice and patience as it may affect my PCB board without practice. So my Local Instructotrs helped me with demonstration and i have started practising with the damaged components and boards.

practice soldering image

After i am done and some confident in soldering, i have collected the components to be use for soldering with my PCB board.The list of materials are as below.

collected materails required

Some of the tools, equipment and materials i have used during my soldering works are listed below.

soldering tool,materails listed

I started soldering and i checked the continuity of circuits after every components to ensure the working.

solderprocess image 1

I continued soldering.

solderprocessimage2

My final board after soldering looked this way and again checked for the contuinity for all the traces and components.It shows fine.

solder processimage 3

5.Program run for my PCB board fabricated.

As i will be using Xioa SAMD21 as microcontroller for work, i had to look for the pin outs and referred link is here.

xiao samd21 pin outs

To make convenient to use for this work, i have sketched to show the pins and layout for my PCB board as per the design.

week8programimage1

I have will be using Arduino IDE to test a simple LED blink with my board.

Since i have to use Xiao SAMD21 as my microcontroller, i had to search for the library package for it.So i have found from this link and copied the link address and pasted under “Preferences” in Arduino IDE.

xiaoSAMD21packageimage1

Then pasted the copied link and clicked OK.The Xiao SAMD21 libarary was added.

xiaosamd21package image 2

Before i run the program with coding, i had to plugged in my PCB board via USB port and check if Microcontroller and LED is blicked.The Light on my MCU blink along with the LED at board which indicated that it is working.

board working test image

Next i wanted to run a program for my board. I looked for a code to blink LED from chatGPT.

code from chatGPT

#define LED_PIN 10  // Onboard LED on Seeed XIAO SAMD21

void setup() {
    pinMode(LED_PIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_PIN, HIGH); // Turn LED on
    delay(500); // Wait for 1000ms
    digitalWrite(LED_PIN, LOW); // Turn LED off
    delay(1000); // Wait for 500ms
}

The above code pasted from chgatGPT.However, i have changed LED pin to pin 10 as i wanted to try with D10 and changed the LED delay blink time to 1000ms.

From the above codes,

"#define LED_PIN 10  // Onboard LED on Seeed XIAO SAMD21"

This code above means that the LED pin is defined by pin 10 or D10 on Xiao SAMD21.

"void setup() {
    pinMode(LED_PIN, OUTPUT);
}

This explains that setup loop function executes once when the microcontroller get started and the pin 10 acts as output that controls the LED.

void loop() {
    digitalWrite(LED_PIN, HIGH); // Turn LED on
    delay(500); // Wait for 500ms
    digitalWrite(LED_PIN, LOW); // Turn LED off
    delay(1000); // Wait for 1000ms
}

The above code explains that the it configures continuously after every program.The LED turns on with pin 10 with high voltage and pauses the program for 500 milliseconds.Then the LED gets off and it waits for a second to begin another serial configuration.

To run the program, i had connected using bread board, jumper wires,LED, and my PCB board.I connected the board to computer via USB.

connections image

I opened Arduino IDE and clicked to new sketch and pasted my codes.

coe pasted in arduino IDE

Next i had selected my board and port for the program.

board and port select week8 image

Followed by clicking on compiling and uploading

compile and upload image week8

Next click on serial monitor and observed the LED blinking every after 1 second.My video showing the blink LED below.

My Learning outcomes from this individual assignment.

Here ends my week 8 of Fab Academy, where i could learn basics on producing my own PCB board with design and soldering the components and programming.I have learned that i need to be attentive during the PCB milling as anytime bad will happen or break the trace end mills.Though the SRM-20 milling machine looks small in size, it showed high precision in terms of electronics production.Soldering needs to be taken seriously by using safety measures.

Disclaimer : all the writings are done myself except for the codes referred chatGPT but edited some portions of codes and the links referred are provided along my document.I have explained the codes used