Cheapest Portable 3D Printer

by Joseph Joshy in Workshop > 3D Printing

57620 Views, 741 Favorites, 0 Comments

Cheapest Portable 3D Printer

Untitled-3.jpg
IMAG0999.jpg
IMAG0914.jpg
Printing an Eiffel Tower

So this is the 3D printer I made which so simple, portable and cheap. The making of 3D printer itself may be a hard job for some. But I can say that it is simple but time consuming if you have a basic understanding of the principles and knowledge of the working of 3D printer.

In this instructable I will provide the full high definition description on how to build the 3D printer from scratch to the end, and the software part. In short if you completely understand this instructables (all the steps), then you can easily create and print your own models, all by your self.

The printer we are going to make is a FDM(Fused Deposition Model). This model works by melting the plastic filament and depositing it in the layer below it. After each layer is finished the extruder rises and continues depositing on top of the previous layer until the model is completely printed.

Trust me if this is your first 3D printer, then you will feel amazing at the end results. And the making would be fun.

Before starting to make a printer, go through the article till the last step. The last step is an Important step, do not skip it.

I will divide the steps from start to end as 4 parts:

1. Building the structure

2. Uploading and installing the softwares

3. Testing and Tuning

4. Printing your dream

So lets start:)

Building the Structure

IMAG0824.jpg

The parts for this project are easily available on ebay and other web sites. I am making a list of required parts and advisable tools.

Parts

  1. Extruder assembly 0.4mm nozzle X 1
  2. Stepper motor X 4
  3. Pulley for belt X 2
  4. Belt for pulley X 4m
  5. Drawer channel X 6
  6. Screw rod coupler X 2
  7. Screw rod X 2
  8. Arduino mega X 1
  9. Ramps 1.4 X 1
  10. A4988 Motor driver X 5
  11. Thermistor 100k X 2
  12. Toggle switch X 1
  13. Old computer SMPS X 1
  14. LED X 2
  15. MDF sheet X 1
  16. Small nails and nuts and bolts
  17. Leaf switches X 3
  18. Heat bed X 1
  19. PET or Kapton tape
  20. Screen and switch compatible for Ramps 1.4(OPTIONAL)

Tools

  1. Hacksaw blade
  2. MDF wood cutter
  3. Driller and bits
  4. Hammer
  5. Glue
  6. Plier
  7. Screw drivers
  8. Level scale
  9. Long steel scale
  10. Measuring tape
  11. Pen for marking
  12. Sand paper
  13. Set squares

Making Y-Axis (Heat Bed Assembly)

IMAG0703.jpg
IMAG0704.jpg
IMAG0705.jpg
IMAG0706.jpg
IMAG0707.jpg
IMAG0709.jpg
IMAG0710.jpg

The heat bed is the Y-Axis for the printer. It is mounted on a base piece. The full description on cutting and assembling is given in the pictures.

Y-Axis Movement Assembly

IMAG0711.jpg
IMAG0714.jpg
IMAG0716.jpg
IMAG0717.jpg
IMAG0718.jpg
IMAG0719.jpg
IMAG0720.jpg
IMAG0721.jpg

Y-Axis movement consists of motor belt assembly. This assembly is obtained as shown in the pictures.

Making Motor Mount for Z-Axis

IMAG0723.jpg
IMAG0726.jpg
IMAG0728.jpg
IMAG0732.jpg
IMAG0733.jpg
IMAG0735.jpg

The motor mount is used to hold the motor for Z-Axis. This motor mount is simple to make. The picture speaks for it self.

Making Z-Axis

IMAG0734.jpg
IMAG0736.jpg
IMAG0737.jpg
IMAG0738.jpg

The Z-Axis frame acts as the basic frame and adds the strength to the printer. The frame measurements is taken randomly keeping in mind the space for the extruder to move for its space.

Making X-Axis

IMAG0739.jpg
IMAG0740.jpg
IMAG0742.jpg
IMAG0743.jpg
IMAG0820.jpg
IMAG0819.jpg
IMAG0822.jpg
IMAG0825.jpg
IMAG0826.jpg
IMAG0828.jpg
IMAG0827.jpg
IMAG0837.jpg

X-Axis is the one that holds the extruder and the X-Axis assembly Slides over the Z-Axis Assembly. The X-Axis assembly is screwed to the drawer channel of the Z-Axis to move up and down. The X-Axis assembly is assembled as given in the pictures.

The X-Axis assembly slides in the Z direction by the screw rods. These screw rods are put through a stationary nut which is held by the X axis assembly. So when the screw rod is rotated by the motor the X axis assembly is shifted up or down.

This nut assembly is also shown in the pictures.

X-Axis assembly consists of movement of the extruder. The extruder assembly is fixed as in the picture.

Fixing the Electronics Pieces and Wiring

IMAG0835.jpg
IMAG0836.jpg
IMAG0832.jpg
IMAG0833.jpg
IMAG0834.jpg
IMAG0857.jpg
Arduinomegapololushieldschematic.png
board.JPG

Fixing the electronic part is a crucial part since it should be fairly hidden, should be less messy, and easily debugged.

The positioning of Ramps, Arduino, Motor driver, and power supply socket is shown.

Since portability of the printer is of great requirement, a handle is provided at the top part.

SMPS is positioned at the bottom of the printer. The Red wire gives +5v, Yellow +12v and the black wire is Ground. To switch on the SMPS, the green wire is to be in contact with a black wire. So we keep a toggle switch in between these two to on and off the SMPS.

Guide to wiring is given in the pictures.

Partial Testing the Parts

First test of the parts

