5. Electronics production

In this week my assignment was to produce an electronic circuit board, with the following tools

  • Machine
  • MonoFab Roland SRM 20 - Milling Machine

To read more about the machine specification please Click Here

  • Tools
  • Solder Wire
  • Soldering Iron
  • Electronic Microscope / Magnifier
  • Tweezers
  • Flux Or Flux Pen
  • Fume Extractor Fan
  • Razor Knife / Cutter

Assignment Circuit Production

There are several circuits to choose from based on different technologies to work as a programmer/debugger they are listed below. 1. ICSP utilizing Attiney45 chip as the core
2. UPDI (AVR 0,1-series)
3. JTAG utilizing ARM CMSIS-DAP debugger utilizing ATSAMD11C14U chip

Circuit Production Group Assignment

Definition : a programmer is a small PCB board with a micro controller on board used to move processed and compiled code to another microcontrollers as new program to be burned on it. However I was interested in building (1 & 3).

Initial Steps : Convert the PCB image in to machine tool paths

At this point of the course I am required to produce electronics board and the first to do in practice to get our hands use the methodology and getting experience to use the machine that will mill and cut our PCB for us. In order to do that process the first and far most important step is your PCB design and converting it into a machine code where the machine understand the instructions in it and move it accordingly. I am going to use mods mods to prepare the file for both of the PCB’s.

  1. Head to the following link http://mods.cba.mit.edu/
  2. Right Click In The White Page Select Programs
  3. Open server program Scroll Down the Menu & Select Roland mill SRM-20 -> PCB png
  4. A Page with lots of modules will be displayed got to the bottom of the page and right click -> open server modules
  5. Scroll down the menu -> Select File -> Save
  6. Click the outputs image (RGBA) then directly click on file (object) to connect the link

Until this point we have prepared the environment to start loading our circuit PNG files

  1. Now Go Up again and load your file 1 click select PNG button -> navigate to your file and click open
  2. Now Go to Set PCB Defaults and select the tool you are going to use for milling the traces by clicking the button mill trace 1/64 -> head to the mill raster 2D -> click calculate and save the track milling file
  3. Now its time to prepare the second file for cutting the PCB board go back and Load the cutting File -> then select mill outline 1/32 -> the calculate -> save the cutting file

at this point we are ready to mill the board. but first we need to prepare the mill by loading the milling bit into it and then moving the spindle to the point where I want to start milling my traces.

Prepare The Mono Fab SRM-20 For Milling

In order to use the machine, we need to keep in mind that the machine is brainless it moves and does what its commanded to do. These kinds of machine usually use GCODE to control them how ever some closed source companies use their own flavor of commands for business purposes for the Roland Monofab SRM 20 they use file extension .rml

Step #1 : Get a single sided PCB board big enough to mill and cut your circuit on it, why single sided because all the 3 circuits don’t double sided traces.

Step #2 : Put 3M thick double sided tape on the back of the copper plate cut it and stick it to the length of the board, and keep it equally spaced to have a surface as flat as possible. when you put it over the sacrifice board, usually from MDF soft material.

Step #3 : Using the leveling tool with an air bobble within to check if it the same on all sides.

Markings In The Picture Above 1. Leveling Tool 2. Sacrifice Board 3. PCB board 4. 3M Thick Double Sided Tape

Step #4 : After sticking the PCB board onto the sacrifice board, it time to check the PCB leveling Diagonally from Top Left to Top Right and center, in all condition the bobble should remain in the center of the leveling tool, if that is done then we move on to the nest step.

Step #5 : We load the milling bit 1/64 on to the spindle and tighten the screw to hold the bit, caution please avid drooping the bit it is too fragile it easily get broke. The using the Roland MonoFab SRM-20 Control Program Move the bit in X/Y Direction to the desired milling spot, Then Set Origin Point X/Y Origin point by clicking X/Y button on the top right section of the program below user coordinate system drop down menu. at this point your X/Y origin is set, now it time to lower the Z axis

Step #6 : Then carefully lower down the Z axis, when it too close and about to touch the surface. put you hand to hold the bit and untighten the screw, let the bit slide softly to touch the bed. and tighten the screw to hold the bit firmly (don’t over tighten it will damage the thread or the screw itself).

Now, Then Set Origin Point Z Origin point by clicking Z button on the top right section of the program below user coordinate system drop down menu.

Step #7 : Then its time to load your cutting file to start milling, press the cut button, and delete all files in the list, then add/load your file .rml extension then make sure the machine clear door is closed and then press output button. the machine will start the spindle until it reaches a steady desired rpm the it will start moving to cut your board.

Step #8 : After the machine is done with milling your PCB, Using the brush remove the dust to make sure you cut the board without any errors if all is ok, then its time to change the bit/tool to cut your PCB board. Raise The Z using the motion button on the control program. hold the bit and untighten the screw carefully and remove it, put it back into its red plastic cover,

now take the 1/32 bit and load it to the spindle and tighten while holding the bit when done, repeat the step in Step #6 for the 1/32 bit and then Step #8 by choose the cutting file not the milling file, and start the process by pressing output button after loading your file.

Step #9 : After the end of this process, use the brush to remove the dust from the board area. and using a razor knife carefully try to extract your board from its place. now use some sand paper or soft file to remove the coper edges and clear the board. Finished !? Hurray Its time for Soldering.

Building ICSP utilizing Attiney45 chip as the core

This circuit was designed by Brian, for more information about this circuit please visit the following link http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html

  1. Circuit Diagram

  1. PCB Board Layout

Preparing The Components

1st Final Result

1st Programmer Detected By computer

Programming The Programmer

Building CMSIS-DAP debugger utilizing ATSAMD11C14U chip

After milling and cutting the board it is time to build the programmer, for more information about this programmer please visit the following link http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html. The components that’s required are as the following based on its circuit diagram

  • Components
  • ATSAMD11C14U chip
  • LM3480IM3 3.3V Regulator
  • Resistor 0 Ohms chip - Note : Resistor with value Zero Means It Used Here As A Jumper - Which Means it can be replaceable by a wire
  • Two SMD Headers (5pin x 2rows)

Preparing The Components

I took a piece of paper and marked it down with the components names and layout the components under its markings that’s to avoid mixing up the components.

Cleaning The Board & Placing The Components

  1. Using the razor knife I piled off the excess copper surrounding the USB conductive lines, because it will cause a short circuit if inserted to the USB port and damage the computer port.
  2. Using the Flux pen I carefully applied it on the board where the components have to be places to give is a grip and to enhance the solder to easily hold into it cleanly.
  3. Using the tweezers I carefully place the components in its position, made sure they have a grip a little bit.

Soldering The Components To The Board

Using the Fume extractor, USB microscope magnifier & the soldering iron I managed to solder the components on to the board. It wasn’t an easy job though because I wear glasses and I don’t have a sharp view, this cause me some mistakes while soldering, The USB microscope had some issues with picture freezing frequently that contributed with my latency of finishing the PCB.

The Pre Final Result

The result can be seen in the image above I tested it with a multimeter trying to find out if the connections where correct without short circuit, after testing the meter didn’t indicate any shot circuit, it didn’t work and when I plugged it into USB it started some sparks in between the wires eventhood there is not sign of short circuit, so I decided I will continue doing it on the next day.

2nd Final Result After Retrial On the Next Day

I successfully managed to create the circuit board whiteout any issues at all, now its working like a charm.

2nd Programmer Detected By computer


Even though in the beginning the circuit seemed to be easily buildable, the process of picking and placing was challenging somehow especially when you have shaky hands, but the fact of soldering the components on to the board in most cases the solder don’t hold on to the board directly and but adding some more solder all of a sudden the place is flooded with solder and shorted several connection. I concluded that extra flux should have been added to the tips of the components and chips to help heat up the soldered and makes the solder Merage with the component easily and grip the board. dipping the terminals of the components into flux before placing them will definitely give you a quicker and cleaner soldering job.


Soldering SMD components with a soldering iron is a good practice, yes I do agree that you need to have the skill, but there are other alternatives for dealing with SMD is a components.

We can build and oven controlled by an Arduino up to reflow the SMD components to the board. and using liquid cream like substance gray solder past. is going to make the job easier safer and more convenient. I am planning to build one for the lab my self to help me with my future assignments and I will share a link to some YouTube videos where you can learn and do it your self.

  1. https://youtu.be/4eK1iC6IB90
  2. https://youtu.be/T7FJ0xH54NQ