how to make almost anything | fall 2017

Week 2 Experiences: Fab ISP
This week we made a programmer (that can program other programmers).

Jonah & Eytan gave us an introduction to the PCB Milling Machine (they helped us to characterize our machine!)

The standard process of uploading though mods(.cba.mit.edu) continued to be the same for PCB board milling. In the Archshop we had two different machines a Roland. The orang SRM-60 is much nicer to use.

There were two kinds of end mills: 1/64 and 1/32. 1/64 is used for milling the top of the board while 1/32 is used for the outline of the board.

I created a nice checklist/guide to try to anticipate some of the more common failure modes each step (and update it as I discover more)

  1. Mount the board with sticky tape
    • is the sacrificial plate clean and free of oil/debris?
    • is your tape free of bumps?
    • have you pushed down your full board hard to make sure it is secure?
  2. Insert the end mill with just the tip sticking out while it is far away from your board
    • have you screwed in the end mill with the correct number of set screws?
    • have you been very careful to not drop the end mill?
    • is the end mill far enough up so that you can safely move it without any fears of collision?
  3. Zero (home) your board in X, Y, and Z in the mods interface
    • is the Z direction of the end mill holder about a board distance away from the bottom (this reduces vibration)
    • are you making use of board space efficiently?
  4. Bring the end mill down gently and confirm that this location is where you want zero to be
    • are you making sure you drop the end mill gently?
    • l
    • if you make adjustments are you putting the end mill up higher before you move it using mods?
    • are all the setscrews tightened (tight but not forced)? (check to make sure you have gotten all the set screws of the machine)
    • did you try moving the end mill yourself as a sanity check?
  5. Mill the board
    • are you sure that this is the right end mill for the task?
    • are you sure that you have put the right end mill setting into mods?
  6. Pull up the end mill so that just the tip is out again and repeat steps 2 to 5 using the 1/32 end mill for drilling
    • did you pull up the end mill before moving it?

If things go wrong:
Having trouble with the serial server throwing an error? Close the server (command line) and then reopen the serial device.

If your board is going crazy and you want it to stop pressing the PAUSE button stops it faster than any other method (even CANCEL) so you can stop and assess damage.

If you have to restart, make sure you let the old job complete before beginning something new.

A bit on my own failure modes: I was determined not to break any end mills (which of course meant that I actually broke 2).The Roland machine actually has two set screws while the machine I was first trained on has only 1. This resulted in more vibration and a broken 1/32 end mill.

After the initial tragedy, I double checked everything with Jonah before tentatively trying again. The first round of milling went well, but then the end mill broke in the same place as the first time. After more throughly investigating, it seemed as though the end mill had broken on the remains of the first end mill which had become lodged in the board out of view.

It also appears as though despite hitting cancel (&various other buttons), closing the serial divide and turning the entire mill off and then on again, the Roland machine is very determined to continue its path. Pull out or up the end mill and let it go about it’s business.

Soldering and parts collection were pretty uneventful - I have had a lot of experience with both SMT, soldering and PCBs so this process went smoothly (although I mixed up my LEDs). There is definitely something very meditative about soldering that I really enjoy.

Although, I much prefer the wool method of cleaning solder rather than the sponge method.

Programming the board was also reasonably uneventful - I actually downloaded the programer onto my own machine. Justin helped a lot with this step - at first I didn’t realize you needed to program the programmer with another programmer via the headers. It appears as though my stack seems to be working - we tested my programmer on his motor controller and it worked!