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.

Green Electronics Challenge

Runner Up in the
Green Electronics Challenge



  • Arduino Contest 2019

    Arduino Contest 2019
  • Gardening Contest

    Gardening Contest
  • Party Challenge

    Party Challenge

205 Discussions


1 year ago

pretty awesome. looks like a frankenstein printer but thats what this site is all about. make from what you have. some of these guys spend $1000 on making one of these when you probably made it with $40. good job

Dinesh crazy

2 years ago

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

6 replies
Dinesh crazyGelstronic

Reply 2 years ago

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


Reply 2 years ago

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

tuananhto132@gmail.com <3

Gabriel EmanuelC

2 years ago

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?.


2 years ago

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 ????


Dinesh crazy

2 years ago

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

1 reply
GelstronicDinesh crazy

Reply 2 years ago

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.


2 years ago

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?

1 reply

Reply 2 years ago

Hi asamad,

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


3 years ago

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.

3 replies

Reply 3 years ago

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


Reply 3 years ago

Can you make me more detailed schematic please...


3 years ago

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


3 years ago

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.