DIY 3D Printer: How to Make a 3D Printer That Anyone Can Do

8,261

134

17

Published

Introduction: DIY 3D Printer: How to Make a 3D Printer That Anyone Can Do

Hello everyone! Every time I start a new project, I try to make something bigger or more difficult than the previous one. So this time I made a 3D printer from some waste/residual wood, some "recycled" electronic parts and about 120\$. In this instructable I will show you how I made it with only hand tools, I am an absolute beginner with 3D printing,so if I could make it, anyone could do it. My printer doesn't contain any printed or laser cut parts, that's why it costs only 120\$. I hope you will enjoy this tutorial and make your own 3D printer:)

Step 1: Materials and Tools

Before I started the build I read a lot about the 3D printers, checked the commercially available did a lot of calculations, sketches and plans. After that I made the final plane, what is based on the Prusa I3 and Anet A8 3D printers. I ordered most of the electronics and the pulleys from ebay (it's the cheapest way), for power supply I used (re-used) an 400W pc power supply, for the main frame I used a cheap pine self, and some waste wood from a furniture's wrapper and some threaded rod(the cheapest). This printer is built for especially printing PLA, but now I working on the V2.0, which one will be able to print ABS or any other material. This one also could print ABS with a few modification. So let's see what you need if You want to built this 3D printer. (I'm using metric system, but I also write the quantities in imperial units for the ones who uses it)

Materials:

• 2pcs M8 100cm(40inch) Zn threaded rod(1\$)
• 40cm*40cm*1,8cm wood sheet(15.75*15.75*0.71inch)(2\$)
• some residual plywood I guess it was about 30cm*30cm(11.8*11.8inch)(free)
• waste wood (it was in 6cm wide 2m long sheets)I cut 3pcs 30cm long pieces(11.8inch)(free)
• 2pcs flexible motor connector (2\$)
• 4pcs nema motor holder (8\$)
• 5pcs nema 17 motor (40\$)
• 1pcs mk2n pcb heatbed (6\$)
• assembled e3d (clone) hotend (5\$)
• arduinoMega+Ramp1.4 control board (15\$)
• 4pcs a4988 motor driver (4\$)
• 3pcs endstops (I bought 5pcs for 3\$)
• 1 smooth rod kit (M8 2*370cm(145.6inch) 2*340cm(133.8inch) 2*320cm(126inch)) (23\$)
• 2m GT2 belt with pulleys (5\$)
• all-metal extruder kit (4\$)
• some M3 screws,M3,M8 screw nuts,winged nuts, springs(about 4\$)
• 2pcs 608zz (i bought 10pcs for 3\$)
• a piece of a broken glass sheet(it's for the heatbed)
• 8pcs lmu88 (4\$)
• bunch of ZIP ties

Tools:

• Caliper (in my opinion it's a really handy tool so it worth to get one anyway)
• Screw driver
• Drill+drill press(my is about 20 years old but it was essential, cause I didn't use 3D printed parts)
• Jigsaw
• Rotary tool
• Spirit level
• Soldering station(optional)
• Wood glue
• Workbench
• Glass cutter
• Screw compressor clamp

For this project the drill press was essential, because the rods and the bearings needs straight, perpendicular holes, and to be honest with only my bear hands i couldn't do it. The soldering station is optional because i only had to use it for modify the pc's PSU, and my motors wires were too short, so i had to make them longer.

After that we can start building:)

Step 2: Create the Frame

First of all if you work with any tools is good to use some protection, but if you drill a lot and sanding a lot really recommended to wear protection.

So, after every calculation, I signed the wooden parts and with the drill press and the jigsaw cut out the unnecessary part from the basic plate. (I also used the cut out parts) After that I sliced the long piece wood for the front and back, to connect these part cut the threaded rods(the cheap ones), into 4pcs 50cm long ones. I had to make 4 holes every wood part in a straight line so with the compressor claws put every piece in one position and drill across every element. As you see after that it was easy to connect and fix the parts, and after some sanding the frame was ready. I fixed the parts with screw nuts, that's why i can change the distance between the parts, so i can control the main frame position and this frame will hold the Z and the X-axis.

Step 4: Assembly the Mechanics

First of all i fix the Z-axis with the X-axis for that i glued the the threaded rods holder to the main frame, then I drill 2-2 1cm(0.39inch) deep hole for the Y-axis's smooth rods into the back and top wood piece then connect the Y-axis. At this point i realized that i need to cut out some more wood from the main frame because there wasn't enough space for the Y-carriage, I could solve this with the rotary tool with a sander head, then i had to carriages attached to the GT2 belt, for this task at the Y-axis i cut a little rectangular piece of wood with 4 hole, i have guided across the belt and fix it with a few ZIP ties, I used a different method at the X-axis there i used 2 pcs screw and with the ZIP ties i attached the belt to the screws. Every motor and every piece was in the right place(TIP: for the smooth/threaded rods use some grease, i used lithium grease), so lets start assembly the electronics.

Step 5: Controller,Power Supply, Hotend, Heatbed

First of all I tested every motors and motor driver separately with an arduino and the minimum circuit what can you see on the picture. I uploaded the code what i used for testing the motors and drivers. All of my motors wiring were bad... they wanted to move in two different direction at the same time, so I had to find the pairs(TIP: you can find wires that belong to the same coil with a multimeter, if you measure a the resistance of a pair it will show you an exact number, but if you measure a not pair the multimeter will show you 0/infinite Ohm). After finding out every motor and motor driver works I soldered the +/- wire to the pcb heatbed (TIP: for the safety operating use at lest awg 15 wire with silicone coating), and the thermistor, after the soldering I fixed the wires with some kapton tape. After that put together the arduino and the ramp board with the motor drivers connect every motor and endstops to the right position. At this point i modified the ATX PSU, i uploaded the pinout of the PSU, so i only shortened the PS_ON with a GND wire, and choose 3-3 yellow wire(+12V in my case these wires holding about 19A) and 3-3 black wire, I use as much wire because all the yellow wires only together can hold 200W, so for the safety i used more wire. Soldered together them and attached to the Ramp board(TIP: use ferrules, they make the connection with the terminal much safer and easier). Before I connected the hotend I took a rest piece wood and drilled a 15mm diameter hole, then cut it in half, with two more 3mm diameter hole I could easily attached the hotend to the X-axis carriage, after that i connected the hotend and the hotend's thermistor to the board.

Step 6: Firmware, Softwares

Because i used a Ramp1.4 borad i had to upload the Marlin firmware, but before that i had to modify a bit the code, for this i needed the Arduino development environment and the Marlin files . I will summarize what i did, but also put here a link if you need more help, or explanation:

Marlin configuration step-by-step

if you open the Marlin arduino file you will find the configuratoin.h, i did every modification in there. First of all i changed the baudrate from 250000 to 115200 (most of the forums recommends to value because the higher numbers could cause some trouble), the second change i made is to type the name of the board what i used (TIP: in the boards.h you can find all the possible boards and it's code too). The next step is define the temperature sensors's types and number, i didn't change the next section but if you need you can modify the max and min temperature of the hotend and heatbed, direction of the motors and how many end stops you using(In my case i used only x,y,z min). The next part of the code where i changed it where you can modify the steps/unit of the axis, for this i needed the microsteps of the motors, pitch and lead of the threaded rod, pitch of the GT2 belt, number of the pulley's teeth, in the pictures you can see my preferences. The calculation is about: a motor with a 1.8° step angle has 200 steps(360°/1.8°) with a 1/16 stepping and a 2mm pitch threaded rod (200*16/2=1600 Z-axis) for the X,Y-axis you need to 3.14*diameter of the pulley and 3200 divide by this(TIP: Ifyou don't want to calculate it by yourself you can use the RepRap calculator for calculate your values). I didn't make any other modification, but you can find a lot more option in the code if you need.

Before I started to verify the code I double checked that I chose the good port and the proper arduino board, I also had to change the used USB port’s baudrate, you can do it in the device manager. Then verified and uploaded the code to the arduino. For controlling the printer I used the free Pronterface program( I like it very much), in the program you can change the print’s settings or the slicing’s setting, manually set the heatbed and the hotend’s temperature, or moving the axes, ordering homing the printer, so it’s a really handy program. You can load Gcode files, start,pause,resume,restart prints, or you can type Gcode by yourself, if you need more information about G-code you can find here. I made the first 3D designs with Tinkercad, than sliced it with Cura and print it with Pronterface. All the programs I mentioned are free to download and use, so I want to say a big thanks for every creator and the 3D community for the free knowledge:)

I made a short video when i tried the axes.

Step 7: Finish and Start Printing

I uploaded a video about one of the first printing. I also have to make some more calibration, finding the best speed with the best temperature, but the printer is working!! I was sooo happy when it started to work as i planned.

Now I'm still learning 3D design, and printing, but now i have a working 3D printer. I hope you enjoyed this instructable and if it's inspired you please share with me the result. If you have any question about this build feel free to ask it, i'll answer as fast as i can.

Thank you for visiting and happy making!

Runner Up in the
Make It Move Contest 2017

Recommendations

• 3D Printing With Circuits Class

4,533 Enrolled

17 Discussions

Dylan, I want to congratulate you for the construction of the 3d printer, here in Brazil these printers are very expensive, I was very interested in building, I wanted to know from you the software that you used to
move the X, Y and Z axes. Thank you!

Hello! First of all thank you very much, and sorry for the slow response. For controlling the printer I used the "Pronterface" software, with that i could easily control every component of the printer: extrude,temperature bed,nozzle, managing prints. I really like this program and it is free. For slicing i used Cura and Slicer and for designing i used fusion 360 and tinkerCAD.

Really nice project! Do you have any measurements or planes? I would like to make it!

4 replies

Thank you very much:) I will do some measurement and based on make an AutoCAD file if its ok for you?

Sure!! I'm sure it would help many others.

Thanks!

Oh god i feel ashamed, sorry i graduated and moving to a new place and yeah i forget it. But i will uploaded in an AutoCAD file in the 3rd step, it contains the bed holder and the X-carrige sizes, plus one part of the x-axis's idlers. Sorry for the waiting:(

great 3D printer, i noticed a 'tic-tic' sound in the video of it printing, sounds like the extruder is skipping .check if the extruder is the source of the sound :)

You have a good ear:D Yes the source of the sound is the extruder, but it works properly only the filament spool was stuck, that's why the extruder produce this sound. Thank you very much for your remark:)

This is awesome but for the sake of my nerves please just tell me you have a damn good smoke alarm.
The world needs tallented makers.

I think ,i more enthusiastic than talented:D but you are right always safety first, and thank you for this comment:)

It looks a little bit like a wooden prusa clone.

Anyhow! Cool! Think I want to make it from palletwood.