Introduction: Building a 3D Printer Under 200$

Picture of Building a 3D Printer Under 200$

Hello everyone

In this instructable I will show you how to make a 3d printer under 200$.

This 3D printer -Tower Simple XL, Maybe I should call it 3D printer of Sauron, lol.

This 3D printer have 6* 6* 6 Inches build volum and you can build it without any 3Dprint part.(*Laser cutting needed*)

If you like this instructable, comment and share this project with your friends who might like this instructable.

Thanks very much.

Step 1: Mechanical Parts List

Picture of Mechanical Parts List

I buy these things on Alibaba, these things will be more expensive on ebay.

This is the reason why I can build 3D printer under 200$.

M3 10mm screws *29

M3 16mm screws *48

M3 nuts *42

M4 16mm screws *4

M4 nuts *4

M4 shim *4

624 bearing *4

T8 Leadscrew 285mm *1

Leadscrew nuts *1

M3 spring 8mm *5

M5 spring 20mm *1

Coupler 5mm to 8mm *1

M3 pillars 16mm *5

M3 pillars 60mm *1

MXL 20T pulley *2

MXL belt *2

Cylinder Liner Rail Linear 8-215MM *4

Cylinder Liner Rail Linear 8-340MM *2

End stop *3

Nema 17 *4

Step 2: Lasercut Parts

Picture of Lasercut Parts

Download lasercut files from this thingiverse link:

Step 3: Laser Cut Wood

Picture of Laser Cut Wood

Laser cutting by 6 mm wood board

Step 4: Laser Cut Acrylic

Picture of Laser Cut Acrylic

Laser cutting by 6 mm acrylic

Step 5: Fixed Stepper Motors and 624 Bearings to Acrylic

Picture of Fixed Stepper Motors and 624 Bearings to Acrylic

Use m3 *10mm screws attach the nema 17 stepper motor to the acrylic piece

Step 6: Build the Main Body

Picture of Build the Main Body

Install acrylic part into main body

in this step we need to use the laser cut parts that i point out highlight

- Laser cut parts 1 &4 &5 &12 &16

Step 7: Mount the Leadscrew Nut

Picture of Mount the Leadscrew Nut

Mount the leadscrew nut into nut holder piece

in this step we need to use the laser cut part that i point out highlight

- Laser cut parts 8 &10

Step 8:

Picture of

- First attach parts 9 and 11

- Then fit the two onto part 13

- Third attach previous assembly to the end of part 14

- Then add part 3 to the other end as depicted

- Fifth attach part 2 to the previously assembled parts

Step 9:

Picture of


- Zip tie bearings on to base plate as demonstrated

- Make sure to put the nub of the zip ties as shown

- Place smooth rods through the bearings to ensure alignment as zip ties are tightened

- Use pliers to tighten zip-ties as much as possible but be aware of the fragility of the wood


- Zip-tie the bearings onto acrylic part as depicted

- Place smooth rods though bearings while zip-tying to ensure they are straight and parallel

- Tighten zip-ties using pliers

Step 10:

Picture of

- Insert smooth rods into bearings

- Secure the previously assembled piece to smooth rods with a zip-tie on each end

- Make sure the zip-tie nobs are on the outer side of the assembly (otherwise they will obstruct y-axis movement)

Step 11:

Picture of

- Insert smooth rods into LM8UU bearings

- Attach part 7 to rest of assembly by zip-tying it onto smooth rods- Make sure the nubs of the zip-ties are on the outer side of the print platform

- Make sure the M3 16mm screw is on the left side of the print platform

-Attach X axis MXL belt to wood part 7

Step 12:

Picture of

-Attach the nema 17 stepper motor to wood part 4

-Attach Z axis endstop to wood part 4 with wood part 15

Step 13:

Picture of

-Attach X axis endstop to wood part 4 on left side

-Attach M3*16 pillars to wood part 7

-Attach M3*16 screw with two M3 nuts to wood part 7

Step 14:

Picture of

-Attach Y axis endstop to acrylic part on left side

-Insert the M3*16 screw through the wood part 8

-Then insert M3*60 pillar and M3 spring 8mm to the screw (to hit the Z endstop)

Step 15:

Picture of

-Then insert M3*16 screw and M3 spring 8mm to the M3*16 pillars on wood part 6

And now we have successfully assembled a Tower Simple XL mechanical parts.

Next time i will publish the updated firmware and electronic parts assembly guide.

Step 16: Electronic Parts List

Picture of Electronic Parts List

1. LCD 2004 *1

2. Arduino Mega 2560 *1

3. Ramps 1.4 *1

4. A4988 StepStick Stepper Motor Driver *4

5. 12V 40W Heating pipe *1

6. NTC Thermistor 100k

Step 17: Upload Firmware to Arduino Mega2560

Picture of Upload Firmware to Arduino Mega2560

1.Connecting Arduino Mega 2560 to computer.

2.Click install custom firmware.

3.Choose "TowerSimpleXL-2004" to upload (Ignore Warnings).

Download hex file from this thingiverse link:

Step 18:

Picture of

1. Attach A4988 StepStick Stepper Motor Driver to Ramps 1.4 motherboard.

2. Attach LCD 2004 to Ramps 1.4 motherboard.

3. Attach Ramps 1.4 motherboard to Arduino Mega 2560.

Step 19:

Picture of

Connect the power, more than 6 amps of 12v power supply.

I also designed a control box to install the control panel.

Download control box file from this thingiverse link:

Step 20: The Most Important Step

Picture of The Most Important Step

This is the most important step, I know you can't understand schematics, so, i hope you can understand the picture that i made.

Wiki of Ramps:

Step 21: Light It Up and Print Something

Picture of Light It Up and Print Something

Finally completed.

Test, I print a xiaomi yi camera mount to replace the previous version and it works well. so meme.

Download xiaomi yi carera files from this thingiverse link:

Step 22: Place for Filament Roll

Picture of Place for Filament Roll

1. M4 shim *4

2. M4 16mm screws *4

3. M4 nuts *4

4. 624 bearing *4

5. Pipes 90mm diameter 13mm *2

This pipe can fit 624 bearing very well.

Step 23:

Picture of

Attach M4 screws, M4 shims, 624 bearing and M4 nuts on mainbody.

It is convenient to roll filament.

If you like this instructable, please vote me on "3D Printing Contest" , comment and share this project with your friends who might like this instructable.

Thanks for watch.


orhn00 (author)2017-12-10


I was wondering if you could e-mail me ( ) all the files for the project along with .hex firmware. Thanks for the instructable!

orhn00 (author)2017-12-09

