Poor Man's Mini 3D Printer

3D Printer using upcycled CD drives, hard drives, and an ATX power supply.

Similar projects worth following
Update: Nov 2020 - I'm reviving the project and will rebuild it from scratch.

Reach me at:

This is a homemade 3D Printer that uses upcycled components found in an old computer like CD drives, hard drives, and an ATX power supply. Some were bought like the hotend, extruder motor, and the controller board.This project is for makers who want to have a 3D printer but don't have the money to buy one.

See it in action here:

3D Printer Details

  • 40x40x40mm Print Bed Size
  • RAMPS 1.4 Microcontroller board


  • Why make this project? - Because I didn't have the funds to buy a commercially made 3D printer. Plus, I learned that it can be done so I did.
  • Why use CD Rom Drives? - CD roms have a stepper motor inside of them. It's a smaller version than the usual that most 3D printers use but it can be programmed the same way.
  • Can I use any kind of CD Rom Drives? - Yes. Drives from PCs are more easily available but other drives like DVD players and old consoles can also work. Slimmer devices like laptops may have a different CD Rom drive and may not have stepper motors.
  • How long did it take to work on this? - Almost a month to an acceptable state. One more month for calibrations and improvements. I logged the development of the whole project here:
  • Is this your original idea? - No. There are numerous makers who have already made this and documented it. I learned from them and made this version.
  • Is there a how to for this project? - None at the moment. I plan to make an instructional video in the future. For now I've listed the resources that I used to make this project below.
  • Are you selling this unit? - No. It's mine and it's for my personal use. I may make another one and might consider selling that.
  • Are you planning on making this into a product to sell? - It's not exactly plug and play and may suit tinkerers more. I may make this into a kit to make it easy for people to get started.


Here are the references I used that helped me build this project:

  • Tinkernut's Project - Video and text version- The video that first taught me about the possibility of a cheap 3D printer. Uses Arduino UNO, 3D Printer Pen, and A3967 Stepper Motor Driver. Here's an updated version of this project with a different approach.
  • Electronic Grenade - Based his project off Tinkernut's. Goes through the steps in more detail.
  • EWaste 60$ 3D Printer - Different from the first two by using RAMPS 1.4. This is also the only one that teaches about current intensity regulation to avoid overheating stepper motors (Check Step 6). Everything else is also good albeit a bit dated with broken links to important files.
  • Curiosity 80$ EWaste Educational 3D Printer - Similar to the EWaste 60$ Printer, this one is more detailed and easier to follow. as it is also targeted towards younger aspiring makers.
  • Joe Clinton's Project Log Playlist - A video playlist of a 3D printer from start to finish based on the Curiosity 3D printer. Starts with testing the circuits first before mounting the drives. It's a nice glimpse of what pitfalls to expect and avoid throughout the project.
  • RAMPS 1.4 Assembly Guide - Simple guide on how to assemble your RAMPS 1.4 board. This is crucial as some purchased boards may require some assembly.

  • 3 × CD Drive For the 3 axes
  • 1 × HDD Bearing For the spool holder
  • 1 × ATX Power Supply To power all components
  • 1 × Nema 17 Stepper Motor For filament extrusion
  • 2 × 12 Volt Fans For cooling various parts

View all 6 components

  • 2020-11-11

    AccidentalRebel11/11/2020 at 09:25 0 comments

    As I mentioned before, the base of the printer this time around would be made out of wood.

    I usually prefer to take my time when I do woodworking but for this one I just wanted to get it done as quickly as possible. This meant foregoing with some best practices in favor of shortcuts. For example, not using joinery but only using screws instead. Thanks to this I was done in just a couple of hours.

    I cringe looking at the mistakes I've made with this because as was in such a hurry to finish. I might redo this whole thing if I find the time, but for now let's consider this as our prototype base.

    There are still some stuff to be done with this. For example, I still need to drill the holes for the mounts, make a holder for the spool, and also finishing.

    Here is a glimpse of how it would look like with some of the parts positioned at their intended places.

    Not bad, right? I bet it would look better once I put everything in place and cleaned up the messy wires.

    Up next: Mounting the drives

  • Preparations and plans for the case

    AccidentalRebel11/07/2020 at 12:02 0 comments

    I was able to test and confirm that my RAMPS board and CD-ROM stepper motors were still working. This is a good sign because it means that I don't need to buy any more. This also means that I could be able to re-build the project without any new parts aside from the case which I plan to build using wood.

    I've been doing a lot of woodworking over the past year. Funnily enough, I started woodworking because I wanted to make my own case for this project. I remember asking around on how much it would cost to lasercut a wood base just like what Curiousity had. The price was way over my budget at that time that I decided to just learn woodworking so I could do it myself. I've spent more getting the tools that I needed for woodworking, but at least I've learned a valuable skill. 

    So, yes, the structure would be made of wood. And it would look like this.

    Notice how I tried my best to place everything within the case. Last time the RAMPS board, spool, and power supply were separated and it was a pain to move the project around. This should fix that problem.

    I also designed it so that the parts are still exposed and visible. I like the whole DIY look and I try to incorporate this into all my projects. This also has the added benefit of using less wooden planks and making it easy to build.

    Is it really a good idea to use wood for this? I've asked myself this question too. Wood tends to warp and move and this might affect the position calibrations. This may seem like a problem but I'm not too worried because from my experience I do my calibrations before I do a print run, anyway. If it does become a big enough problem, then at least we know. :P

    Up next: Working on the actual case!

  • Reviving the Poor Man's Mini 3D Printer

    AccidentalRebel11/03/2020 at 07:03 0 comments

    I have switched to working on different projects immediately after showcasing this project at last year's Maker Faire Manila. This meant that the 3d printer gathered dust in storage for a long time. At the back of my mind, knew that I'll be coming back to this project one day. 1 year and 5 months later, that day has arrived.

    This started when I was cleaning up my storage and came across the RAMPS board that I used. It was covered in dust and there were bent pins from improper storage. I felt bad about it so I dusted it off along with the other parts.

    The metal casing of the CD-drives which served as the housing were already starting to rust, especially the nuts and bolts. I had to disassemble everything and kept only the important parts.

    Which leaves us with these:

    Looking at these parts made me remember all the hardships I had to go through before just to make it work. And for some odd reason, a part of me is somehow yearning to go through it again.

    Since my workload is lighter in the next 3 weeks, I think this is the perfect time to revive this project.

    I don't think it would be too painful this time around though. I now have the benefit of hindsight to help me avoid the pitfalls. And I am also now more experienced in electronics and in making stuff that I think I can make it look prettier.

    I also plan on making step-by-step videos on how to make this project to help other makers who want to make something similar.

    Expect more updates soon!

  • Showcase at Manila Mini Maker Faire 2019

    AccidentalRebel06/19/2019 at 13:10 2 comments

    I'll be showcasing the 3D printer at the Manila Mini Maker Faire 2019 to be held this weekend at Bonifacio Global City.

    I'll also be building another 3D printer onsite which I'll be streaming online via Twitch.

    If you are attending the event or joining me on the stream feel free to say hi!

  • 2019-05-06 to 2019-05-13

    AccidentalRebel05/13/2019 at 08:33 1 comment

    I'm at the point where I am satisfied with the state of my project. Sure, there are still a couple more improvements that can be made, but as long as it prints then I'm happy.

    I still had to deal with a couple of problems that seem to have appeared suddenly out of the blue.

    One problem I encountered was the motors suddenly started skipping. After weeks of using it, this only just happened now and it kept on happening. I looked into a lot of possible reasons but it ultimately pointed to the actual cause: the motors were turning too fast

    Now this boggled my mind at first. I never changed the speeds and it worked perfectly. My hunch is that my motors may have deteriorated slighlty due to constant use that it cannot handle fast speeds anymore. I am not a hundred percent sure with this but things slowly break over time and this is no exception.

    To fix this I have updated my firmware and set the maximum feedrates to an amount where there are no more skipping. I've also made sure that the current towards the motors are at a safe amount, around 200mA for axes with no heavy load (like the y axis), and 300-400mA for those that do (like the x and z axis).

    Read more »

  • 2019-05-03 to 2019-05-05

    AccidentalRebel05/04/2019 at 15:26 3 comments

    I managed to increase my machine's bed size from 35x35x35mm to 40x40x40mm. It may seem small but the 10mm increase in dimension is huge for me. Every millimeter helps!

    It all started when I learned that there are stepper motor sliders similar to the ones found on CD-Rom drives but are longer. The screw length of the one below is 90mm, while the ones I found for my printer are only 50mm long.

    This is when I realized that if the screw length of my sliders are supposed to be 50mm, why am I only able to print at 35mm?

    I investigated my setup and learned that CD drives were designed to have physical endstops to limit the movement of the slider. I'm actually unsure as to the reason for this, my guess is so that the teeth of the slider that comes into contact with the screw would rest at a proper position that would not allow it to misalign. If this were the case, I don't think it would be an issue for me as I don't seem to get any problems even if I move the sliders past their limits.

    So I cut off these endstops and the slider can now go way farther effectively making the range of movement up to 40mm.

    Read more »

  • 2019-04-30 to 2019-05-02

    AccidentalRebel05/01/2019 at 11:24 0 comments

    I've been printing at a layer height of 0.2mm and it has been giving me good and consistent results. I wanted to find out how high a resolution my machine can reach so I've done some tests to find out.

    The picture above shows three test prints. From left to right 0.2mm, 0.175mm and 0.15mm. You would need to look at the object closely to see the differences between the prints. 0.15mm is definitely finer which makes it perfect for small scale objects like the one I designed below:

    I tried lowering the layer height to 0.125 but the extruder was not extruding anymore. I reckon that the finer movement required to extrude such a small amount could not be achieved anymore by my cheap knockoff stepper motor. It may also be possible that the retraction distance and strength might be sucking the pressure too much that the extruder could not get the pressure back. I'd definitely be looking into this again in the future. Right now I'm actually quite happy with a 0.15mm layer height.

    Read more »

  • 2019-04-28 to 2019-04-29

    AccidentalRebel04/29/2019 at 15:36 0 comments


    I was afraid of getting tangles because my filament spool was getting loose, so I decided to fix it by untangling the filament and carefully wrapping around the spool again. Sadly, I wasn't careful enough that I ended up with the mess above. Took me a whole hour (and an aching back) to get the mess sorted out.

    I decided to 3D print myself a filament filter to filter out dust and body oils that I have introduced while wrapping the spool. Not sure if it would work but the idea is sound and I needed another thing to print.

    I also finally got around to changing the printbed as the old one, seen below, was already a bit worn out.

    The new one is cut from thick acrylic which is stronger and is more resistant to burns. It's also red and transparent which makes it stand out from the dull gray and metal motif that I had before. I found out early on that filament is harder to remove because of it's smooth surface so I bought a couple of glue sticks to put on the bed so they can be easier to remove.

    Read more »

  • 2019-04-25 to 2019-04-27

    AccidentalRebel04/27/2019 at 16:12 4 comments

    I have narrowed down the cause of the constant hotend clogging to a loose bowden tube coupling. Because of this the tube eventually gets tugged out of place leaving a gap inside the hotend throat, which then causes a clog.

    Thankfully, there's a fully printable replacement which has a better design and fits perfectly to my hotend.

    Thanks to this, I've never had a clog ever again. I do need to double check if it's tight from time to time. Also, I'm a bit worried if the heat from the heatsink would affect the coupling since I printed it with PLA. We"ll see if it gives.

    Another improvement that I made is I added springs to the screws that I use to level the bed. The spring is always pushing on the bed which makes leveling easier as I only need to adjust the top screws.

    With the setup before I had a top screw and a bottom screw, which I both need to adjust when leveling. It's now easier to do last minute micro adjustments thanks to this.
    Read more »

  • 2019-04-24

    AccidentalRebel04/25/2019 at 02:17 1 comment

    One problem that became glaringly obvious as soon as I printed a torture test object on my printer is the abundance of strings similar to the one found on my previously printed frog:

    I printed a pillar test and found out just how bad it was.

    Initially I thought strings are not a big deal as they can easily be cut off. But turns out they can be a huge headache if left unchecked.

    Read more »

View all 19 project logs

Enjoy this project?



Dylan wrote 09/08/2021 at 05:16 point

I already have a 3D printer, but am interested in building a low cost, custom portable 3D printer that can run on a 5V USB cable and fit in a small case, the case being capable of printing on my Ender 3 Pro (220x220x250mm). Any advice?

  Are you sure? yes | no

braulston wrote 11/14/2020 at 21:29 point

I am trying to build a similar 3D printer using the eWaste instruction guide. I saw your project and wanted to know if you could give some advice. Thanks

  Are you sure? yes | no

Ahron Wayne wrote 04/18/2020 at 03:20 point

I'll like anything that's made out of CD players. Good deal. 

  Are you sure? yes | no

Gerfel Philip Gonzales wrote 06/23/2019 at 14:51 point

Visited your booth at Manila Mini Maker Faire. Cool project!

  Are you sure? yes | no

AccidentalRebel wrote 06/23/2019 at 22:05 point

Thanks for dropping by! Hope I was able to inspire :)

  Are you sure? yes | no

Elliot Williams wrote 04/23/2019 at 07:15 point

Marvelous!  Your post-calibration frogs look soooo good.  

Great work, and thanks for sharing it.  Looking forward to further adventures.

  Are you sure? yes | no

AccidentalRebel wrote 04/23/2019 at 07:24 point

Hey, thank you! I honestly did not think I'd reach this level of quality from a homemade 3d printer. Yes, there will be more to come!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates