Introduction: Make a Super Cheap 3D Printer Using Recycled Parts

Picture of Make a Super Cheap 3D Printer Using Recycled Parts

Now-a-days a lot of people talk about 3D printing and the many things that it can produce.  Even the president talks about it during his state of union address.  While it is true that some of the technologies in 3D printing are new in high end models, most 3D printers can be built using existing technologies that have been around for decades.  For example, most 3D printers use stepper motors, although the microstep technology which allows finer resolution is relatively new(perhaps).  The microcontroller used in many 3D printers are based on the AVR family found in Arduino boards.  While the open source firmware such as Marlin was developed based on the GRBL for CNC machines.  The word "extruder" certainly is not new to those chemical engineering students. Therefore, one can learn a lot about 3D printing from old technologies found in recycled electronics.  Here I would like to share with you my effort in building a cheap and simple 3D printer.  The goal is not to build a super 3D printer to compete with the commercial models, but rather to learn how it works and have some fun with it.

Step 1: Build the X-axis Using a Printer Head Assembly and Stepper Motor

Picture of Build the X-axis Using a Printer Head Assembly and Stepper Motor
A  simple 3D  printer has three axis, X,Y,Z, each controlled by a stepper motor, plus the extruder controlled by an additional stepper motor.  Each dimension is made with linear actuators of various designs.  Here I made the x axis by using a recycled HP Inkjet printer head assembly, which consists of a motor, cog belt, the cartridge holder, and the metal arm.  Unfortunately, the modern motors found in inkjet printers are mostly 2-wire motors (with optical tapes for positioning) instead of the 4 wire steppers needed for 3D printers.  Therefore, I had to find a stepper motor with similar size.  The one I found in my junk box was probably from an old floppy disk.  There are two problems I had to solve with this stepper motor.  First, this stepper is a five wire unipolar stepper, which is different from the 4 wire bipolar stepper needed for the 3D printer.  However, I was lucky enough that the wiring is accessible on the stepper casing and I simply disconnected the common terminal which makes it a 6 wire stepper.  By ignoring the middle two terminals, I effectively converted it to a 4 wire bipolar stepper.  Note that the old disk drives probably used high voltages.  The resistance is about 160ohm for the wiring so I guess using 12V battery is ok and that's what I used.
The other problem was that the stepper had no cog wheel on it, so I had to find one from the HP printer that fits exactly and I was lucky in finding one.  See the following video to get an idea how it works.

Step 2: Test the X-axis Using Simple Arduino Thingy

Picture of Test the X-axis Using Simple Arduino Thingy

Once I made the hardware modifications, I wanted to test it by moving the printer head back and forth.  I choose to use a small chip Attiny2313 which happens to be around, and the L293D H-bridge which can handle 600mA and up to 36V.  It is conceptually simple to turn a 4 wire stepper.  You simply turn on each wire in sequence.  However, my first attempt didn't work out easily because I had the L293D placed backwards on the breadboard.  I am glad it didn't damage it with the abuse.  I used the Arduino software and USBtinyISP to program the Attiny2313 and now everything works fine as shown in the video.

The next steps are:

-Build the Y and Z axis
-Build an extruder
-Get a suitable microcontroller (I may initially test it with GRBL on Atmega328), then try the Mega board with Ramp1.4 and Marlin, etc.
-Calibrate the 3D printer
-Print something and have some fun.

Step 3: A Second Thought About the 2-wire Vs. Stepper Motors

When I first saw the 2 wire motor in the inkjet printer, I was confused for a moment because I was expecting to see a stepper.  I replaced the 2 wire motor with a stepper because that's what everyone is using for the 3D printers.  Well, it turns out that there are good reasons why a 2 wire motor is used in the inkjet printers.  For one thing, it uses optical encorder strips to position precisely and with very fine resolution.  By comparison, the stepper motor is basically an open loop system, meaning you tell it to make x number of turns and you trust that it will do that as a result and no feedback needed.  Yesterday I read a little more  about this issue and in fact there is discussion on Reprap about open vs. close loop issues for 3D printers.  What I suspect is that while steppers are popular for 3D printers, it is not the only solution, or the best solution for that matter.  However, since optical encorders is a little more complex than the stepper motors (whether true or not), let's just stick with the steppers for now.  Later I may revert back to the original 2 wire motor with the optical encorder once I have a handle on the motor controller and feedback.  So don't throw away the 2 wire motor and the optical strip yet.


LorenzoB (author)2017-01-11

Hi. Are there more steps coming soon. I would like to know the approximate cost of the completed finished product, and instructions on how to assemble and get it up and running. Thank you.

Lorenzo (

FlorianS (author)2015-09-12

Do you think it works with steppers from DVD drives?

Nice Instructable!

LorenzoB (author)FlorianS2017-01-11

Should do. Take a look at

for detailed explanation on using DVD/CD Drives.

nemfield (author)2016-04-24

Don't listen to the critics. Blaze your own trail!. You'll learn much more. This is a wonderful idea that reclaims old parts ! I'll look forward to reading the final MAKER project :-)

brightled (author)2016-02-29

good idea ,however please look at some of the post using an arduino to control a cnc and you will end up with a much better machine

LiamGlenister (author)2015-12-02

Could you please send pictures of the finished product and also send the exact parts needed out of the printer? Thanks

mayurnath5r (author)2015-08-04

I'm a kid of 12 yr old,

can i do it??

Go for it! if you have questions, ask them, and do some research, and get started! have fun!

If you have questions, I will do my best to try to answer them.


PS im 15

ruggb (author)2015-06-29

I also collected a lot of smooth rods from printers and scanners. THEN I found out what the problem is. The rods I was going to use in place of the 8mm rods in my new 3D printer were "5/16" rods. That is 0.002" smaller than 8mm. Since all the cheap sleeve bearings r for 8mm, I put the question to a bearing engineer. Does 0.002" make a difference? The answer was "YES". The preload on the bearing is messed up and the assy will not perform or last as long as u might be expecting. You can go with a design that uses roller bearings (not many around) but I decided to go with V rails and the C-BOT design of Carl Feniak on Openbuilds.

french-usual-reader (author)2015-03-20

I disassemble all kind of printers since 2005 n i know where find it. It's more inside old or professionnal that u can have it. Scanners, except for HP combined printer-scanner, still got stepper motor. That's true for Epson, Xerox (n it's rebranded material Dell ( i mean Dell printers r Xerox actually)), Lexmark n Canon.
Only inkjet printers, just printers, except for Canon n HP, got stepper motor. Once again, that's true for Epson, Xerox n Lexmark. Photocopiyng machines n laser printers r nice only for the mechanical n electronical parts n for wires, nothing more 'cause it use three-phased motor, like hard drive disks by the way.

trcky1 (author)2015-01-26

I like where it is heading...

ajaygupta1974 (author)2015-01-21

Hello Can you please provide the complete information to try the built

mo connor (author)2014-08-06

any more steps comming?

Ironsloth1993 (author)2014-03-01

Very nice!

About This Instructable




More by Practical Techonlogy:Yet Another RC Robot ProjectReview of the 3D Printer Velleman K8200Make a super cheap 3D printer using recycled parts
Add instructable to: