Picture of Arduino Controlled CNC / 3D Printer Hybrid

Mother Nature Makes ... We Build.

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

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)

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 342Next »

is it possible to Build it in a larger Dimension like 1000 x 1000 x 500 mm without changing the Stepper Motors ?

drs_diy5 days ago

Hello, This is a great project, and it is next on my list to try. I am having some trouble opening the .3ds file. You said to use Google Sketchup to open the files, but it does not seem to recognize the format. I am new to Google Sketchup, so I am probably doing something wrong. Can you advise me on how to open that file?

Thank you.

Hello drs_diy. The 3DS file format is one of Autodesk's 3DSMaxs format used to share models between different modelling programs.

I just tried opening the file in Sketchup Make 2015 and was successful. What you need to do is open sketchup, go to File -> Import. Select "3DS Files" on the "Files of type" pulldown. Navigate to the location where the 3DS model is and then select it.

Wait a few minutes for it to import. Once open the navigation of the model was slow for me. It might just be the number of faces. Maybe yours is faster. Don't give up.

Keep at it.

Andrewp347 days ago

hello great proyect!, thanks for sharing. Could you plz help here? on your plans I cant see where to connect the LCD. I bought an LCD Keypad shield but I dont know where to connect it. Thanks in advance

A well thought through device. Any updates and mods since this was posted?



Sydney Aust.

1nky14 days ago

very nice build ...thanks for sharing it!

JAguallero20 days ago

This is awesome! I am planning to make something similar. When in 3D printing mode, it looks like you have a mirror for the printing bed. Is it heated? What are the corner braces that connect to the bolts made of?

Azizz127 days ago

I have the same Problem, i have many errors like for example:

ui.cpp.o:(.bss.ui_autoreturn_time+0x0): first defined here

I tried many IDE arduinos like 1.0.5.r2 , 1.0.6 , 1.0.3 , 1.0.4

Please help..

MrBarret1 month ago

Brilliant work!

aldricnegrier (author)  MrBarret1 month ago

Thank you MrBarret :)

Brilliant indeed aldricnegrier thank you so much for sharing your project!!

Repetier-Firmware-Buildersbot.zip ... This firmware has errors ... and I can not install on Arduino even with Arduino Ide 1:05 R2. can guide how were you able to make a CNC / 3D printer? I have the mechanical part almost ready ..... but software can not give error error error error ... it seems impossible ...

aldricnegrier (author)  porfiriosousa1 month ago

The problem is Arduino IDE, try a lower version than 1.05.

What Operating System are you using?

I'm using and to make changes to the IDE 1.6.2 and not complained, the Ide 1.5 r2 gives error in the compilation ... can say what firmaware you used? .... even if the link target do not know what that used .... to see if I'm doing right ..... which the host repetier software are you using? ... I do not think that is the 095F .... I see the images software modified to 1.0. 6 repetier host ... how do you moved to the CNC software?


What firmware is applied to the Arduino 083 or 091 repetier firmware .... and after installation step motors worked?


Charles E1 month ago

Hello Aldricnegrier,

Could you please tell me what nozzle you used for the build? I searched Google for "Complete Greg's extruder J-head hot end" and it gave me a multitude of results; I don't know which one to buy. Could you refer me to a website or give me complete names for the parts I need?

aldricnegrier (author)   Charles E1 month ago

Hello Charles E,

I used J-Head with gregs extruder, but now a days you are better off with a E3D V6 Lite with direct drive.

the repetier firmware gives compilation error ... can explain perform this installation in Arduino.

aldricnegrier (author)  porfiriosousa1 month ago

Hello PorfirioSousa,

In order to upload the firmware, you need to download and install Arduino IDE 1.0.5 r2. Using this version, you are good to go.


dj_freakout2 months ago

Hello aldricnegrier

Could you please tell me how to change the language in the LCD? I have trouble understanding the default language.

aldricnegrier (author)  dj_freakout2 months ago

Hello Dj,

In configuration.h search for "language"

thank you aldricnegrier :)

PrashanthC12 months ago

can i scale it up...?

aldricnegrier (author)  PrashanthC12 months ago

Absolutely, i wish mine was 10cm longer on the X axis :)

ahahahaha after finishing up everything, i want a bigger x axis too :D
dptung20022 months ago

it is lucky to see your project here using M542 driver

could you please describe how to wiring that motor Driver to ramps in more detail, because i have headache of cannot using Nema23 with ramps via DRV8825 ( as the motor just viberated - not move) and i got a m542 now and still do not know how to use and wire it with ramps

really need your help


aldricnegrier (author)  dptung20022 months ago

Hello dptung2002,

Do you have a decent power supply?

ChaoukiA2 months ago

Hello ! @aldricnegrier

i like your work :)

and i would like to told you , that i would like to creat one

but the probléme is :
* Dimension of this printer
* Arduino code
* How to use

servion2 months ago

Nice chassis, but what is the advantage of stainless steel? Is there something better than extruded aluminium bars?

aldricnegrier (author)  servion2 months ago

Thank you,

I don't know, i did not try aluminum bars.

dwalker302 months ago

Beautiful! I love it! So much work and attention to detail going in to this. I have seen many professional rigs that could never hope to achieve this level of quality.

aldricnegrier (author)  dwalker302 months ago

:) thank you, i am glad you can see and appreciate all the small details.

jpmasse33 months ago

Hi aldricnegrier,

I have been messing with this for some time and have almost everything working. However, x- and z-axes will work correctly but there is no response in the y-axis. I have followed through everything and can't seem to get it. Any thoughts?

Thank you.

aldricnegrier (author)  jpmasse33 months ago

Hi jpmasse3,

You need to debug the problem.

First Objective, test is all drivers and all motors work.

- Remove all endstops (disable all endstops via software config.h)

- Test the X motor and X driver on the X pins (pulse direction) of the RAMPS board

- Test the Y1 motor and Y1 driver on the X pins (pulse direction) of the RAMPS board

- Test the Y2 motor and Y2 driver on the X (pulse direction) pins of the RAMPS board

- Test the Z motor and Z driver on the X pins (pulse direction) of the RAMPS board

After this test you know that all motors and all drivers are working properly.

Second Objective, connect all drivers and motors on the ramps board

Now you know every thing works you just need to follow the wiring connections, i speculate you have endstop problems.

dj_freakout3 months ago

Hi aldricnegrier,

Could you tell the number of steps you have used in the driver?
Thank you :)

aldricnegrier (author)  dj_freakout3 months ago


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

Thank you Aldricengrier :)

Have you got noise problems with the end stops? I am experiencing false alarms all the time, all this because of noise. :(

aldricnegrier (author)  dj_freakout3 months ago

You have to keep your cables short, if they get to long, you will have problems. THis is because the voltage drops from 5V to 4V or less when you have long cables (more resistance). You can solve this by suppying 5V to the endstops from another source besides the Arduino. If you do this you just need to connect comon grounds.

aldricnegrier (author)  aldricnegrier3 months ago

i am refering to the cables from the endstops.

Thank you so much for the reply, I think I have cured the issue. I added ferrite beads to all the cables inside the electronics enclosure, and then made sure that the limit wires didn't touch the stepper wires in anyway. and I added a 560 ohm resistor along with a 0.47uf capacitor to each end stop. Evrything works well now, even homing is smooth :)
Thanks again :)

1-40 of 342Next »