If you used marlin in the software, you should skip the configuration.h file (

AyushP2 (author)2016-01-26

I have a major problem. My printer isn't printing circles AT ALL. When I run the gcode, it chooses not to print a circle correctly and prints it as another shape I printed last week and assumes it's a circle. Is this a problem with Cura or Marlin. Please help and thank you in advance.

bondike (author)AyushP22016-01-27

How are You printing - from SD or from Cura?

AyushP2 (author)bondike2016-01-27


bondike (author)AyushP22016-01-28

Any pictures?

bondike (author)bondike2016-01-29

Oh and You can refer to printrbot guide

I did the first print in Cura with default settings

AyushP2 (author)bondike2016-01-29

The Link doesn't work, and what default settings

bondike (author)AyushP22016-01-29

Did You go through machine selection wizard in Cura?

AyushP2 (author)bondike2016-01-29

Yes U dud

orhn00 (author)bondike2017-12-09

hey my friend dropbox is giving an error.

AyushP2 (author)bondike2016-01-31

And I noticed that you didn't put Machine (0,0) as a machine setting, when I uncheck this, the Y axis goes all the up and unlevels the bed, and sometimes goes off the bed. So isn't this a problem?

bondike (author)AyushP22016-01-31

You mean "machine center (0,0)" ? I think it moves the 0,0 point from corner of bed to the center of bed.

I think You have axis' messed up - x zero is left, y zero is front, z zero is bottom.

Pronterface -

When pressing "x-home" button, head moves to left side, "y-home" moves head to front and "z-home" moves head down. And "all home" moves head to bottom-left-front corner.

AyushP2 (author)bondike2016-01-31

My axises are correct the way you describe them and I use Pronterface

AyushP2 (author)AyushP22016-01-31

And my controls for pronterface are correct

bondike (author)AyushP22016-01-31

Well, I'm out of ideas, maybe this can help -

bondike (author)bondike2016-01-31

Maybe motors are not getting enough power and can't move fast enough.

What's Your VREF voltage? Check dianus blog -

I have X,Y motors at VREF ~0.45V and Z,E at ~0.7V

AyushP2 (author)bondike2016-01-31

Can you make the files downloadables, there are just showing as texts (th ones needed to be downloadable

bondike (author)AyushP22016-01-31

Just right-click on link and "save as.."

bondike (author)AyushP22016-01-31

And just to make sure - did You select "printrbot" on first page and "makers kit" on second page?

AyushP2 (author)bondike2016-01-31

As a matter of Fact, I selected reprap when doing machine section and then other

AyushP2 made it! (author)bondike2016-01-29

The link returns with a 404, and here is a pic

bondike (author)AyushP22016-01-29

Remove the dot at the end of link

AyushP2 (author)bondike2016-01-29

The link returns with a 404, and here is a pic

AyushP2 (author)bondike2016-01-29

The link returns with a 404, and here is a pic

dianusindustrial (author)2015-12-25

Would be amazing to release the Marlin files. Being able to add features like automatic bed leveling would be great.

One possible way to get around this, which I tried, is to read every detail (steps per mm for X, Y, Z, E, etc.) from LCD screen, then use the values to configure your own Marlin firmware. I tried that and succeeded in uploading my own Marlin configuration file.

Hey that's a brilliant idea! I will give that a shot. Any chance you could upload your marlin configuration here for others to configure?

Here is the configuration.h file for my Marlin:

Let me know if you cannot see the file, sometimes I have issue with my Dropbox. Also, this file is for the newest Marlin v1.1.0, please go to the github website to downloaded the most recent Marlin firmware.

Just a few more words on this: The most important info you can get from the author's hex file is the steps per mm for each axis, which are:

X 78.74, Y 78.74, Z 393.1, E 104.0;

Which works for me fairly well, of course not very accurately. I printed a 20mm test cube and turned out only ~19mm. Not very accurate, but good enough for getting started.

However, I do not understand the steps per mm for Z axis, which is quite different from the results I got from Prusa calculator ( Anyone has any idea?

orhn00 (author)qiyanglu2017-12-09

hey my friend dropbox is giving an error.

csochacki (author)qiyanglu2016-02-04


I also have set

X 78.74, Y 78.74, Z 393.1

But on Z have wrong size. I printed cube 40x40x40mm but on axis Z have only 38,8mm. X&Y is ok.

qiyanglu (author)csochacki2016-02-05

Now I am using XY 80, Z 400 (actually XY 160 Y 800 cuz I am using 32 microstepping), and the 20mm cube turned out quite accurate (~19.9mm).

Funky Diver (author)qiyanglu2016-01-04

I'm guessing the steps are...

1. Download Marlin

2. Extract Marlin

3. Replace configuration.h with your version

4. Compile and upload through Arduino IDE

Would that be about right? I'm gonna get on mine today hopefully and get it done now that the festivities are completely over here (aka my kids are back at school ;))

qiyanglu (author)Funky Diver2016-01-04

Yep. Sounds right. Then you can control everything use the LCD screen. However, an important step to do after uploading the firmware is to calibrate your extruder step. The default 104.0 steps per mm may or may not work for your extruder, which can cause under or over extrusion. For instance, I am using 114.7 now.

Funky Diver (author)qiyanglu2016-01-05

I used this

in conjunction with this...

To get my base values... FINALLY my printer is actually printing, big thanks to you :)

Some fine tuning to do, but the important thing is... it's printing the thing that it's supposed to be instead of an Halloween night prop. :D

qiyanglu (author)Funky Diver2016-01-06

Just curious about what is the value you used for the Z axis?

Haha...I printed quite a few thingies that can be used for Halloween decorations before I got everything right.

Funky Diver made it! (author)qiyanglu2016-01-06

Here's my values...


I'm using Repetier at the moment with slic3r. Cura has been a pain in the doo dah at translating the movements and doing some really odd stuff. TBH repetier hasn't been much better, not completing the print, but doing a decent job of the 3/4 it has printed.

qiyanglu (author)Funky Diver2016-01-06

In my case Cura worked pretty well... really like the visualization and printing time estimation. I guess for both Cura and slic3r one needs to spend fair amount of time optimizing the settings. Also cooling is very important for PLA. I still cannot get rid of the curling when I print small thingies or with overhangs.

csochacki (author)qiyanglu2016-02-05

Now I have 400 for Z and is ok. I use formula (Step_motor x setupstep)/spring_ Leadscrew (200x16)/8

Thank you for your answer

tyousaf made it! (author)2017-11-07

This is a great design for a self build 3D printer. Great work AlmusYang. I have recently finished building mine. The electronics enclosure still needs to be done as I need to modify it for 128x64 LCD. I have uploaded the firmware HEX file but the endstops configuration in it are reversed. It is also configured for a 20x4 LCD so I decided to configure the Marlin firmware myself.

I have managed to get the printer to print using my own Marlin configuration. But the prints are no where near clean (as you can see from the photos). Could someone please help me identify what could be wrong?

LucasR110 (author)tyousaf2017-12-01

Maybe is underextruding, and/or high temperature. Did you calibrate your printer? If not, google Triffid Hunter's Calibration Guide.

msufred1991 (author)2017-09-05

Hi, I am currently making this printer. Any suggestion to what specs should I consider for my power supply? It would be a great help. Thank you.

msufred1991 (author)2017-09-04

I can use Marlin for firmware and Pronterface for this right? I'm kinda new to this.

Amir hossein1075 (author)2017-08-05

Which application should we use to uploud the firm ware?

baotriet made it! (author)2016-01-20

Thanks for your sharing.
My printer is made of acrylic with modified filament roll and x-axis.
Thanks again.

Vechai (author)baotriet2016-01-24

size X axis ? 150mm or more ?

nizamshahrin (author)Vechai2016-10-26

I downloaded all the files, and I only have Solidwork. So, few file can be opened while other can't. Could you suggest me what software suitable to view the drawing (as I need to know the sizing and dimension before laser cutting it)? Thanks

use corel software

Alim211113 (author)2017-07-13

For teh level 17 we need to which program or which program you used and which version plz help me tnxx

About This Instructable




Bio: Maker
More by AlmusYang:DIY Electric Skateboard (high power version)A minimalist solution to make VR panoramaBuilding a 3D Printer Under 299$
Add instructable to: