I tend to get involved in a lot of projects where I have a need to build a “one-off” part. 3D printing is usually an option. But sometimes, things just need to be made out of metal. For the money, I felt that I would get some great mileage from a CNC mill. Overall, I want a mill that will be great for prototyping, but is usable for (very) small scale production if I need to make multiples of a part. Here’s what I ended up with:
The main advantage for me, is that I can design my parts using 3D CAD software (Alibre Design, in my case). Then, a CAM suite can be used to translate my part into G-Code (I use Alibre CAM – but that is a subject I’ll have plenty to say about, perhaps a review is in order!). Finally, send the finished G-Code to my mill to create a finished part – usually after extensive editing of the G-Code by hand.
There are LOTS of options when it comes to DIY CNC – But first thing’s first: You need to know what YOU want to use the machine for. Also, you need to get a basic understanding of milling. I intend on milling aluminum, plastics, and – on very rare occasions - steel. Additionally, I’d like to experiment with PCB milling, and 3D printing using the same platform. Additionally, I wanted to add a 4th-axis as quickly as possible.
Choosing A Mill
After doing a lot of research, I finally settled upon the Sieg SX2 close HiTorque Mini Mill from LittleMachineShop. It has a 500W BLDC motor that provides plenty of torque in the low rpms, and the controls on the mill appeared to be easy to interface to my planned control system. The table travels (X-axis: 11.8″ , Y-axis: 5.1″, Z-axis: 9.3″) are superior than every other Sieg SX2 out there.
Additionally, the mill has an R8 spindle – meaning that you’ll have an easier time finding tooling. However, I’ve come to discover that it doesn’t really matter with CNC – what you should really plan for is how to implement a quick toolchanger. I ended up going with the Tormach TTS tooling. This allows me to change tools in seconds, and I can measure the tool’s length offline – and maintain the values in an offset table – A very powerful feature. (I’m having a few quibbles with it since finishing my power drawbar – I can’t “drop” the tool. Also, there’s a small but consistent gap between the precision toolholder and spindle.)
Note: There is now a version of the HiTorque Mini-Mill without the tilting column, which I highly recommend! The tilting column on my machine has given me no end of grief, as it is prone to move out of tram/alignment during heavier cuts. I may investigate converting my own mill to a solid-column, at some point.
The final reason for choosing this mill is for ease to setup. Obviously, I didn’t have access to another mill, much less CNC. A DIY build can require that you source some precision parts. My only other tools are a very small drill press, portable drill, a dremel knock-off, and an abrasive chop-saw.
A minus is that this mill is quite light, well below 150lbs. It’s simply not rigid enough for heavy cuts or “big” tooling. I suspected that I may outgrow this mill a little soon.
Luckily for me, CNCFusion sells a conversion kit for the Sieg X1/X2/X3 Mills. I went all-out and got preloaded ballscrews and zero-backlash couplings for every axis of my LMS SX2.
The electronics were all fairly straight-forward I chose EMC2 over (very popular) Mach3. It’s straight-forward, extremely powerful, open source, and free. Additionally, it’s very easy to use Python scripts into your CNC programs – complete with graphical interfaces. It’s actively developed, and can be made to work with just about any type of machine you can imagine.
I’m running this on an Intel D510MO atom board, with hyper-threading turned off. This provides very a consistent low-latency thread for EMC2 to operate (which uses the realtime linux kernel) as well as an excellent linux desktop experience. It also boots up very fast.
Motion Control Interface
Instead of opting for the traditional “parallel-port” control method, I decided to purchase a 7i43 “Anything I/O” card. It has a parallel port interface, but it uses an onboard FPGA to provide a whopping 48 I/O bits! Those bits are split into two 24-bit buses, which can in turn be connected to daughter cards:
This daughter card simply provides a nice safe buffer for digital I/O. The FPGA operates at a low voltage (3.3V?) and is susceptible to damage from transients/etc. Given that this is controlling a 150lb machine with no fewer than 4 motors – use one of these!
This card is quite nice for motion/stepper control. It has a number of digital outputs meant for step/direction, as well as an analog “wiper” that can be interfaced to a potentiometer to directly control spindle speed. Additionally, it has a number of differential encoder inputs (which I have yet to implement – I plan to add an encoder to the spindle soon to enable advanced internal thread forming operations.)
Stepper Motor Driver
There are a number of choices here, all of them good ones. I’ve heard good things about the Keling Inc controllers, but I decided to try to save some coin and spring for the Gecko G251X. They do require some external cooling – so I found an awesome ebay deal on some anodized heatsinks to attach them to. I configured them to also have a fan cooling them – but has proved to be unnecessary. They have remained cool to the touch, even after hours of continuous operation.
Wiring the G251X was quite simple, though I highly suggest creating a disconnect system. I initially want the stepper wires directly to the controllers. Afterwards, I needed to move the milling machine and controller to another part of the garage. Rewiring from the diagrams wasn’t exactly pleasant, so I created some pigtails using automotive quick connectors. Steppers consume lots of current – Take extra care to ensure these wires are well labeled and insulated!
“No matter what you spend on your mill, plan on spending half your budget on tooling.”
- Some guy on CNCZone.
While I’m not exactly sold on this as a law, it did apply in my case. The Tormach TTS collet wasn’t expensive, but the holders do add up. I avoided the “CNC” set, got my own wrenches, and purchased a nice tall digital measuring height gauge and granite block. And got the Tormach precision measurement holder. I now purchase tool holders and chucks on an as-needed basis.
As for endmills and the like, you can’t get enough. But beware of some of the “starter sets”. You’ll find that a lot of items intended for manual milling does you little good. You don’t need the concentric edge-finder as much as you’ll need an electric edgefinder/touchoff . A worthwhile project would be a probe interface – as commercial probes cost $$$$. (Future project!)
My first parts were for a pneumatic power drawbar that allows for very fast & accurate tool changes. Required an air cylinder, compressor, and various parts. See the hossmachine.info site for details: I followed his instructions, more or less.
2x Spindle Speed Increase
The stock motor runs at only 2500RPM. This is fine, but I soon found that I’m running at full speed most of the time. I also found that my smaller endmills (really small, 0.0625″) want to run at 10k rpm or faster. While I can’t reach those speeds, I found that changing the gear ratio from 2:1 to 1:1 would give me 5000RPM to play with. Replacing the timing gear on the motor and spindle is easy, and it’s usefulness is a no-brainer if you work with aluminum, plastic, and other materials that like high speeds/feeds. As far as wear/tear goes, the spindle bearings should be just fine.
Yes, it’s only half the torque – but I haven’t had any problems so far. The effect it has had on smaller endmills has been dramatic. I’ve brought my feed rates from “It’s gonna take all night!” to “just a couple of hours”.
If I ever need more than 5k rpm, I’ll add a dedicated high-speed spindle.
If you decide to modify your SX2, the parts were ordered from Stock Drive Products/Sterling Instrument.
- P/N: A 6R25M080150 – 40-tooth HTD timing belt pulley, 5mm pitch. (I did have to machine the bore to fit my BLDC motor shaft!) $21.96
- P/N: A 6R25M080150 - 5 mm HTD Pitch, 80 Teeth, 15 mm Wide, Neoprene Belt
Chip Containment Enclosure
One of the first things you’ll notice, especially when taking light cuts, is that you’ll get “chips” (tiny shreds of milled material) spread around in just about every direction, up to 6ft away, depending on their size. I really don’t want track aluminum chips into the house, so I constructed an enclosure that goes all the way around the table. I used aluminum channel and sheets of Lexan from the local home depot. I started by screwing the aluminum channel to the table, and then sealed it using silicone gel. If I later choose to implement a flood/mist coolant system, there won’t be a mess.
A simple shopvac and a wire brush is all you need to keep everything neat & tidy.
4th Axis Rotary
A 3-axis cnc machine is useful if you have the CAM software to back it up. But sometimes you need to work on more than one face of a part. An accurate CNC-ready rotary table is something you’ll have only a handful of choices on:
- Purchase a rotary table and make a CNC conversion on the crankshaft.
- Purchase a Sherline 3700CNC and be done with it.*
*Note: It wasn’t really that simple. It did require an additional stepper motor, stepper controller, right-angle bracket, tailstock, chucks, plus a tooling plate to mount it on my mill. But it’s still worth it!
I suggest buying from Sherline Direct if you go for one. I tried buying the chuck from a distributor…I didn’t have the best experience.
Once you get a 4th axis, a 5th axis becomes tempting. (Until you consider the CAM software necessary to actually need/use it). But a trunnion table may be a worthy upgrade. I’ll need to perform some research on holding a vise in this kind of configuration – The odds are high that this mill’s Z-axis simply isn’t tall enough.
In an effort to avoid buying some $100+ 12dp worm gears, I decided to put my 4th axis to use to ”hob” a worm gear via CNC. Of course, I didn’t have a real hob – nor the will to make one. So I modeled it my CAD software!
After that, I used my CAM software to generate the 3 and 4 axis roughing/finishing programs, which I then supplemented using some python code. I’m going to gloss over the remainder of the process of taking the 3D Model and creating a full gcode program that takes tooling into account. The CAM process alone could easily become a very long series of articles!
Start to finish, the process took awhile. But I’ve learned quite a lot along the way. Plus, I got a usable worm gear that is very strong. Most of the issues I’ve had have been CAM-related, the machine seems to work like a champ – as long as I’m very patient with the feed rates.
Overall, I’m quite pleased with using this as my “first mill”. However, there are plenty of things to be desired. While shopping locally, I ran across a mill that appears to be an excellent candidate for a second conversion. Additionally, I’ve started looking into either creating a lathe add-on, or building a full CNC bench-lathe conversion. The Wholesale Tool ZX30 pictured to the right would probably make a great CNC mill. But it only has 8″ of Y travel, which concerns me as a bit limiting. Industrial Hobbies makes another decent size mill that can be used to build a nice conversion. The machine would then have superior Y-travels, 20″ as compared to my current pitiful 4.85″.
If there’s enough interest, I’ll start posting reviews of the tools I use in my CAD/CAM process, and provide some pointers – from the point of view of someone who knew next to nothing about how metal parts are really made (I thought everything was molded from molten metal!). I’m certainly no expert, but I feel I now know enough to get the job done, safely.
I hope you found the information herein to be useful. I hope to post a lot more in the future.
CNCZone - This is an excellent resource for all things CNC. A wealth of information exists there. Chances are any CNC-related questions there have been asked/answered on that site.
LittleMachineShop – I’ve had nothing but pleasure dealing with these guys.
Hossmachine.info – This man took a Sieg X2, and turned it into a raging beast. The “X2 Freak” is quite literally the mill that all X2 conversions compare, quite unfavorably. Plans and advice on a large number of projects and improvements can be found here. (His plans for a power drawbar helped me immensely.)
Mesa Electronics – Makers of the I/O cards used in my EMC2 controller PC.
Tormach Tooling System – These guys make a special R8 Collet that grasps tool holders. The tool holders then can be measured offline, and entered into an “offset table”. Combine that with homing switches, and the repeat-ability of parts increases dramatically.
EMC2 – Enhanced Machine Controller. This is some very powerful software. It’s easy to extend/customize, and I think it’s a superior real-time control system for just about any robot. Oh yeah: it’s open-source!