Introduction: Poor Man's 3D Printer

My goal was to build a cheap and inexpensive 3D Printer for less than 100 Dollar/Euro

What are the features of the Poor Man's 3D Printer ?

- Fused deposition modeling ABS/PLA

- Heat bed

- use of open source firmware, modified version of Tonokip

- free host software, Repetier-Host

- bowden-extruder

- max. build size 40mm x 40mm x 40mm

- resolution 0.08mm

Step 1: Parts

Parts i bought:


- Arduino Board Mega 2560 (on ebay from china): 10 Euro

- 2 pcs. Stackable Motor Driver Shield L293D 6 Euro

- Hotend MK7 MK8 noozle 0,4mm+thermistor+cartridge 20 Euro

- PTFE Tube 4 x 2mm & 2 pcs. 1/8" BSP 6 Euro

- Fan 30mm x 30mm 2 Euro

- MOSFETs,resistors,caps,LEDs,thermistor 5 Euro

Recyled PC/printer part:

- 4 pcs. DVD/Blu-ray drives, with stepper motors ! old cd drives can't be used because they work with dc-motors

- old PC power supply, 12V/5A and 5V/2A are required

- stepper motor nema17-like from old printer for extruder

- i use a modified gear (see pictures) from an old hp printer for the bowden-extruder, optional you could get an airtripper extruder for about 25 Euro

Things that every hobbyist has in his garage :-)

- many screws, nuts and washers M3,M4,M5

- lots of wires

- aluminium-sheet for the frame, you can also use wood

- some alu/metal profiles, see pictures

Step 2: Pictures From Building the Chassis

Step 3: Endstops

use endstops from dvd drive !

Step 4: Counterweights

I had to made counterweights for the z-axis because the x- dvd drive + Hotend are too heavy for the small steppers

The counterweight is simply connected through a cord and a pulley with the drive.

The weight of one counterweight = weight of (x drive + hotend) /2


Step 5: Extruder

The Extruder was build of a gear of an old hp printer deskjet 300. I remove the original stepper (too weak) and

replace it with a bigger one, i find two of them in an epson stylus color 600.

The shaft was shorten and milled grooves with a dremel, then a metal gearwheel was placed near the shaft.

The gearwheel has one groove too.

Step 6: Hotend

The Hotend is a MK7/MK8 i found on ebay.

i cut some aluminium plates for a better cooling and place a small fan beside

the bigger alu plate above separates the hotend from the BSP fitting via two small screws

Step 7: Heat Bed

the bed is heated by two parallel resistors 22R/7W/axial and reaches 110°C

Step 8: Schematic

I uploaded a hand drawn schematic, feel free to comment/ask questions.

In the picture you can see how to modify the second shield, cut the connector pins D12 and D7,

bridge D12 with D13 and D2 with D7, now the mega can talk with the shields separatly

Step 9: Firmware/Software

I use Tonokip in a modified version and added Adafruit Motor shield library also modified to use 2 shields.

The Software i use is Repetier Host

See Settings.zip for Repetier-Host and slic3r settings

Step 10: Results

here you can see the first results before/after calibration and some final changes in the firmware, the cube was printed with 1.75mm ABS filament, the edge length in the gcode is 10mm the final result 10.06mm !!!

Step 11: First Update

I change the driver board to ramps 1.4 with A4988 Stepper driver because they have become very cheap on ebay.

( board + 4 stepper drivers about 20$ incl. shipping)

I have supplied the x/y/z steppers with 8 Volt, 12 Volt is to much for those tiny things, with only 5 Volt the drivers won't work. i also limit the current to 300mA (with the poti at drivers)

Here are my results with using Marlin as Firmware.

I uploaded my configuration file from Marlin and also the slicr settings.

Step 12: Photos From Printing

Step 13: Update 2

Because of the great demand, I have uploaded a drawing from the ground frame.

Comments

author
Dinesh crazy (author)2016-08-08

I will connect dvd stepper motor and i connect 3d printer software and start run motor did not run but vibrate at 11v
5v stepper does not run

author
Gelstronic (author)Dinesh crazy2016-08-08

12V is too much, i use 8V

author
Dinesh crazy (author)Gelstronic2016-08-09

But also did not run i will get vibrate pluse .but l use l298
What is pin mode for motor

author
EricK13 (author)Dinesh crazy2017-01-13

wired wrong...

author
Nova13 (author)EricK132017-02-22

can you send me a right wire map pls :)))))

tuananhto132@gmail.com <3

author

8v 1a

author

Kindly send circuit diagram

author
Gabriel EmanuelC (author)2016-12-31

