iModela PCB Milling

This post documents my journey into PCB milling.  Although all the pointers are buried here, I will post a summary of links and resources in the near future.



I was one of the many booth stalkers checking out the Othermill at 2013 World Maker Faire and was really intrigued by the possibility of creating PCBs without chemicals.  Sure, I’ve done my fair share of toner transfer PCB etching, but it was always somewhat of a hassle, and ferric chloride isn’t the friendliest of chemicals.  Unfortunately, I was too late to purchase an Othermill via their Kickstarter, and they weren’t taking any post-Kickstarter orders yet.  So I waited…

Finally, they shipped the Kickstarter purchases and opened up for new orders!  I was ready with credit card in hand, then saw the “Orders placed now will ship in approximately 4 months” fine print.  Seriously?  I was willing to pay a premium for an out-of-the-box ready to go PCB mill, but to wait 4 months?  Sorry.  I figured I could spend less money and waste 4 months trying to learn how to do this on my own.


Generic 3020 Style CNC Mill

Searching CNC mills on the net yielded a host of potential products.   There were any number of “3020” style Chinese import CNC mills, which many people claim to use for PCB milling.  The problem is, there are SO MANY clones of this style mill, it’s almost impossible to figure out who is selling a “good” version versus who is selling a “junk” one.  Plus, even people with the “good” ones talk about replacing the wiring, improving the control circuits, and, oh yes, the cheap ones need an old PC with a real parallel port.  With my engineer’s “spidey-sense” tingling, I decided going down a $500-$600 initial cost rat-hole with unknown results was less than optimal.

I spent more time looking over the more respectable CNC kits out there (and there are some good ones), but kept coming back to the Roland iModela iM-01.  It’s out of the box ready to mill (but not necessarily PCB mill…) and made by a “real” company.  The biggest drawback is the limited milling area of 3.39 x 2.17 x 1.02 inches (8 x 55 x 26 mm).  After some soul searching and deciding that, while somewhat limiting, I could still complete many projects using 3″ x 2″ PCBs, I pulled the trigger on the purchase.


Roland iModela iM-01

The mill arrived and was as easy to set up as shown in the product demo videos.  Test milling of thin acrylic and foam yielded some better than expected results.  Ok, I was actually super impressed by quality of a milled product compared to what I’m used to getting out of my 3D printer.  All I needed now were the PCB blanks and a small enough milling bit.


Foam and Acrylic Tests

The PCB blanks were easy enough to come by.  You don’t really want to mill standard FR4 fiberglass type boards.  The process may generate hazardous particles, and is fairly tough on the milling bits.  I found suitable PCB blanks at Inventables.


PCB Blanks from Inventables

Then I ran into my first snag.  The iModela uses 2.35 mm shank bits.  These are the standard size for some Dremel style bits, but not many.  To make matters worse, the only source of end mills of this shank diameter appeared to be from Roland directly, were very expensive, and none were small enough for what I wanted to do.

I couldn’t find small 2.35 mm shank end mills anywhere.  What I did find were 3 mm shank end mills at Bits & Bits out of Oregon.  If only I could fit a 3 mm bit into my machine!

Over in the UK, the Roland distributor solved this dilemma by creating a replacement spindle for the iModela that allows the use of 3 mm shank bits.  They were nice enough to work with me on overseas shipping and I soon had a 3 mm spindle in my machine.

I purchased a couple different 3mm shank end mills from Bits & Bits and started my testing.  Ideally, I wanted to remove copper from the PCB in as thin as 8 mil lines.  This would let me use TQFP packages in my projects.  I knew this was somewhat aggressive and could easily run into tolerance issues.  But, why not go for it?  I purchased a couple 0.2 mm end mills (just under 8 mil wide) and did some test cuts into foam.  Things looked promising!  My first attempt into the PCB snapped the end mill (doh!).  I had it diving way too fast in the Z direction.  I slowed everything down, replaced the bit, and started milling again.  Everything looked good until the tape holding the PCB to the mill came loose, the PCB wiggled, and SNAP goes the bit (doh!  These are about $20 a pop!).


Various Mill Tests

Ok, I ordered more 0.2 mm bits and started experimenting with 0.5 mm bits instead to get more experience with the machine.  Well, I could create PCBs with the 0.5 mm bits, and even made a simple Arduino shield using 0.4 mm bits, but nothing at the minimum line spacing I wanted.  The additional 0.2 mm bits arrived and with more confidence, I started milling fine lines… for a little while… then SNAP!  Even with all the parameter adjustments and speed reductions, I was still breaking bits.


Simple Arduino Shield using 3″ x 2″ PCB material and a 0.4 mm end mill

Obviously I wasn’t going about this the right way.  Some (maybe all?) folks milling PCBs use “engraving bits” instead of “end mills”.  An end mill is a fixed diameter cutting tool, kind-of like a drill bit.  An engraving bit starts out wide and reduces to a point (or something very close to a point).  The end mill will make a consistent width cut no matter how deep you plunge.  The engraving bit’s cut becomes wider the deeper you go.  The trick is, with an inexpensive CNC mill and cheap PCB materials, in order to guarantee the copper has actually been milled away, you have to plunge a little deeper across the project to make up for all the inaccuracies.  Using an end mill makes this easy.  Using an engraving bit means you need to do some math to make make sure you minimally get what you are expecting.


End Mill (upper), Engraving Bit (lower)

Time to call in the expert!  I contacted Paul Jr. at Bits & Bits and he helped pick out the dimensions of some 3 mm shank engraving bits.  The coolest part is, Bits & Bits didn’t even have 3 mm shank engraving bits listed as a product.  But, since they manufacture the bits themselves, Paul Jr. could have the ones I wanted custom cut.  Awesome!  How much was that going to cost me ?!?  To my surprise, the only difference in price between an off the shelf bit and a custom one is that you have to place a minimum order of at least 5 bits (at the time I wrote this, these were $9.50 per bit).  No problem!

My most conservative engraving bit is a 40 degree bit ending with a 5 mil wide tip.  Assuming the bit will plunge into the PCB material 4 mils, which should be more than the copper thickness, the widest portion of the cut will be just under 8 mils.  After performing a few tests, and no issues with bit breakage, I decided to come up with a design to test the limits: a CNC version of the Arduino Pro Mini.

After a few false starts, aborted attempts, and parameter adjustments, I was finally able to create a reasonably fine pitched PCB in a few hours time.  Oh, and it actually works!


CNC milled Arduino Pro Mini PCB


Assembled and functioning CNC Arduino Pro Mini

The bottom line is for less money than I would pay for an Othermill and in less than 4 months time, I’ve come up with a PCB milling solution that will serve almost all of my prototyping needs.

7 thoughts on “iModela PCB Milling

  1. WilliamEvag says:

    Great article.Much thanks again. Great. Kolis

  2. PopSharma says:

    Nice introduction.
    What software and what file format did you use to mill using the iModela?

    • RoboJay says:

      I’ve been using KiCad and pcb2gcode (both on a Mac) to generate the PCB files. Then I use Roland’s iModela software to read in the gcodes and do the actual milling. Roland’s software is Windows only, so I do it under VMware on the mac.

      • PopSharma says:

        Thanks. I’ll give it a go with KiCad and pcb2gcode.
        I had been trying with Eagle, but I had a lot of issues with code that the iModela couldn’t handle, so was constantly hand editing them.

        • RoboJay says:

          Check out the Makefile (and related other files) from here:
          I found it helpful when working through the pcb2gcode options/parameters.

          • popsharma says:

            Thanks. I didn’t understand it at first, but now the parameters are really helping.
            BTW. I found an issue in pcb2gcode when drilling holes with iModela. I reported it and Nicola Corna already fixed it.

          • RoboJay says:


            Interesting about the holes – I wonder why I didn’t notice any issue (or, maybe I did and compensated ?!?). I see the changes Nicola made in the source. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *