Introduction: Curiosity 80$ EWaste Educational 3D Printer

UPDATE: Our first crowd funding campaign is live on!
The aim of our campaign is to donate 3D printer kits to needy schools, institutions and other groups around the world who then arrange workshops for children 8-12 years old who otherwise could not afford a 3D printer!

Please help us to achieve this worthy and ambitious goal! Just 99USD is enough to spark the curiosity of a child and give him or her the chance of becoming tomorrows Innovator! Other Perks start as low as 5USD!

You can also help by just spreading this link to your friends, family, peers, colleagues on your social networks, Facebook, Twitter, Google+ etc. Thank you so much!

Please join our Facebook group in order to enable more and more people into the world of 3D prototyping: Curiosity Facebook Group

Introduction & Vision

Co-developed with the Poly University of Hong Kong, the Curiosity is an easy-to-assemble educational 3D printer which offers a super low-cost platform for educational purposes. 3D printing closes the gap between an idea or inspiration and the first prototype and enables people of all ages and backgrounds to make the leap to become an inventor!

However, since most 3D printers still cost hundreds or even thousands of dollars, the price has remained a huge barrier for most schools, parents, educators and kids. The Curiosity tries to close this gap! By up-cycling eWaste such as old DVD drives and PC Power Supplies, the Curiosity not only costs less than USD150 (we hope to reduce this to around 100USD once we can bring this project up to scale) but also educates children and adults about eWaste, environmental issues, recycling and up-cycling while learning everything about 3D printing!

Similar to what “one laptop per child” has done, I would like to open-source this technology and encourage educators around the world to adopt this platform and use it in their classrooms, i.e. “one 3D Printer per child”.

Step 1: General

Please do the following when building this printer:

  • You can either buy the parts yourself (there is a BOM at the end of these instructions) or use the kit sold through our crowd-funding campaign on!

    Note: With each purchase of a Curiosity 3D Kit, you are supporting the education of a child that otherwise cannot afford a 3D Printer!

  • Read through each chapter of these instructions to gain an idea of what is involved and how long it might take, before starting on the work described.

  • Ensure you have the necessary skills to carry out the work, or enlist the help of someone who does.
  • Work on a firm table or bench in a clean dry well-lit area.
  • Observe tool safety and anti-static precautions (see below).
  • Ask for help if you run into any problems - our contact details are on the website and we will always do our best to resolve any problems encountered.

Step 2: Tools Required


  • Hex key; ball ended, long arm, 2.5mm
  • Hex key; ball ended, 2.0mm
  • Hex key: 1.5mm and 3.0mm

    Important: it is crucial to buy the simple hex keys with a long arm and ball end! Fancy hex keys with handles or short keys without ball ends are NOT suitable!

  • Hot-glue Gun
  • Soldering Iron
  • Utility knife
  • Needle-nose pliers, small
  • Small screwdrivers flat-bladed and Philips or Pozidriv, e.g 3.0 x 75mm and PH1 x 75mm
  • Accurate ruler
  • Digital calipers
  • 8mm and 10mm spanner
  • 4mm Hand Drill or Dremel
  • Tweezers
  • Pen
  • UHU glue stick
  • Marking Tape
  • Voltmeter

Step 3: Safety Precautions

This kit includes a sharp utility knife for preparing printed parts. You should observe all necessary precautions when using this, such as those at

Printer assembly may also involve the use of other potentially dangerous tools. You should be competent to use such tools and observe reasonable precautions in doing so.

Electrostatic Discharge Precautions

You should be aware of the risk of electrostatic damage to the electronic components of this kit, specifically the RAMPS board, Arduino Mega and LCD controller. These components are fully tested with the other electrical items before packing the kit, and wrapped in protective anti-static packaging. Damage by electrostatic discharges during unpacking, assembly and normal use is not covered under our warranty. You should therefore observe reasonable anti-static precautions which are widely published on the internet. For a short and simple overview see Antistatic Precautions for Electronic Components on eBay. A more comprehensive document by Mini-Circuits can be found here.

Step 4: Preparation of DVD Drives

Disassemble 2 x DVD Drives

Tools needed:

  • - Various Philips screwdrivers
  • - Scissors
  • - Utility Knife

As every DVD Drive is different, we cannot give precise directions as how this is achieved.

In general these are the steps:

  1. Remove top panel from DVD casing
  2. Remove electronic board, cut flat ribbon cables
  3. Remove DVD slide and front panel
  4. Separate the metal frame (which holds stepper motor, DVD motor, laser and electronic board) from the casing
  5. Remove DVD rotational motor and electronic board from laser head. Cut away flat ribbon cables etc.

You should end up with the metal frame that holds the stepper motor (in the picture on top) and the slider assembly (black part). The slider assembly should be as flat as possible to allow a good bond with the floppy drive later. If any plastic pieces extrude, cut or file them down.

Keep all rubber dampeners!

Repeat with second DVD drive.

Step 5: Preparation of Floppy Drive

Tools needed:

  • - Various Philips screwdrivers
  • - Scissors
  • - Utility Knife
  • - Band saw or Dremel

As every Floppy Drive is different, we cannot give precise directions as how this is achieved.

In general these are the steps:

  1. Remove top panel from Floppy casing
  2. Remove electronic board, cut flat ribbon cables
  3. Remove front panel and the metal slide
  4. Separate the metal frame (which holds stepper motor and read/write head) from the rest of casing
  5. Cut as much metal away as you can so that you end up with only stepper motor and read/write head

You should end up with a piece of the metal frame that holds the stepper motor and the read/write head assembly (black part). Make sure you don’t cut too much away! The read/write head assembly still needs to be fully functional. On the other hand, the piece should be as light as possible!

Solder Cables to the three Motors

Tools needed:

  • Solder Iron
  • Voltmeter

Note: To make this step more clear, I have removed the stepper motor from its frame. You do NOT have to remove it!

Make sure all your motors have 4 connectors on them (as in the picture). If there are only two connectors, it is a DC motor and cannot be used.

Using a voltmeter, find the two pairs of connectors A+/A- and B+/B-. Each pair has a resistance of about 15 Ohm, if you have infinite resistance, it’s not a pair. It doesn’t matter which pair is A and which is B, as long as you don’t mix the two pairs. Now solder the jumper cables to the two pairs of connectors as follows:

Pin 1 -> A+ or B+
Pin 2 -> A- or B-
Pin 3 -> B+ or A+
Pin 4 -> B- or A-

Step 6: Step 1 – Frame Pre-assembly


Parts needed:

  • Laser-cut frame
  • 8 M3x8 screws
  • 8 nuts

Tools needed:

  • 2.5mm Hex Key

Before starting with the assembly of the Curiosity, it is a good idea to lay out the frame on a flat table and to remove all unnecessary parts. This will give you a good understanding of which panel goes where. The panels are laser-cut in such a way that they cannot be assembled wrongly as long as you keep the logo facing forwards.

Then you can temporarily assemble the frame but do not mount the screws yet as we still need to drill the holes for the drives.

Step 7: Step 2 – Add Extruder to Frame

Parts needed:

  • Assembled Frame
  • Nema 17 Motor
  • Metal Extruder kit

Tools needed:

  • 2.5mm Hex Key
  • Philips Screwdriver

Add the spur gear to the motor axis and connect it by tightening the grub screw. Make sure the grub screw is pushing against the flat part of the motor axis! Tighten well.

Then assemble the red lever (see picture):

  • Insert the ball bearing wheel and secure it with the M3x10 screw. Make sure it turns freely
  • Insert two washers and a M3x20 screw into the hole on the bottom right
  • Insert M4x20 screw horizontally in the hole on the top

Connect the Nema 17 Motor to the back panel of the frame. Note the direction! Secure it with three screws (see picture):

  • Top left and bottom left: M3x25
  • Top right: M3x10 (with round head)

Now add the assembled red lever to the bottom right hole. Make sure the screw is tight but the lever should still move freely.

Now add the M5x8 screw to the spring and push it between the black metal part and the red lever.

Hold the spring in place by inserting the M4x15 screw through the black metal part.

Note: The extruder should be facing outwards, while the motor is installed from the inside of the frame.

Step 8: Step 3 – Assemble X and Z-Drive Motors

Parts needed:

  • X-Drive Motor x 1 (DVD Drive)
  • Z-Drive Motor x 1 (Floppy Drive)

Tools needed:

  • Hot-glue Gun

Align X and Z Motors

The Z-Motor (Floppy Drive) needs to be fixed perpendicularly on top of the X-Motor (DVD-Motor). The connection between the two motors will be made with hot glue. Make sure that the motor of the floppy drive can pass below the motor of the DVD drive! Both motors should move along the entire axis without obstruction.

Glue the Z-Motor to the X-Motor

Turn both motors over and use hot glue to glue the Z-Motor (vertical) onto the slider of the X-Motor (horizontal). Make sure that the glue does not connect with any movable parts or obstructs them.

Check the pictures for views from below, top, right and left side.

Note: Floppy motor must pass the DVD motor without obstruction!

Step 9: Step 4 – Assemble Printbed and Y-Drive Motor

Parts needed:

  • Y-Drive Motor x 1 (DVD Drive)
  • Printbed

Tools needed:

  • Hot-glue Gun
  • Marking tape
  • UHU Glue stick

Align Printbed and Y Motor

Place the printbed in the center of the second DVD drive. Make sure the printbed does not touch the motor! Also, the printbed should not extrude beyond the back nor front of the drive when head is in back or front most position.

When applying the hotglue, make sure that it does not end up on any of the moving parts! The slider should move the entire length.

Step 10: Step 5 – Assemble Hotend and Z-Drive Motor

Parts needed:

  • DVD/Floppy Assembly from Step 3
  • Hotend Holder
  • Hotend Assembly

Tools needed:

  • 2 small Screws (from disassembly of DVD Drives)
  • 2 M3x8 screws
  • Philips Screwdriver

Mount hotend holder to Z-Axis (Floppy Drive)

Place the hotend holder on the floppy read/write head and secure it with two small screws that can be recycled from the DVD disassembly.

Now insert the hotend assembly into the grooves of the hotend holder, then secure it with the top latch and two M3x8 screws.

Step 11: Step 6 – Prepare to Mount DVD Drives to Frame

Tools needed:

  • Pen
  • 4mm Hand Drill

Mark Position of X/Z Drive

Position the X/Z Drive (DVD and Floppy Drive from Step 3) in the middle of the wooden piece with the handle.

Mark the holes with a pen or screwdriver.

Mark Position of Y Drive

Position the Y Drive (DVD and printbed Step 4) in the middle of the frame base.

Mark the holes with a pen or screwdriver.

Drill holes for X/Z Drive

Now use a 4mm hand drill, Dremel or equivalent, to drill the holes at the marked locations.

Drill holes for Y Drive

Repeat for the base.

Step 12: Step 7a – Mount X/Z Drives to Frame

Parts needed:

  • DVD/Floppy Drives from Step 3
  • Top Frame with Handle
  • 4 M4x20 screws
  • 12 M4 nuts
  • 8 M4 washers

Tools needed:

  • 3mm Hex Key
  • Needle-Nose Pliers

Insert 4 M4x20 screws from the back through the top frame and secure them with 4 M4 nuts. Then add another M4 nut to each of the screws. Add a washer if necessary.

Then add the X/Z Drive assembly. All four corners should sit on the second nut or a washer. Then secure the drive with a third nut. Again, use a washer where necessary.

Step 13: Step 7b – Mount Y Drive to Base

Parts needed:

  • DVD/Hotbed Assembly from Step 4
  • Frame Base
  • 4 M4x40 screws
  • 12 M4 nuts
  • 4 M4 washers
  • 4 Rubber Bumpers from DVD disassembly

Tools needed:

  • 3mm Hex Key
  • Needle-Nose Pliers

Insert 4 M4x40 screws from the back through the frame base and secure them with 4 M4 nuts. Then add another M4 nut to each of the screws.

Add a rubber bumper to each of the screws.

Then add the Y Drive assembly. All four corners should sit on the rubber bumper. Then secure the top of the drive with a washer and third nut.

Step 14: Step 8 – Mount Electronics to Frame

Attach Arduino to Frame

Parts needed:

  • Arduino Board (blue)
  • Back Frame
  • 2 M3x8 screws
  • 2 M3 nuts

Tools needed:

  • 2.5mm Hex Key
  • Needle-Nose Pliers

Align the Arduino with the 6 holes on the back frame. Then insert two M3x8 screws. You only need two screws to attach the Arduino securely.

Fix them with two nuts.

Attach Ramps and Pololu Motor Shields to Arduino

Parts needed:

  • Back Frame with Arduino Board installed
  • Ramps Board (red)
  • Back Frame
  • 2 M3x8 screws
  • 2 M3 nuts

First check, whether all 5x3=15 jumpers are pre-installed on the Ramps.

Then install the 4 Pololu Motor Shields on top of the jumpers marked with “X”, “Y”, “Z” and “E0”.

Note1: Make sure the small silver potentiometers face away from the green power plug!

Note 2: “E1” remains empty!

Stick the heat sinks on top of the motor shields IC’s.

This is how the Ramps looks like after installing the Pololu Motor Shields and the Heat Sinks (see picture).

Now add the entire Ramps assembly to the Arduino Board. Make sure all the pins are aligned and connect properly with the Arduino sockets!

Step 15: Step 9 – Connect All Wires to Ramps Board

Start with the Extruder: Connect it to the Pin marked with “E0”. Note that the green cable should face towards the green power plug!

Continue to connect the X, Y, and Z motors.

Note1: There are two connectors for the Z motor. You can use either one.

Note2: The polarization of the cables does not matter at this time. Later we will find out the direction of the movements and need to turn the plugs if necessary.

Now connect the two white cables from the thermistor (heat sensor) to T0. Polarization does not matter.

Then connect the two fat red cables from hotend to the D10 clamps. Make sure the clamps connect properly with the cable and not the insulation!

Next connect the red and black cables from the fan with the D9 clamps. Note the polarization! Black cable connects with (-) and red cable connect with (+).

Next connect the power supply. Note the polarization! The green power plug on the Ramps can be removed for easier connection. If you use an old PSU from a PC, connect the yellow cable to (+) and black cable to (-) connector on the Ramps. If you use another power supply (+) is usually red and (-) is black.

Note: If you use an old PC PSU, you need to short the green and black connectors to make it work! You can use a jumper cable as shown in the picture or you can use a simple paper clip to achieve the same result.

Connect the green plug with the Ramps board. Check again the correct polarization.

Now clean up all wires. Use zip ties where necessary. If not already done, you can start to assemble the left side of the frame, but leave the right side open as we still might need to access the Ramps board.

The frame is held together with the help of 8 M3x8 screws and nuts. Insert the nut into the gap and tighten the screw accordingly. Do not overtighten!

Connect PTFE tube to Extruder

Now add the brass PTFE tube screw to the extruder. Cut the white PTFE tube to a suitable size and insert it into the brass nut.

Connect USB cable to the Arduino Board.

Congratulations, this concludes the assembly of your Curiosity 3D Printer!

Please do NOT plug in your USB yet as we need to install the drivers first!

Step 16: Step 10 - Commissioning, Calibration and Testing

Overview - CAD/CAM Toolchain and Software

The installation of all the software will be covered in detail later on in this chapter. This section provides a general introduction.

The sequence of processes involved in producing a physical object by Computer Aided Design (CAD) and Manufacturing (CAM) is known as a toolchain. The picture below from the RepRap wiki illustrates this sequence. Versions of all the computer programs needed for the toolchain are available for download as Free and Open-Source Software, in keeping with the philosophy of the RepRap Project.

CAD design and production of 3D .stl models is well beyond the scope of these instructions, but a vast range of prepared designs for printable objects is available on sites such as Thingiverse.

Turning a design into printable Gcodes using a utility such as Cura or Slic3r is also outside our scope, but is well documented on the respective websites, and we provide setup files to suit the Curiosity. Optional but certainly helpful for calibration is the communication program Printrun/Pronterface which you will need to install to start commissioning and testing your Curiosity. Mac OS X and Linux versions are also available for download.

A pre-configured Version of the controller firmware Marlin is already pre-loaded on your Arduino Mega. You do not need to upload it again.

Software supplied

The programs and configs that are supplied or need to be installed are:

Download: Printer Control: Printrun/Pronterface: Printrun/Pronterface

Slicer: Cura:

Supplied: Cura config files

Marlin: Special pre-configured version of Marlin already pre-loaded on your Arduino

(Unconfigured version can be found here:

Please install Cura first, BEFORE you connect your printer to your computer!

Cura will also install the Arduino drivers. After they have been installed, you can connect USB to the printer and your computer.

Windows Users

After Cura (and Arduino Drivers) have been installed successfully, Windows should find the Mega as new hardware and try to install it. Otherwise, please follow the instructions as described at

Windows should tell you the COM port number it has assigned to the Arduino Mega during driver installation, or you can get it from Device Manager. Make a note of it as you will need it in the next stage.

Note for Windows 8

By default, Windows 8 will reject third-party drivers like "arduino.inf" because they are not digitally signed. You can turn this behaviour off by following the instructions on the Arduino forums.

Mac OS X Users

Note: For Mac users, it is essential that your MacOS is updated to the latest version. If you have not yet updated your OS please do it before trying to install the Arduino drivers!

After updating your OS, the Mega should be automatically recognized and installed. It may be recognized as a USB Modem by your Mac but this is not a problem.

Checking connectivity

Windows Users

Download latest version of Printrun ( at the time of writing) into a folder of your choice, then run the program pronterface.exe. It opens immediately - there is no installation process required. You may like to make a desktop shortcut as you will be opening it frequently during calibration.

Check that the COM port (COM 8 in the above example) and speed (250000 Baud) are correctly set and connect to the printer. You should get a screen display similar to that below (SD init fail is a correct error message as you have not connected a SD card).

Mac OS X Users

Install Pronterface

Follow the instructions here: The link there will take you to where you can download the latest version ( at the time of writing). Once it is downloaded and extracted you may want to move it to your “applications” folder. The file name will start with “printrun”.

Open printrun, check that the port and speed (250000 Baud) are correctly set, and click connect. You should get a display similar to this (SD init fail is a correct error message as you have not connected a SD card):

Now you can follow the Calibration Tests instructions below.

Step 17: Step 11 - Run Calibration Tests

Throughout the following sections there will be reference to commands, called G-codes, which are the instructions the printer follows. All manual commands, as well as files to print, consist of G-codes. Manual commands are entered using the text entry box and the Send button at the bottom right-hand corner of the Pronterface screen. Manual commands can also be sent by clicking on the buttons within Pronterface. Some G-codes cause the printer to undertake an action, others report back in the text area above the box on printer status.

If you need to look up a G-code (most of which, confusingly, start with M not G), there is a complete list on the RepRap G-code wiki. They must be entered in UPPER CASE. Note that not all G-codes are supported by all varieties of RepRap firmware, including Marlin which is running on the Curiosity RAMPS board by default.

Some of the more commonly used G-Codes (do NOT try them yet):

  • G28 Home all axis
  • M106 S255 Fan On
  • M106 S0 Fan Off
  • G1 X0 Y0 Z10 Move head to the front left corner and 10mm above the printbed
  • G1 E50 F100 Extrude 50mm of Filament at 100mm/s speed
  • M302 Override “Extruder Safe”

Connect power supply to printer and check motor direction

Before we continue, we need to test the direction of the three motors. If they are running in the wrong direction, we need to flip the respective plug on the Ramps by 180 degrees.

Make sure the printbed is installed in such a way that it cannot obstruct the movement of the hotend! Power on the printer, then send the command G28 or click on the Home All button:

All three motors should now move towards their home position and make some noise. This is normal during the homing procedure.

Check Direction of X Axis

Now click on the outer ring of +X. The X motor (hotend) should move to the right. If it moves left or if the motor is already in the rightmost position, power off the printer, disconnect in Pronterface, unplug the X motor cable from the RAMPS board and plug it in the other way round to reverse the direction of motor rotation.

Check Direction of Y Axis

Now click on the outer ring of +Y. The Y motor (printbed) should move to the front (the hotend therefore moves to the back of the printbed). If it moves back or if the motor is already in the frontmost position, power off the printer, disconnect in Pronterface, unplug the Y motor cable from the RAMPS board and plug it in the other way round to reverse the direction of motor rotation.

Check Direction of Z Axis

Now click on “10” of +Z. The Z motor (hotend) should move up 10mm. If it moves down or if the motor is already in the uppermost position, power off the printer, disconnect in Pronterface, unplug the Z motor cable from the RAMPS board and plug it in the other way round to reverse the direction of motor rotation.


If nothing happens, double-check the power supply connection to the RAMPS board (green plug), there should be 12V present on the plug. Also check the polarisation.

Check Distance between Hotend Nozzle and Printbed

Now we need to adjust the height of the printbed. Move the Z Axis to the lowermost position and move X/Y to the front left corner. Adjust the front/left nut of printbed in such a way, that the printbed is 0.1mm below the nozzle of the hotend (the thickness of a common piece of paper). Repeat this step with the other 3 corners of the hotbed. Then re-check until all four corners are adjusted equally. This is a very crucial step and it is important that this is done properly. If the gap is less than 0.1mm, the extruder will not be able to push any filament through the hotend. If the gap is more than 0.1mm, the filament will not be able to stick to the hotbed.

Check Fan Rotation

With the power on, enter command M106 S255 and the hot-end cooling fan should start to rotate counter-clockwise and so be blowing towards the hot-end.


If the fan is not turning on, reverse the orientation of the plug on the RAMPS board If the fan is blowing away from the hot-end then unscrew the fan and reverse it

Test Hot End

Make sure the fan is on and blows towards the hotend whenever the Hotend is heated up!

Then select Heat 185 (PLA), click Set and check the Watch box. Confirm the graph line rises to 185C and steadies there.

To achieve a good adhesion of PLA filament of the printbed, use UHU glue stick and apply a thin layer of glue on the marking tape before each print. Replace the marking tape as needed.

Check the extruder

Do not load filament yet! Send M302 to override cold extrusion prevention in Marlin. Set Pronterface to extrude 10mm of filament and click “Extrude”. The large gear on the extruder should rotate clockwise viewed from the back. Click Reverse and confirm it rotates counter-clockwise.

Temporarily detach the PTFE tube at the extruder by pressing in the black or blue plastic flange while pulling the tube gently out. Alternatively, you can also unscrew the brass nut from the extruder. Then squeeze the red lever so that the tension wheel is disengaged from the extruder gear and feed the pointed end of the filament into the opposite side of the extruder from the PTFE tube. Once it emerges a little way from the extruder, re-insert the PTFE tube into the brass nut.

Check that the hot-end is still set at temperature 185 (PLA). Once it reaches this temperature, use the Extrude button to feed 100 mm of filament at a time at 100 mm/min until it is close to the effector end of the Bowden tube. It should need about 3 goes.

Then feed 20 mm at a time at 100 mm/min until molten filament begins to emerge from the tip of the hot-end.

You have now successfully completed the calibration process!

Step 18: Appendix – List of Materials


  • 2 DVD Drives
  • 1 Floppy Drive
  • 1 Power Supply
  • 1 Power cable

Supplied in Kit:

Screws, nuts, washers and cables etc:

  • 1 M3x10 screw with round head
  • 12 M3x12 screws
  • 1 M3x20 screws
  • 2 M3x25 screws
  • 12 M3 nuts
  • 4 M4x20 screws
  • 4 M4x30 screws
  • 16 M4 washers (with 12mm outer diameter)
  • 24 M4 nuts
  • 3 20cm cables w/4pin female header and 4 bare wires at other end
  • 10 zip ties


  • 1 Arduino Mega 2560
  • 1 Ramps Board
  • 4 Pololu Motor Shields
  • 1 USB Cable for Arduino Mega


  • 1.75mm filament full metal extruder w/PTFE tube and 1 brass connector
  • 1 Nema 17 Stepper Motor


  • Complete Hotend w/0.4mm Nozzle, 100K Thermistor and Cooling Fan Assembly
  • 1 Extension Cord for the Fan, 20cm
Tech Contest

Runner Up in the
Tech Contest

Robotics Contest

Second Prize in the
Robotics Contest