Hi buddy , I gt a problem with my 3 CD ROM steppers because I don`t have any data of those.I think to drive them by A4988 Pololu drivers and is necessay to know the correct current value to be able to calibrate the current by these drivers.How do I find out this current value?.

author
ggraikousis (author)2016-12-20

The current version of marlin does not recognize your
configuration.h file. can you upload your version of marlin or the conf
for current version ????

please!!!!!!!!!!!!!!!!

author
Dinesh crazy (author)2016-07-25

Hi sir i want pin assignment coding for arduino due model pls you want help me thos was finally year project in my college...

author
Gelstronic (author)Dinesh crazy2016-07-25

The arduino due uses a totally other processor, (ARM 32bit instead of an AtMega 8 bit). I don't now how/if this will working.

author
asamad90 (author)2016-06-26

Hi Gelstronic,

Awesome work Gelstronic,would you please let me know the connections diagram for the Arduino Uno and L298P Motor R3 sheild?,and if possible, Is there any change in the programming or library sides?

author
Gelstronic (author)asamad902016-06-27

Hi asamad,

look at the pdf in "Step 8: Schematic".
You'll find all the wirings/connection there.

author
weese75 (author)2016-05-16

this is a great write up, my only question is on the heat bed and where to find the resistors and how to wire them in parallel. if you could clear that up that would be awesome.

author
Gelstronic (author)weese752016-05-17

like i discribe in step 7:

the bed is heated by two parallel resistors 22R/7W/axial and reaches 110°C

Resistors have: 22 Ohm / 7 Watt

look here

author
JuneC2 (author)2015-05-19

let me just ask one thing, can i use "RepRap J-head MKIV/MKV hotend" instead of that mk7/mk8 hotend?? as i live far away from germany, i need another one.

author
Gelstronic (author)JuneC22015-05-20

of course, you can use any hotend

author
JeffrylleP (author)Gelstronic2016-03-19

Can you make me more detailed schematic please...

author
JuneC2 (author)Gelstronic2015-06-08

can you explain the difference, please? i'm very new to these things. now i'm making the extruder, and it's not so easy..

author
JuneC2 (author)JuneC22015-05-19

also what's the difference between mkv and mk7?

author
Gelstronic (author)JuneC22015-05-20

mkv version 5 ("V")
mk7 version 7

author
JeffrylleP (author)2016-03-18

Hey gelstronic,can you give me more detailed schematic...because im so confused about the schematic that you posted..

author
AKIREEV (author)2015-12-27

Guys, how did you solve the problem of non-matching motors?
All that I can to find differ from each other.

Their screws have different threading, so their travel distance doesn't match and since Z axis uses two motors this is a problem.

Please advice.

author
LazyH (author)AKIREEV2016-01-27

You'll just have to adjust steps per inch or steps per cm in the software, any good CNC software should allow this. I use grbl with mine and you can program it directly to the board through a serial terminal like in the arduino ide.

author
AKIREEV (author)LazyH2016-01-31

Ramps 1.4 (that's what I've got and what I intend to use) has Z-steppers connected in parallel (see here - http://reprap.org/mediawiki/images/f/f6/RAMPS1.4sc... - Z-MOT and Z-MOT1), which means there's no way they can be controlled separately.

You can't change steps per mm on one without changing it on the other.

Anyway, I went with a different design already, I'm making a counterweight for my single Z motor at the moment.

author
JaunS (author)2015-06-20

Hello, I have built all the hardware: physical structure, and have completed in entering the GRBLtoArduino and all the software. I have used the Universal GCodeSender and has successfully interpreted the software for is says " Grbl 0.8c ['$' for help] ". I've soldered the stepper motors (for I'm using steppers from dvd roms) to some salvages wire from a printer I took apart. I installed some female sockets in order to connect to the male pins on the CNC Shield ver. 2.01 . The orange light from the arduino flashes and in the Universal GCodeSender ver. 0.8 completes the operation b/c is says " ok " . I have no idea whats wrong. I know the steppers work b/c ive used a 9v battery to pulse the motors and they do indeed pulse. Ive used a multimeter to check its resistance and it works. I've checked the current on the motors once connected to the cnc shield and there's current. I have tested if the drivers are in fact getting power and they are. I've attempted the code " x=100 " , " $7=225 " but no motor movement. Can ANYONE help me ?

author
LazyH (author)JaunS2016-01-27

is there any pulsing or vibrating from the motors? does a multimeter to the wires going to the motor (in ac mode) register any voltage? a picture might help a bit too.

author
ggraikousis (author)2015-07-09

you write : I have supplied the x/y/z steppers with 8 Volt, 12 Volt is to much for those tiny things, with only 5 Volt the drivers won't work. i also limit the current to 300mA (with the poti at drivers)

How you do that :i also limit the current to 300mA (with the poti at drivers)

please be more specific.

Can you upload photos from rapm1.4 and how to connect voltage ???

author
AKIREEV (author)ggraikousis2015-12-27

Perhaps it's too late, but maybe I can still help you: you need to find instructions on how to adjust / limit motor current for the drivers you have (e.g. drv8825 or a4988).

I have DRV8825 boards, and the way to adjust current with those is by turning the potentiometer found at each board with a screwdriver, while monitoring Vref (reference voltage). You connect your voltmeter to the proper pins on your board (the pins should be indicated in the instructions I've mentioned) and check the voltage while adjusting the potentiometer.

There's a formula for each type of board that tells you how Vref translates into current limit. For my boards it's I = Vref * 2, so to achieve 300 milliamps I would need to set Vref to 150 millivolts.

author
Brijesh Sondarva (author)2015-04-04

I checked with as given photo but repitier host cant drive any of my stepper motor.

i connect all things as in given photo, only extruder and hotbed not connected and end stop too.

schame poor 3D.jpg
author
TomM9 (author)Brijesh Sondarva2015-12-19

I have the exact same problem! What did you do to get it work?

author
TomM9 (author)TomM92015-12-23

I fixed it by changing the Baud rate from 230400 to 250000 in the code and Repetier-Host. Bkubicek tested this and says it works better on 250000. Arduino forum

author
Yonatan24 (author)2015-12-12

Hi, I've added your project to the "Top DIY 3D Printers for Your Budget" Collection

This is the link If you are interested:

https://www.instructables.com/id/Top-DIY-3D-Printer...

author
AKIREEV (author)2015-12-03

I wonder if it is possible to mount Y axis on top of X axis (or vice versa) and hotbed on top of that (pun unintentional). That would take some weight off Z axis. Maybe it would be possible to use just one CD/DVD drive for Z instead of two? (keeping the counterweight)

author
premenko21 (author)2015-11-29

could you use an arduino uno instead of a mega?

author
andytangtsk (author)2015-08-12

Nice build, but that robot doesnt look very detailed, can you upload a photo of a print that was actually printed in 80 microns layer height?

author
ggraikousis (author)2015-07-09

You said:

I have supplied the x/y/z steppers with 8 Volt, 12 Volt is to much for those tiny things, with only 5 Volt the drivers won't work. i also limit the current to 300mA (with the poti at drivers)

Please by more specific.. How do this:(with the poti at drivers)

author
Hvents4 (author)2015-07-05

Wow, this is impressive! I really appreciate how you did step by step and were so helpful.

I was just wondering where this printer stands compared to a commercial grade 3D printer, like this one http://www.monomachines.com/shop/office-supplies/3... ?

I am curious as to what the specific functions are and the drawbacks of creating my own printer compared to buying one. Thanks for a great instructable!

author
Kikus31 made it! (author)2015-06-27

Hi, Great instructable, i trying to make one like you. It's not finish...

Chers amis francophone, si vous voulez aussi participer à la conception d'une micro imprimante, venez me rejoindre sur : http://www.open-mind.cc/

IMAG1539.jpg
author
hcsaki (author)2015-01-06

Why is there a need for 4 dvd/blu-ray drives with stepper motors. Isn't 3 motors enough for the 3 axes?

author
Xixfas (author)hcsaki2015-06-23

You need 2 for the z axis.

author
VictorH4 (author)2015-03-06

what is the model of nema17?

author
Xixfas (author)VictorH42015-06-23

nema 17 is the model

author
dintid (author)2015-03-20

Anyway to tell if a drive's motor is stepper motor or DC motor? I just salvaged some old CD drives and some old DVD drives.. and some of the motors are identical across the devices!

author
draconis537 (author)dintid2015-05-29

Hopefully you've found the answer to your question by now but just in case: the easiest way to tell the difference is that stepper motors have 4 wire leads and tend to be more boxy looking, while DC have 2 and are more cylindrical. Hope that helped :)

author
dintid (author)draconis5372015-05-29

Thanks. Yes I did. Also made a similar Instructable based on Ramps where I go Down to the very basics for novices.
https://www.instructables.com/id/Complete-newbie-step-by-step-3D-printer-with-all-p/

author
draconis537 (author)dintid2015-05-29

I'll be sure to check it out :)

author
dintid (author)draconis5372015-05-29

The various DVD/CD DC motors looked rather similar to the Stepper motor versions. Some DCs were boxy though, but not all.

author
Paulo13210 (author)2015-05-22

Hello,

how did you calibrate the printer? i've got troubles with X ans Y motor, RepRap_printDoctor said that it could be L293 High temp so I cool it with fans then it could be current calibration of the pololu but i've got L293D. Is there a way to put a resistor somewhere to reduce current?

CHeers

author
profort (author)2015-05-04

please tell me more I would like to build one but have very little financial resources.

About This Instructable

360,606views

2,304favorites

License:

More by Gelstronic:PropHelix - 3D POV DisplayPOV Globe 24bit True Color and Simple HWKey Holder - Guitar Amp like
Add instructable to: