Picture of Arduino Controlled CNC / 3D Printer Hybrid

Mother Nature Makes ... We Build.

BuildersBot Fuses 3D Printing & CNC Milling Into One Builder’s Dream ""

The BuilderBot is an Open Design machine, that uses Open
Software and Open Hardware. It is a product of open projects such as the RepRap, Arduino and Repetier .

The objective of this instructable is to guide your way throw the entire making process of building a BuildersBot machine. An open design Arduino Controlled CNC Router that can also perform 3D printing.

The instructions will cover all areas such as design, mechanics, electronics and software.

But before you go any further take a look at machine's concept design:

And also the machine build photos and the machine in action:

Finally check out the insane effects of the RGB led's on BuildersBot:

Warning Viewer Discretion Advised (Strong Language)

Remove these adsRemove these ads by Signing Up

Step 1: The BuildersBot OpenDesign (Sketchup)

Picture of The BuildersBot OpenDesign (Sketchup)

To view the the machine in 3D just Download the attached sketch file and access the BuildersBot OpenSource Design (in metric system and is in 1 by 1 scale).

Use this design as much as possible for guidance during this instructable.

NOTE: Use trimble/google sketchup to open the file.

1-40 of 170Next »
GerhardH7 days ago


Can anyone Convert the file please:



This is a great project and I'm trying to replicate it.
But I've a problem to find a good price this item

4 Nema 23 Stepper Motor 425oz + 4 microstepping Driver + Power Sup - 255€
It's is possible to know the place where to buy ?
Thanks in advance.

aldricnegrier (author)  pablo_aliaga10 days ago

Hi Pablo,

Thanks for sharing the photos :)

I got them here:

Thanks for your answer.
I bought it yesterday through ebay, but it's the same

For sure in the future for the electronic part I'll follow your solution.
Thanks for share it.

aldricnegrier (author)  pablo_aliaga9 days ago

Very nice, its looking good :)

aldricnegrier (author) 20 days ago

Have a look at some more BuildersBot "action" here:


hey i am making 3d food printer as mine project can please help me in arduino coding

Hi Richy,

Send me a private message with your queries, we will try to see if i can help you.


AaronB51 month ago

Amazing build and guide. I am actually in the process of trying to make this myself. I had a couple questions though, for the Y-Axis Transmission system. How did you get the ball bearings to stay inside the supports and the shaft to stay inside the ball bearings?

aldricnegrier (author)  AaronB51 month ago

Hi AaronB5,

The bearing blocks are made from aluminum and plastic, they come as a hole part.

You have to insert the bearing blocks inside the rail before mounting the axis.

I think I may have explained poorly. On step 7 there are shielded ball bearings that go inside the aluminum. Are those just force fit in to the aluminum or are you using another method to prevent them from sliding out? Then, the shaft that has the timing pulley, goes through these ball bearings. How does do you prevent the shaft from sliding out of the ball bearings?
aldricnegrier (author)  AaronB51 month ago

The bearing housing was made as tight as possible to prevent the
bearing from falling out, in addition, after fitting the bearing inside
the housing the extra aluminum on the support was bent inwards in order to lock the bearings in place.

This was done with a screw driver, basically you
fit the bearing inside the housing and than you bend the aluminum
housing perimeter using a hammer and a screwdriver in order to lock the
bearing in place.

The shafts from the idler pulley does not come out because i used a open end C shaped lock washer to clamp to the shaft, they are open
washers with a smaller diameter than the shaft. You need to make a
groove on the shaft in order to fit and lock the washer. You need 2 washers, one on each side of the pulley, this prevents the shaft from sliding out of the bearings.

mlubbers1 month ago

Great Build! I have a working CNC that I'm trying to add 3D printing functionality. I've purchased the RAMPS 1.4 controller, but I've been reading that the stepper motors circuit is limited to a total of 5A. I have 2A drivers for a 4 axis setup, and I'm wondering what you did to get your 4.2A steppers working properly. Is it safe to just replace the 5A fuse with something bigger? Or is something else necessary? Thanks!

aldricnegrier (author)  mlubbers1 month ago

Hi Mlubbers,

The Ramps 1.4 board is a arduino shield that lodges small micro-stepping drivers that can output +-2A per motor. If you take a look at the electric circuit of the Buildersbot you can see that the NEMA 23 are powered by external microsteping drivers (4.2A peek). The Ramps board only powers the extruder motor (NEMA 17 - 2A).

The idea is to connect the pulse and direction coming from the Arduino to all stepper drivers. The power to the motors comes from different sources.

mellontiko1 month ago

Hi! I need help!!! :)

