Welcome to CNCBee!

CNCBee is a completely Open-Source CNC Machine project, that aims to build a CNC machine from the ground up using a combination of cheap aluminium extrusions and 3D printed parts. It's intended to take advantage of the new wave of 3D printer parts; such as pulleys, bearings and motors, to create a cheap and reliable CNC machine.

NOTE: This guide is still being updated, and it's being made as an ongoing project. Watch this space!


CNCBee uses a series of off the shelf parts (including a lot of 3D printed ones) and creates a properly functioning CNC Machine.

  • Widely available Euro standard 2020 and 2040 (dimensions in millimetres; 20x20, 20x40) aluminium extrusions used for solid, yet lightweight, frame.
  • Arduino RAMPS controller, paired with an Arduino UNO. Can be used with any known G-Code sending software.
  • Single spindle that slides along aluminium extrusions using 3D printed bearings
  • Firmly secured Delrin-type wheels for smooth linear slide
  • Effective GT2-based positioning system along the X and Y axis


The spindle and the X and Y positioning system can be operated using any open-source arduino based operating system. The one we've been using is GRBL, but technically you could be using Marlin or another software that is designed to run CNC machines or 3D printers. They basically all have functions that would work well.


Before you start building the machine, you're going to have to source the materials. The main order of any quantity is the Aluminium Extrusions, which you can usually order locally. Here in Australia, there's a very well known seller on Ebay that sells all the extrusions that you would ever need. For ease of navigation, I'm going to split the materials up according to their section. The aluminium extrusions will need to be in the length specified, and they'll need to be tapped on the ends in M6 size. You can cut and tap the aluminium extrusions yourself for a small saving in cost, but usually it's easier to order the aluminium already tapped and cut from the seller. Remember, your time is a commodity too!

The Frame & Odds and Ends

  • 2x 800mm 2040 Aluminium Extrusions
  • 1x 600mm 2040 Aluminium Extrusion
  • 2x 600mm 2020 Aluminium Extrusions
  • 12x T-Slot aluminium nuts
  • 4x T-Slot aluminium corner braces
  • 12x 40mm M5 Bolts
  • 6x 20mm M5 Bolts
  • 12x M5 Washers
  • 8x M5 Nylon Locknuts
  • 8x M5 Nylon Locknuts
  • 12x 15mm M6 Bolts
  • 30x 15mm M3 Bolts & Nuts (Allows for some extra)

It's probably cheaper to get a set of M3-M6 bolts and nuts (including washers hopefully!) than buying them separately.


  • 1x Generic 24V, 20A Power Supply
  • 1x 3-prong power inlet
  • 2x 1M AWG-14 Electrical Wire (Ground and Positive)
  • 1x Arduino Uno
  • 1x GRBL Shield for Arduino Uno (With A4988 Drivers or similar)
  • 6x Endstop Switches (You can get away with 3 if you are happy with soft limits at the axis maximums)
  • 4x Nema-17 Stepper Motors (They're more than strong enough, thanks to 3D printers, all Nema17's you can cheaply get will do the job)
  • 10x 1M Male to Female stepper leads (Those included aren't long enough)
  • 3M GT2 Belt
  • 3x 20 Tooth 5MM bore pulley


  • 1x 150mm T8 Leadscrew (usually they're 300mm, you can cut them to size)
  • 1x 5mm to 8mm Aluminium Coupler (Any that flex horizontally but not vertically are ideal)
  • 12x 5mm delrin V-Slot wheels (Can be found cheaply on AliExpress)

Coupler Information

In regards to the coupler, this type is the best. It doesn't flex up and down when rapidly changing Z position.

3D Printed

  • 2x Y Inner Plate
  • 2x Y Outer Plate
  • 24x Delrin Wheel spacer
  • 1x X Inner Plate
  • 1x X Outer Plate
  • 4x Frame Brace
  • 1x Z Top Plate
  • 1x Z Bottom Plate
  • 1x Z Slide
  • 1x Z Adapter Faceplate
  • 2x Linear slide bearing block
  • 1x Router Mount (If you're mounting a router)


This part has to be written! I've included some photos from the assembly process below as a teaser. If you scroll down a bit more, there's a ZIP file with everything you need to put it together.

Electronics Testing

Halfway assembly, testing the Z axis sliding functionality

Assembled Machine

Ready to go about CNC operations.


Here's a single ZIP file with all the STL files you'll need to make one yourself. All the STL files are in MM metric format. It's recommended that you print the 3D parts with at least 60% infill.

Download project file