Hello PCB Fab

5 Oct, 2009

Project 3: PCB Design, Fabrication, and Assembly

Hello World!

Fabrication Notes:

My boards were milled on the Modela with cad.py as the Fab mill motor was burnt out. It was fairly straight forward. The key thing to remember was to make sure that the setting for dpi was switched from 200 dpi to 500 for milling. It took me a couple tries due to a broken tip and then some confusion about which size bit was there, but again, pretty straight forward.

A couple useful items of note:

-If you want to change the x, y origin setting (or make other changes for that matter), make sure to redraw the contours after you make the changes. You can't tell from the cad.py image, but changing the origin without re-calculating the contours doesn't actually update what is sent to the mill.

-One way to kill a job to the mill that you don't want is to kill cad.py and then power cycle the mill. A couple of us tried just killing the print jobs and power cycling but that didn't seem to properly clear it. Killing cad.py itself definitely did work. If the terminal is running cad.py this can be achieved through ctrl-c ctrl-c. Otherwise try top to find the process and kill to stop it.

Construction Notes:

I soldered my board. Not much else to say except to remember that the line on the diode is at the cathode end.

Construction Notes Addendum:

Building my board was straight forward. Getting cad.py running so that I could look at the board schematic was not. This involved installing:


-gnu fortran

-python packages


--scipy (gfortran must be installed first)


--serial (this was for running serial connections later and the present release requires python 2.6)

All of these are fairly easy to find through google or links from the class web-page. The Python 2.6 and gFortran ran through automatic installers. The others must be built and installed using the following lines:

Making Cables:

I've made quite a few cables before so this was also pretty straight forward although I had to solder one of my DB9s as the class ran out of the crimps.

Programming the Boards:

Here, the time consuming issue was setup. Not having the right adapters and drivers to use my laptop, I tried programming my board using a windows machine. This loading avrdude and meant installing python and some packages. Having done most of this once, it wasn't too hard the second time. Except things didn't work. You have to raise the DTR pin to power the board and that was done by opening an rx listening connection (python rx.py com6 9600). This worked and I was able to verify power to the chip. I never could get the board to program through the dasa interface. Supposedly my board didn't respond.

Win with Parallel. Lose with Dasa.

As others had success with programming using the parallel port, I built up the parallel SPI cable and tried that. Win! The board programmed and talked back. All cables and board assembly- Go! I haven't been able to get it to work on my windows machine, but it did work right away on the lab linux box. The only thing here is to remember to disconnect the programming interface to see the board spit out

Hello World!

Still to Figure Out:

Why is dasa not working for me? And why is the parallel port not working with windows?