Partial testing is to check if the parts and movements are working. An arduino code is attached. Upload it to arduino and test through a serial monitor. The code is simple, and can be modified as your convenience.

Downloads

Uploading and Installing Softwares

Untitled.jpg
Untitled.jpg

In the software part, we need 3 things to properly function the the printer.

  1. Firmware for the Arduino.
  2. An interface for the printer.
  3. A slicing tool to convert the 3D objects into g codes.

The following is the process to follow to print an object.

We need a file that contains the object. Normall they are in .stl formats. One can either design a new object or get a previously done design. Thingiverse gives a lot of objects as .stl files and is a very good site for 3D printers. The next step is to convert this file into g codes which are instructions to 3D printer. To do this we need a software. There are many softwares available like slicer, cura etc. I would prefer Cura since it is simple to handle. After converting this into g codes, we need to send this codes to printer through an interface. Although cura supports plugins for this, it is a good habbit to have another interface for this. There are different softwares for this like repetier-host, pronterface etc. I use pronterface. The next thing is to have a firmware in Arduino to interpret the g codes and act accordingly. For this we use Marlin firmware.

Instructions to use these are given in following steps.

So what we need to have are:

  1. Cura (For slicing)
  2. Pronterface (For interface)
  3. Marlin Firmware (For Arduino)

Download them :p

Setting Up Marlin Firmware

marlin1.jpg
marlin2.jpg

Marlin firmware is code for Arduino. It is pretty much commented properly. Although it is a collection of number of header files, we need not worry so much. Just modify the code as said and you will be good to go. Fine tuning of the code for printer is done later.

1. Changing the motherboard

Open the Configuration.h file and change the motherboard as follows:

#ifndef MOTHERBOARD

#define MOTHERBOARD BOARD_RAMPS_13_EFB

#endif

2. Changing the temperature setting

In Configuration.h file change the code following setting:

#define TEMP_SENSOR_0 5

#define TEMP_SENSOR_1 0

#define TEMP_SENSOR_2 0

#define TEMP_SENSOR_BED 5


"Modify the DEFAULT_AXIS_STEPS_PER_UNIT, this will be done later."

4. Now Upload the marlin.ino to Arduino through Arduino IDE.

Setting Up the Pronterface

marlin3.jpg
Untitled.jpg

Setting up the Pronterface is pretty simple.

Plug the printer in and launch the pronterface. It will automatically detect the com port. Now set the baud rate seen in Configuration (#define BAUDRATE 250000) in the pronterface. And if everything goes correct, you can see the printer is connected in Pronterface.

To test if every thing works

1. Test extruder

Set the 'heat' to 250 degree and then you can see the graph rising. If not, there is a fault.

2. Test the heat bed

Set the 'bed' to 70 degree and the you can see the graph rising. If not, there is a fault.

3. Test X,Y and Z Axes

Press the minimum distance in the arrows so that each one moves.

If everything is fine, you are good to go to tuning.

Testing and Tuning

marlin4.jpg

Testing and tuning is the most simplest but important step, since it determines the print quality and perfectness of the prints. There are 4 things to be tested. Each of this steps are similar. So get to know how to do it and apply to all the remaining.

Adjusting the X-Axis

Get a good measuring scale to do this. Home the X-Axis through the pronterface. Mark the current X position of the extruder. Now press the button to move the X-Axis 100mm. Now measure the offset made by the extruder. If it is perfectly 10mm, you are good to go. Else take the Configuration.h file and take the 'DEFAULT_AXIS_STEPS_PER_UNIT' statement. in my case, it is given as :

#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1}

Here the values are for X,Y,Z and Extruder respectively. Now divide the value found in code by actual distance moved in mm and multiply it with 100. And the value you get is the one to replace the old value in code.

Formula

New val = ( old val / distance moved in mm ) * 100

There are different methods to do this, but this method is that I found working practically and results are good.

Now continue this for all the axes and extruder and you are good to print your first print.

Printing Your Dream

marlin4.jpg
marlin5.jpg

To print your dream, I suggest print a sample object so you can see how its done. I would prefer a calibration block which are easily available to print. A sample calibration block is attached. Open the .stl file in Cura. You can drag the object to desired space.

1. Set the Filament diameter to 1.75mm which is the dia I am using

2. In the advanced panel, set the nozzle size to 0.4mm which you are using

All the other settings can be left as it is. You can change if you know what they are.

3. Now save the g code from File=>Save G code

4. Now connect the printer and open pronterface

5. Open the g code file in pronterface

6. Before printing, home all the axes so that you can see if everything is fine.

7. Now press print and enjoy the first print

Dont worry if you print goes wrong. There are lot of things can go wrong. Before the first print comes correct there are many adjustments needed. Enjoy!!

Important Tips

Printing an Eiffel Tower

There are many important things needed to know before printing.

  • Make sure the print bed is fairly level so that the print gets good adhesion in all direction.
  • Make sure that while the Z Axis is in home position the gap between the bed and nozzle is in the thickness of standard paper.
  • Place standard adhesion material (PET tape, Kapton tape etc) on print surface for good adhesion.
  • Provide a universal stop switch that can cut the power supply to the printer if something goes wrong.
  • Keep the print surface always clean.
  • Have a good wiring so that the movements of extruder does not have a chance for contact.
  • Do not touch the printer or any parts of it while printing.
  • Do not give any chance for short circuit.
  • Please wear safety equipments while working with power tools, Hammer, Blade etc.
  • Providing a fan for the power supply and motor drivers is very good.
  • Please monitor for any faults or faults that may occur while the first print is going on
  • It is a good habit to frequently check for the printer while a print is going

Have a happy printing and prototyping.