Introduction: Building and Testing a Budget 3D Printer Kit

About: Instructable about how I make things that appear in my videos. Check out my youtube channel about making and hand tool woodworking.

Budget 3D printer kits can get good results. However they do require a non trivial time investment. I estimate I spent ~20 hours of assembly, wiring, calibrating and learning, to get to a point I was happy with the prints. The printer I build was the Tarantula Tevo i3 2017 edition, based on the Prusa i3 design. I'm not trying to advertise this specific printer, it's just the one I happened to have. I am trying to give you an idea of whats involved with setting up these types of kit printers. There are lots of companies producing printers based on the prusa i3 design, so choice one thats right for you (:

Safety warning

This specific printer requires you to manually wire the mains power cord into the power supply. Be extremely careful when dealing with mains power as it can kill you.

Step 1: Watch the Video

Please take time to watch the build video to get an idea what's involved. If you like my video please consider subscribing to my channel (:

Step 2: Tools Needed

The printer comes with the hex keys needed. You also need:

* Avoid cheap wire strippers get a good pair of compound action ones. They are worth it!

** Note: Allot of workbenches are not flat, so check your's with a straight edge . I ended up building my printer on a small sheet of MDF. It's important for the printer to be square so a flat work surface is essential.

Step 3: Build the Structural and Mechanical Components of the Printer.

Unpack the parts and check nothing is missing. Follow the instructions and build the frame and mechanical parts. I found with this specific printer the instructions started off well but got quite vague towards the end. Complete steps were missing. Luckily there are two very comprehensive youtube playlists on how to build the printer: here and here.

Tips on timing belts

I added the timing belts last. That way if you make a mistake and need to alter anything you don't have to undo and re-tension the timing belts.

Tip to deal with problem screw threads

The only problem I had during assembly was some screws did not thread properly. To fix this I used a flat file to file a taper as the start of the thread, added a couple of drops of machine oil and the screws then threaded well enough.

Step 4: Wire Up the Power and Electronics

Safety warning: This step involved wiring up mains power. Please be extremely careful with mains power. It can kill you!

Wire up the power cord to the power supply. Be extremely careful that there are no loose wires strands and the wires are firmly locked in place. The included power supply has a 220V and 110V switch on the side. I live in Australia so I switched mine to 220V. Check the mains power voltage in your country.

The wires from the power supply to the mainboard needed to be stripped and tinned. There is a good instructable on tinning here. I found it very difficult to screw these thick wires in the mainboard power block. So I crimped on blue ferrules to the end that was wired into the mainboard. These ferrules were easy to screw securely into the mainboard powerblock.

There are two fans in this kit that need to be always on. An assembly video suggested either wiring them into the 12V power block of the mainboard or adding a custom 12V power block to the frame. I just wired them into the spare 12V terminals of the power supply.

Once all power was wired up, I covered the back of the power supply with electrical tape to make it safer until I could print a power supply case.

Once you have power wired up, follow the wiring diagram in the instructions for the rest of the wiring.

Note: I did not bother with cable management until after I tested the axes.

Step 5: Power on and Test the X, Y and Z Axis Movement

Once wiring is done, it's time for first power on. Lets hope you don't see the blue smoke! If LCD shows text this is a very good sign! Navigate the menu to make sure OS is working.

Now test axes movement. Go to prepare > move axis in the menu tree and move the X,Y and Z axes. Making sure they move freely and don't hit anything. Note the bed is not level yet so be careful not to scrape the extruder along the bed when doing this.

Now home your axes. (prepare > home all axis). If all went well all three axes should bump twice against their end switches and then move the extruder to the center of the bed. As you can see from my video my Y-axis was backwards. I fixed this by flipping the Y-axis stepper motor to the opposite side of the aluminum extrusion.

Once you are happy the 3 axes move and home correctly. Tidy up the wires with some cable ties.

Step 6: Manually Leveling the Bed

This specific printer did not have auto bed leveling, so it needs to be done manually. This is done by disabling the stepper motors in the OS menu. Then moving the extruder to a corner of the bed. Via the OS lower the Z-axis to 0mm, verify it is close the bottom of the bed then raise it 0.1mm. 0.1mm is the thickness of a standard sheet of A4 paper.

Slide a small square of paper between the extruder and bed. Adjust the bed height until you feel some friction between the extruder and paper. This indicates the bed is the correct height. Repeat this process for each corner multiple times until you have a level bed.

Step 7: First Print!

Your probably better of upgrading firmware and calibrating the printer before first print. But if you cannot wait to actually print something you can now.

Download the 20mm calibration cube of thingiverse and slice it into a gcode file with a slicer of your choice. I used Cura, with the settings (But other slicer software like slic3r also work):

  • Printer type: Prusa i3
  • Filament diameter: 1.75mm
  • Filament type: PLA
  • Print plate adhesion layer.

Load the gcode file onto a SD card and insert it into the printer. Note the SD card that came with the printer got corrupted after a few uses. So I swapped it out with an old 4GB one.

Load some PLA filament and start the print. The bed and hot end will heat up before the print starts. Verify wires are not getting hot when they reach temperature. When the print starts check the filament is feeding and the axes are moving properly. The calibration cube takes about 40mins to print. Once the print is finished remove the print from the bed with a paint scraper.

Check the calibration cube's quality. My first one had rounded edges and the axes measured:

  • X: 19.8mm
  • Y: 20.0mm
  • Z: 19.2mm

It was quite noticeable how off the Z-axis was. If you cube needs improvement it's time to move onto upgrading firmware and calibrating the printer.

Step 8: Upgrading Firmware

I actually calibrated the printer before I upgraded firmware. But I found the Z-axis kept moving different distances even after calibration. After some googling I found a forum post saying that upgrading the firmware to the latest community version fixed this problem. Thats why I'm including this step here.

Download needed software

This printer uses an Arduino based mainboard. So loading new firmware is the exact same process as loading a new sketch on to an Arduino microcontroller. Download the Arduino IDE here and the community Marlin printer firmware here.

Loading the new firmware onto the mainboard

Plug the mainboard into your laptop via the a USB cable. Start the Arduino IDE and open the Marlin firmware. Select Tools > boards > Mega2560 and Tools > processors > Mega2560 from the IDE's menu. Verify the correct port is selected and upload the sketch to the mainboard. If all goes well the sketch will compile and the mainboards lights will flash while the upload is taking place.

Unplug the USB cable and power on the printer. The LCD will display the new firmware's version.

After the upgrade I needed to re-level the bed as the Z-axis home position had moved by a couple of mm.

Step 9: Check the Printer's Calibration

After firmware upgrade check the printer's calibration. I won't go into too much detail here as there is an excellent video covering this topic in detail. But basically you clamp a ruler to the print bed, tape a pin to the extruder and move each axis by 10cm via the OS and verify it has move the correct distance using the pin as a marker. If the calibration is off you can adjust the esteps in the OS settings to fix it. You also can calibrate the extruder's motor. Watch the video and it will make sense.

Step 10: Re-print Calibration Cube and #3dbenchy

After I checked calibration and was happy with it. I reprinted the calibration cube. The new cube measured as

  • X: 20.0mm
  • Y: 19.8mm
  • Z: 19.9mm

There was less edge rounding and the cube's text looked sharper. It was not perfect but I felt it was good enough to move to more complex geometry. If your 2nd calibration cube has problems, double check the frame is square, the wheels firmly slide along the rails, the bed is level and motors' calibration. If these things all seem right, try asking for help on a forum for you printer. My printer has a very active facebook group where people ask for help.

The next model I printed was the famed #3dbenchy boat. This model is often used to check print quality. The model can be downloaded from thingiverse. I felt the quality of #3dbenchy I got was good enough for me to start using the printer things other than calibration prints. So I was done with the setup and ready to use the printer!

Step 11: Conclusion

As you can see these budget printers are projects in themselves. I estimate it took me ~20h to get to the point where I was able to use this printer for real world prints. However if you are willing to invest the time setting up a printer like this you can get good prints out of it. But if you just want to printer up and running as fast as possible then look at the more expensive pre-assembled pre-calibrated printers. This is most definitely a tinkerer's printer.

If you have not yet watched the build video please do and consider subscribing to my youtube channel. (:

Thanks for reading my instructable!

- Andrew


Instagram: @andrew_r_jones

Youtube: @andii1701

Twitter: @andii1701