This week I used the CNC I had leftover from my 6.115 Final Project to mill its own limit switches and control board.
I wired up an Arduino on a breadboard with three EasyDriver Stepper Drivers from SparkFun. I then flashed the open source GRBL G-Code interpreter onto the Arduino. I mounted a spindle to the CNC and hooked it up to a lab power supply. I decided to design and fab two PCBs: a replacement for the breadboard with the Arduino and stepper drivers, and a small limit switch with a button and LED. The limit switch uses a push button that gets hit by part of the machine when it reaches the end of an axis. I also included a green LED that turns on when the limit switch gets hit.
I then installed the fab modules. Using homebrew I was able to get all the dependencies necessary. I used the command given on the kokompe homepage, and also included the 'boost' and 'wxwidgets' packages. I used the make_png_g command to produce gcode for milling the board. Using the same technique as on the Modela for zeroing the axes, I produced the limit switch successfully. There were a few unsuccessful cuts first due to the bit not going down enough, but I resolved this by manually moving the spinning bit down by about a mil or so before running the gcode.