Skip to content

Welcome to week five

in this week i will follow the

Summary with links

-Assignments -Project management

  • the assignment
  • Preparing the file in mods
  • Milling process
  • Soldering
  • Desoldering
  • Testing

    -This week’s results

Assignment for week five

  A. Make an in-circuit programmer that includes a microcontroller
  by (milling)

  B. stuffing the PCB,

  C. Testing it.

in this week I choose to make a UPDI USB .

I will go through the steps smoothly


i am using our lab’s smallest Milling machine that is monoFab SRM-20 by Roland.

1. preparing the machine

first step of all Getting the copper board coated by the double face tape so it will stay sticked to the board while milling. then i choose to start with 1/64” milling bit that is used for the PCBs millings .

ther is two bit one for milling traces which is () and one for cutting the outlines which is ()

adjust it inside the machine making sure it’s more than 75% of it’s length’s inside the machine and then adjusting the correct XYZ axes to the board by the program.

The program is Vpanel and we are using arrows to change the place of the bit. and we can choose a specific cursor step to move accordingly . to record the coordination of the origins we click on the right as shown above.


What is Mods?

it’s an online run program by MIT to generate rml files from png files to use the Roland machines .

  1. Referring to the website i will put the steps in images to prepare the rml files
    right clicks

  • Open mods

right click and press program choose server program. now we will choose the Roland 20 SRM (our lab’s PCB milling machine) now this windows will show up and we are ready to set-up settings for the millings first i will upload the traces (mill trace (1/64)) then we will adjust the settings first is to make sure the cutting depth and change the offset number to clear as much excess from the board design now i will set the coordinate x,y,z to 0,0,0.

now to export the .rml file we will need to add a save window by clicking on modules-save

and then we press calculate

now after saving this file i will upload it inside the v panel program that we open previously. and click cut

and then upload to start the machine.

the result

I will repeat the whole process but to the “traces” changing the set PCB defaults to (mill outline) and change the z origin acrrodingly to the new bit.

the result


Depending on component drawing that were provided I went to collect the parts that I have in our lab. tip brig a piece of paper with a double face tape on it and write down each component on a row and stick each componant next to it’s name :) like this:

then solder every component on it’s appropriate place.

so it went from this

# to this

it was my first time soldering a board so i needed to check a short circuit by the multimeter

Development Environment (Windows 10)

Step 1: Download Atmel AVR Toolchain for Windows“” after extracting it i copied the folder “avr-toolchain-windows-master” to “C:\Program Files”. Step 2: Download “GNU Make” installer file and launch it. Proceed with default installation options. Step 3: Downlaod avrdude Extract it and copy the folder “avrdude” to “C:\Program Files”.

Step 4: Open Control Panel > System > Advanced System Settings > Environment Variables and in “User Variables” section select “Path” and click on “Edit”. For each path listed below click on “New” and add it to the list.

C:\Program Files\avr-toolchain-windows-master\bin C:\Program Files (x86)\GnuWin32\bin C:\Program Files\avrdude This will tell Windows where the locations are for the tools when used in Git Bash command line.

Step 5: Downlaod “Zadig” and run it. Insert the programmer into USB and go to Zadig > Options > List All Devices. Select “USBtinySPI” from the dropdown list and select “libusb-win32 (v1.2.6.0)” in the target driver side. Click on “Install Driver” The programmer should be now recognized by Windows.

Step 6: To check your tools and drivers, start “Git Bash” and run the commands “make -v”, “avr-gcc –version” and “avrdude -c usbtiny -p t45”, if you see the same response in command then you are good. Also, check that the programmer is listed it “Device Manager”.

Programming the FabTiny ISP


  • Before testing remove the copper at the ends with a knife.

  • Add a piece of paper to the back, to make sure the UPDI makes contact with the cable.

Last update: November 30, 2021