For a couple years during college I got used to having a laser cutter and other fabrication tools available from Techshop. Ever since losing access to all their tools, I’ve dreamed of building my own CNC machine, and hopefully eventually laser cutter and 3D printer.
Still a work-in-progress, but here’s a peek at what I’ve been working on for the last 8 months or so in my free time!
Full bill of materials and current build status here.
My design:
- Mounted on custom folding table, based on design by The Carmichael Workshop, built to a slightly larger scale, with added wheels and an extra shelf on the bottom for hiding away the water-cooling bucket and cyclone dust collector
- Rails: Based on X-Carve rail system, using MakerSlide and X-Carve’s custom X-axis rail and one-piece X-axis carriage
- Drive System: Belt
- Motors: NEMA 23, with a high torque X-axis motor to balance with the two lower torque Y’s
- Motor Drivers: TB6600HG Motor drivers
- Controller Board: Arduino Mega with GRBL
- Cutting Surface: MDF wasteboard
- Spindle: Chinese generic 1.5KW 65mm water-cooled 220v, with 220v VFD
- Water-cooling System: Small bucket with waterfall pump, 360mm (3-fan) Aluminum Computer Radiator, running distilled water with “PrimoChill Liquid Utopia” anti alge and corrosion additive
I had two major goals in this build:
- Ability cut a wide range of materials in different sizes, so I can use this for everything from wooden sign-making to PCB milling and metal fabrication (aluminum).
- To build this as cheap as possible, given that high performance.
Research
Back in January I began researching the costs involved in purchasing a pre-built or kit machine. The existing options seemed either too small, too imprecise, or too expensive, so I decided early on that I would have to piece something together taking design ideas from many others. Here’s the basics of what I’ve learned.
Major Components & Technology Options
- Router/Spindle – Two possible routes
- Air-cooled
- Simple to use, same as used by hand.
- Cheap, relatively ($100).
- Plug straight into a regular 110v (or whatever your locality has) wall socket.
- This means you can’t (easily) control the speed or off/on via CNC controller.
- LOUD
- Common examples:
- Water-cooled & Speed Controller (VFD)
- Uses a 3-phase motor and requires a speed-controller. Very much like modern variable-speed pool pumps use.
- These can range more widely in physical size, wattage, and speed.
- Generic design allows the spindle size to be scaled up or down to match any necessary application. For example, I went with a 65mm diameter, 1.5KW, ER11 (bit holder size) spindle.
- Can be purchased for 220v or 110v power source.
- Uses international standard ER type collet, a very refined, quality method of holding routing bits.
- QUIET. I needed this since I’ll be running mine out of my garage.
- Expensive (>$250).
- Air-cooled
- Motors – Stepper motors are pretty much all the same no matter where you get them. You could even pull them out of old scanners or copy machines if you wanted to go real cheap. The only two factors you really need to worry about are size (NEMA number) and torque. The common ones used for this purpose are:
- NEMA 17
- Used for smaller CNC builds and some larger 3D printers.
- NEMA 23
- Most common for a 1000x1000mm build such as mine.
- Common Torque ratings:
- 179oz.in – Basic cube shape. I used two of these for my Y axis.
- 269oz.in – Taller than the former. I used one of these for my X gantry to compensate for there only being one on this axis but two on the Y.
- NEMA 17
- Motor Drivers – Chosen based on power needed by motors
- A4988 or DRV8825
- Very small, come on most Arduino CNC shields.
- Best for 3D printers and small CNC machines.
- Too low power to make full usage of NEMA 23 motors, but could work in a pinch.
- TB6600
- Full-size drivers capable of 4+ amps per motor, more than NEMA 23’s use
- A4988 or DRV8825
- Controller Board/Firmware – Connects everything together: motor drivers, limit switches, emergency stop button, spindle speed controller, etc
- Chinese “5 Axis Breakout Board” or other generic
- Requires connection to computer through Parallel port. A very old type of port that modern computers haven’t come with for the last 15 years. Therefore, the common recommendation is to go to Goodwill and pick up an old (crappy) computer. I believe that’s a pretty poor solution.
- USB-to-Parallel adapters don’t work reliably because the breakout board relies on the precise timing from the host computer. I looked into getting a PCI-to-Parallel adapter which should theoretically work better, but costs ~$40 and still might not work well enough.
- Arduino (Uno or Mega) with GRBL firmware, shield or not
- Open-source hardware & software
- Uses basic serial (USB or otherwise) connection, DOESN’T require parallel port. Handles more processing and event timing itself rather than relying on connected PC, allowing slower methods of communication such as USB and Bluetooth.
- Arduino boards are cheap and easily accessible
- Since firmware is C code uploaded through Arduino IDE, it’s highly configurable and modifiable to match your needs
- Arduino Mega with RAMPS & shield
- Meant for use on 3D printers
- Kit comes with display, small drivers, and limit switches
- Requires RAMPS Arduino shield, so it’s not easy to modify usage of IO pins
- Chinese “5 Axis Breakout Board” or other generic
- CNC Control Software
- Mach3 (or now 4)
- Proprietary, not free
- Can run on Windows OS
- Based on same original software EMC as LinuxCNC
- LinuxCNC (EMC2)
- Open-source
- Full Linux OS installation, not runnable on Windows
- One of the oldest and most advanced control software, not new-user friendly
- Requires a platform with real-time computing capabilities, not reliably runnable on Raspberry Pi or other embedded boards
- Universal G-Code Sender (UGS)
- New, still under active development
- Open-source, highly configurable
- Java-based, cross-platform on anything that can run Java (including Raspberry Pi)
- Meant for use with GRBL firmware to handle precise timing
- Easel
- Proprietary, made by Inventables to work with GRBL in their X-Carve machine
- Web-based, run through browser
- Very easy to use
- Not configurable, meant only to work with X-Carve or very similar applications
- Mach3 (or now 4)
- Rail System
- V-slot Linear Rail
- Comes in many different form factors for very small to very large machines
- For use with rubber V-wheels running along center of the rail
- Can have OpenRail attached for use more similar to MakerSlide
- MakerSlide
- Modified version of regular or V-slot linear rails
- Used primarily by Inventables with their X-Carve machine
- Custom-made for medium sized machines for use with V-wheels running along outer edge of rail
- More rigid than typical V-slot rail due to modified extrusion design
- Linear Guide Rail
- Best for smaller applications
- Much more expensive
- More precise than V-slot or MakerSlide
- Usage of ball bearings means more susceptible to problems due to dust and contaminants
- Linear Guide Rod
- Cheaper than flat guide rail
- Can be used for small or large applications
- Similar ball bearing issues as flat guide rail
- V-slot Linear Rail
- Drive System
- Belt
- Cheapest
- Can be used in two possible configurations: 1) similar to rack & pinion with motor mounted on moving carriage or 2) with motors mounted on ends and belting in a loop attached to carriage
- Least precise, and not good for very hard materials due to elasticity of belting
- Rack and Pinion
- Requires motors mounted to carriage, not on ends
- Has to be mounted with perfect alignment across whole machine in order for motor with pinion to mesh properly with rack. This can be solved by spring-loading the rack, but this increases cost and complexity.
- Can be run at much higher speed than screw driven
- Expensive
- Screw (Lead or Ball)
- Requires motors mounted on ends, not carriage
- Fixed size, have to get screw that matches your application precisely
- Most expensive (if decent quality)
- Most complex assembly
- Most susceptible to dust contamination
- Belt
- Cutting Surface
- MDF wasteboard
- Cheapest
- Can handle being milled if bit is driven too far down on work piece
- Mounting holes must be drilled for clamping work piece down
- Aluminum extrusion rails
- Allows easier clamping along whole length of work area
- You have to be more careful not to hit surface when milling
- MDF wasteboard
Existing Communities & Stores
An interesting note: The different CNC communities online seem to be growing quickly, but were very disconnected from each other, having very different commonly used build processes and designs. For example:
- CNCZone (forum)
- Seem to be some of the oldest and probably most professional CNC users, those using CNC machines for their day job, or those who have had the hobby for 20 years already. Here most people seem to use high performance water-cooled CNC spindles, and use older more professional CNC software such as LinuxCNC and Mach3.
- Most users of this forum do not seem to make much use of newer open-source software/firmware such as GRBL and Universal G-Code Sender as I’ve chosen to use.
- BuildYourCNC (store)
- The best variety of parts, a good place to get ideas on what you might use.
- Have the most wide range of DIY and kit machine designs, almost all made out of wood, rather than steel and aluminum construction as most other sites and communities use.
- Have specialized designs for every possible application and tool type.
- Sell (re-sell?) a lot of cheaper Chinese manufactured parts. This is where I learned about the spindle and VFD I would eventually purchase from Ebay.
- Has the best documentation you’ll find on Chinese spindles and VFDs.
- Inventables (store & forum)
- One of the newest communities. Seems to have likely formed initially alongside the OpenBuilds community.
- Most new-user friendly
- Centered around a single very high quality, high performance machine kit (currently X-Carve) which has been iterated on for the last ~5 years by its designers.
- Offers the most complete machine kit and straightforward build instructions
- One of the most expensive kits, due to its high quality and user-friendliness.
- OpenBuilds (store & forum)
- Forum for open-source DIY designs for CNC machines, laser cutters, plasma cutters, 3D printers, etc.
- Has infinite unique designs created by users, to be rated and used by others. By far the best melting pot of design ideas.
- Most users build their frames on widely available generic aluminum “2020” extrusions and rubber wheels.
- Has a parts store selling commonly used parts and partial or entire machine kits.
- Parts store contains most of the components used by Inventables, but those parts are not common in builds by these users.
- Reddit – r/Machining, CNC, DIYCNC, XCarve, HobbyCNC
- The most disorganized set of subreddits for a hobby that I’ve ever seen. You have to make yourself a multi-reddit view with all of them for them to be at all browsable.
- Very minimal community activity. Pretty useless, which is surprising given Reddit is such a great source of information on other hobbies like auto detailing, PC building, or general DIY.
More to come soon!