Time to get back to building the constant current driver for the LED set up I discussed in this previous post (LEDs) and this post (constant current circuit design).  I am going to use my Other Mill to get to a PCB that I will then solder on parts using my reflow oven.  Whoa – talk about the treasure chest of toys I have built up!

When I last discussed the Other Mill, I have evolved my learning thanks mostly to the exceptional support and care I got from Other Machine.  I was having a challenge with my machine  – the Z-axis screw seemed jammed.  This had the unfortunate consequence of making a very loud grating noise after which whatever end mill was up for use was immediately broken by the Z-axis grinding too hard.

I admit a part of the challenge was my lack of milling knowledge/experience.  Regardless of what CNC machine used, as with other sophisticated hardware that makes things (my mind goes to a sewing machine), there is a base knowledge that includes what not to do as well as what to do when making a PCB.  It is an unfortunate consequence of my lack of networking/community that I did not know anyone who would show me ropes.  I bet with enough effort I could find someone.  But then – I also like to figure stuff out as I try it.  The challenge with trying stuff when clueless is I’m exploring an expensive machine that is not easily replaced if I blow it up.

On to the PCB.

Open Source

The automator workflow I used to rename the kicad files so they work with Other mill can be found at this GitHub location.  The Kicad and Gerber files are located here.

Foot prints

Before milling, I needed to finish matching foot prints to the components on the schematic.  In kicad this means I needed to finish the netlist from within the cvpcb tool.

Heat Sink and Mosfet

The image and layout below from the heat sink’s data sheet (I am using the 5073) shows the placement of the heat sink/mosfet as well as the foot print of the heat sink:


the mosfet’s has a TO-220-3 footprint.  Here is an image from it’s data sheet:


…and here is an image of the foot print I made in Kicad’s foot print editor:




The next one was the POT.  I am using this POT:


The foot print is included as part images on the digikey page:



Here’s the layout I used:


I tried to keep the spacing between tracks and components large enough so that the larger end mills (in this case the 1/32”) can be used.  

Feeding Files to Otherplan

The Otherplan software has native support for Eagle, but not Kicad.  This means features like the nifty DRC end mill clearance check aren’t available for Kicad.  There is one additional step I have to do which is to rename the Gerber and drill files from:




While I probably should just right a bash script, I ended up using the Mac’s Automator app to create a renameGerbers.workflow.  Unfortunately, Automator does not support wildcard matching which I use to rename the base name.  I ended up adding this Automator action to my copy of Automator.  Luckily, instead of trashing my hard disk (so far) it works as advertised – allowing me to create a workflow that uses wildcards when renaming the base name.  I also added an Automator action to rename the edge cut layer (i.e.: the outline layer) from .gbr to .gko.  AND it actually got rid of the .gbr instead of renaming the extension .gbr.gko  .  This unfortunate double extension happens when I was renaming the file using the Finder UI without File/Preferences/Advanced Show all filename extensions checked – which is not checked by default.

Setting up the End Mills

The software allows three end mills to be used during milling.  I kept running into an unfortunate bug.  Instead of figuring out what can be optimally cut out with each end mill, it will use the smallest end mill to do all the cutting.  I had an earlier attempt where I told Otherplan I had 1/100 1/64 and 1/32 end mills.  The directions Otherplan gave to Othermill was to use the 1/100 to cut out everything except the drill holes.  

Thanks to Simone, I had a way around this:

  1. Load your biggest tool by itself in Otherplan and in the mill, and run the plan. The biggest tool will take away most of the copper you want removed.

  2. Remove the larger mill from the machine, and install your next smallest tool. In Otherplan, leave the largest tool in the plan, but add the tool you just installed in the machine. The pla file window should have a 1/8” and, say, a 1/32” selected.

  3. Run the plan again. The machine will start with the 1/32”, and when the small tool is done will prompt a tool change. Click on Cancel to stop the job completely.

  4. Install your next smallest tool in the machine. in Otherplan, remove the largest tool, and add the smallest tool, so you have the 1/32” and the 1/100” in the plan file window.

  5. Run the plan again. It will run the 1/100”, then prompt the a tool change. Cancel the job completely.

This seemed to work.  Now the larger end mill cuts as much as it can before using a smaller one.  Much nicer.

Finally, the PCB

IMG 3401hmm…a bit blurry…but it shows the milling worked pretty well.  I ran into a challenge with the edge cut file.  It turns  out the edge cut Gerber I used for this milling was not a completed square.  One of the corners leaked.  This caused the Otherplan to ignore all the Gerbers and drill files.  I ended up deleting the edge cut Gerber and letting Otherplan figure out the outline.  Afterwards, I went back to see what the problem was and indeed – after deleting the outline and creating a new-and improved-outline, all files were read by Otherplan.


Time to solder on the components and see if the PCB works…


Thanks for reading this far.

Please find many things to smile about.