Lecture on Making a PCB Using a Roland Modela MDX-20

Emma gave us a lecture on working with the Fab Lab’s 3D milling machine. The machine is a Roland Modela MDX-20 and is used to produce a printed circuit board (PCB). We wanted to mill and cut a PCB of a FabISP. The FabISP is an in-system programmer which is used as an interface to program a microcontroller with a computer.

Some notes

  1. Turn on the computer (Ubuntu, Linux) connected to the 3D machine
  2. Prepare the copper plate (max. size 15 × 10 cm): carefully clean it, place and fix it with a double-sided tape on the sacrificial board; re-fix the base with the screws (press the machine’s view button to insert or eject the base)
  3. Copy all necessary files to your personal folder
  4. Open the Terminal and enter fab to open the Fab Modules
  5. Fab Modules: load the first file for milling the traces of the PCB— FabTiny*ISP: the PNG name ends _top and the cutting file ends _out
    1. To mill traces, choose a 1/64 ″ (0.4 mm) bit and press make.path, reset the view to segments to get a more simple graph
    2. Settings:
      diameter (mm)0.44offsets (-1 to fill)
      overlap (0-1)0.51.1error (pixels)
      intensity (0-1)0.5-0.1z (mm)
    3. Press make.path again, press make.rml
    4. Don’t change speed or jog settings; set origin (xmin and ymin), press move to xmin, ymin (origin)
  6. Z-calibration: push the machine’s down button until it is quite close to the board, unlock the 1/64 ″ bit carefully and catch it with the other hand; gently put it down on the copper board and move it a little bit to make sure that there’s no dust between the bit and the copper board; fix the bit again, close the machine’s cover
  7. Fab Modules: Write down your origin (xmin, ymin), press make.rml and then send it

To change the bit, unlock it carefully and catch it with the other hand; insert the new bit deeply until just its head is still visible and gently fix it…

Production of a FabTiny*ISP

I decided to make a FabTiny*ISP designed by Zaerc. It comes additionally with, among others, a red (power signal) and a green (working signal) LED as well as a reset button.

I fixed a piece of copper board upon the base and did all the Fab Modules settings as mentioned above. Unfortunately, the traces were not totally milled. I had to stop the job simultaneously pressing the machine’s down and up buttons. To cancel the job, I focused the Terminal and I typed ps -aux | grep cat to list all jobs and kill (job number) to finally delete it. Please find a full tutorial here.

Photos of production

Waiting to mill the traces and cutting the PCB (we had one machine for 4 people), I soldered some components on a test PCB in the meantime. This little training gave me a feeling for the upcoming task. Working on the real piece, I used a magnifying glass lamp, a double sided tape to fix the PCB, a fan to remove wrong soldered parts as well as copper wire to remove superfluous solder. After washing the PCB, I soldered one component after another from top to bottom and from center to outside.

I made some mistakes:

It was late in the afternoon and I worked quickly. I tested all traces using a multimeter. In order to make it thicker, I stuck some carton beneath the USB plug using double-sided tape. Zaerc made a final check: My microcontroller seemed to be fine!

Installing the Firmware on My Brand New Microcontroller and Making It a FabTiny*ISP

We met at the Waag to install the firmware. I followed the tutorials (FabISP and FabTiny*ISP), installed the CrossPack for AVR on my computer (Mac OS 10.5) and downloaded the FabTiny*ISP firmware. I made a 6-pin connection cable and used another already set up FabTiny*ISP to program my microcontroller. The FabTiny*ISP tutorial was a little bit confusing to me but I did it finally. Note: If the FabTiny*ISP’s slide switch isn’t set correctly, the device isn’t recognized by the computer!

Mac OS X Terminal doesn’t support the lsusb command. I had to use the Mac OS X System Profiler to list my FabTiny*ISP as a USB device. Everything was done in about 1 or 2 hours.