the extruder bed how is it build? (wich materials used and must it have a hot bed?

Also which materials need an extruder hot bed?

Thanks in advance

aldricnegrier (author)  mellontiko1 month ago

Hello melloniko,

I use a 6mm mirror as a print bed. I do not have a hot bed. I use 3DLAC for adhesion.

Hi aldricnegrier!

Because i dont now much about 3d printing can you please explain me how 3d printing work? i mean the extruder bed must it not me hot? the spray is for hold the object. please explain whats happen with bed heater and without...and what with the spray and without....

Thanks again

DarianZ1 month ago

Hi Aldric,

Another question for you. I am fairly confident with using an acme lead screw for the z-axis, however, i am in debate with what kind of drive system to use for the x and y. have you noticed any drawbacks (on the cnc side of things) with respect to torque from the timing belts over a screw or rack and pinion?

thanks again in advance.

aldricnegrier (author)  DarianZ1 month ago

Hi DarianZ,

The Buildersbot uses belt drive, they are not as accurate as lead screw but they works fine if you have the right tension and the right motor couplers. I have already milled 40 prusa i3 frames using 10mm acrylic sheets, and the results are great.

In the beginning i had some issues with tension and motor coupling but i quickly sorted it out. I changed the motor coupler i had with these ones:


Hi. May i know where to get the complete Greg's extruder set? I'd like to do this project.

aldricnegrier (author)  ChristopherT11 month ago

Hi ChristopherT1.

If you live in Europe i can send you a complete assembled Gregs Extruder for 15€. I sell them at

If you live elsewhere i recommend your local reprap store.

keagz1 month ago
(removed by author or community request)
aldricnegrier (author)  keagz1 month ago

Hi keagz,

The Spindle is a Kress FMI-1 1050 Watt (220V), it is controlled manually (on-off-rpm).

Hello, great project!

Can you tell me something about microsteps? How many Microsteps did you set on RAMPS, how many microsteps you set direct on your Motordriver?

Which time did you set in your configuration for Stepper_high_delay?

Thank you so much for your anwser.

best regards Jochen

(Sorry for my bad english)

aldricnegrier (author)  jochen.geist.91 month ago

Hi Jochen.geist,

Very good question, there is a subtitle "trick" here, the Arduino sends pulse and direction to the External Micro-Stepping Driver, so the pulse determines the steps the motor has to make, according to the micro-stepping settings you have on the microstepping driver. So you don't need to touch the firmware, in this setup, the stepping is determined by the driver, the Arduino only sends a pulse.

I set 12800 pulse per revolution on the drivers, this setup results in 128 steps per mm on X and Y axis and 2560 on Z axis.

I could set 25600 (Max value) pulse per revolution on the drivers to get more accuracy if i wanted to, but i think there is a compromise between microstepping and torque, so i left it at 12800 pulse per revolution just in case.


Hello aldricnegrier,

I read a lot because my DQ542MA didn´t move the Motors fine. And i read something over Stepper_high_delay. With 6us my System works fine, but extremly slow....

aldricnegrier (author)  jochen.geist.91 month ago

Hi again,

I have 4 DM542A Drivers and they work flawlessly.

I don't have experience with DQ542MA.

Oh ok, sorry i thougt you used the same drivers....

aldricnegrier (author)  jochen.geist.91 month ago

No problem, all is good.

DarianZ2 months ago

Hello, first off, great project! secondly, can your CNC router work with metal blocks as well? and if not, do you think it would be possible to get it too?

thanks in advance

aldricnegrier (author)  DarianZ2 months ago

Hello DarianZ,

During its short lifetime, the buildesbot has already successfully cut 2mm aluminum plates with ease. I used 0.1mm passes thought, and an appropriate aluminum end mill, i also used some oil lubrication to avoid aluminum dust in the air ( known health hazard).

I have never used it for aluminum blocks, so i cant give you the answer you where looking for.


thanks for the reply aldric, that gave me exactly what i needed to know. one more question though. i am debating whether to go with 2 of the nema 23 425oz, or 2 smaller torque motors, or one motor close to the 425. my build is not going to be as wide as yours, so i am wondering the exact reason that you needed the power of the 2 x 425oz?

thanks in advance.


aldricnegrier (author)  DarianZ2 months ago

Hi DarianZ,

I don't use the NEMA 23 425oz on full power, i use about 70% while CNC milling and 30% while 3d printing. You can control the current to the motor through the micro stepping driver.

The NEMA 23 425 oz are probably more powerful than what you will need but i prefer to have more powerful motors than less.

Hi Aldric,

Thanks again for the very fast response. I am hoping to go with slightly smaller motors, so that is a relief. One last question if you don't mind. After reading through some forums and your instructable, i would just like to clarify what exactly allows a controller board and drivers to command both a 3d printer and a cnc. is it mainly based on the firmware, the gcode (since they use different slicers) or the board? i am debating something like the smoothieboard, but your set up is also interesting.

thank you in advance.

aldricnegrier (author)  DarianZ1 month ago

Hi DarianZ,

The main advantages of using an Arduino+Ramps+LCD Hardware are as follow:

- Farly Cheap solution

- On board 3D printing capabilities

- CNC capabilities

- no need of a computer (SD card support)

Some disadvantages are:

- The CNC functionalities from on-board repetier gcode interpreter do not implement all G codes (such as drill pecking), i personally don't use drill pecking, but if i needed it i would very easily implement a function that could alter the G-Code.

In step 14 i mention the CNC limitations due to firmware limitations.

alvinchua2 months ago


How much is the cost of this project.?

aldricnegrier (author)  alvinchua2 months ago

Hi alvinchua, take a look at step 2, you will find the total cost.


keagz2 months ago

Hi great instructable. Very thoroughly explained. Will you be able to upload the final firmware used on the ramps board?


aldricnegrier (author)  keagz2 months ago

Hi Keagz,

I just uploaded the buildersbot firmware.


hunts.oone2 months ago

hi, what kind of stepper driver do u use? im not too knowledgeable in electronics, if im using DQ542MA from wantai motor, will it work?

thanks in advance.

im thinking of building this, and will be following this build to the teeth

1-40 of 170Next »