Introduction: Edge 3D Printer V.2.0

Picture of Edge 3D Printer V.2.0

Hello, In this instructable I will show you how to make a very low cost, lightweight 3D printer. This 3D printer is about the same size of the printrbot simple, but has a bigger print bed at 6x 5.5x 4 Inches, weighs less than the printrbot simple at about 5.1 pounds, the printrbot simple weighs around 7 pounds.

Update: V3 is out!

***Please vote for this Instructable in the CNC challenge (upper right corner)! I'm 13 and I designed and built this myself so please, if you like this instructable favourite, vote and comment. It encourages me to keep doing what I do. If you really want to help me, please share this project with your friends that might like this instructable***

This is the second version of my 3D printer. I've made a V2.0 because my last 3D printer instructable was very popular, receiving over 125 000 views and over 1500 likes! If you want to check out 1.0 here is the link:

Step 1: Parts and Tools

Picture of Parts and Tools


GT2 pulley x2:

GT2 Belt (about 2m):

USB type b to type b extender x1:

DC power socket x1:

LM8UU Linear Bearing x4:

Acrylic x3 8"x12" (You can also buy it from a local plastics shop and it is about the same price as aliexpress):

30mm Fan x2:

3d printer wiring pack x5:

Direct Drive gear x1:

608 bearings x1 lot of 5:

M3 8mm screws x1 lot of 50:

M3 25mm screws x8

M3 10mm screws x20

5mm to 8mm coupler x1:

SC8UU linear bearing x2:

Arduino Mega and RAMPS board kit x1:

Endstops x3:

Nema 17 motors x1 lot:

Ceramic Hotend: You can use an all metal one but you must have a fan to cool it down or it will melt the 3D printed mount

Smooth Rods: 1272T38 Mcmaster Carr part #.

Threaded Rod: Home depot 5/16 inch threaded rod and a nut that screws onto the rod


Laser Cutter

3D Printer and filament or buy the parts from


Soldering Iron and Solder

Computer with Arduino IDE, Pronterface and Slicer software

Step 2: Laser Cut and 3D Print Parts

Picture of Laser Cut and 3D Print Parts

Laser cut and 3D print these Files:

Step 3: Mount Motors and Bearings to the Acrylic

Picture of Mount Motors and Bearings to the Acrylic

Using the M3 8mm screws mount the Nema 17 stepper motor to the main acrylic piece. This is the piece that has the most mounting holes. Do this for both the both the x and z motors. Now mount the SC8UU bearings. To do this, push M3 25mm bolts through the four mounting holes, put the bearing on top of the acrylic, push the bolts through the acrylic piece and add nuts and tighten them until they can't wobble.

Step 4: Wire Motors to the RAMPS Board

Picture of Wire Motors to the RAMPS Board

In this step, we wire the stepper motors to the controller board. Do this by plugging the motor cable into the connector board. On the board, there are headers that you connect the cable to. Don't worry about polarity: this won't affect the motor, it will just spin in reverse which you can invert in the firmware.

Step 5: De-solder USB-B and Mount It to the Acrylic Side

Picture of De-solder USB-B and Mount It to the Acrylic Side

Extend arduino's USB connector by desoldering the type b connector and just adding wires to each of the pins bringing the wires to the connector. It sounds complicated, but it is really simple.

Step 6: Wire the Rest of the Connections

Picture of Wire the Rest of the Connections

Use the image provided to wire the rest of the connections.

Connect both of the red wires from the hotend to D10 (the screw terminal) and +. Again the polarity does not matter at this moment because the hotend is just shorting out a flame proof resistor to heat up. Then wire the thermistor wires to T0 on the board. The polarity also does not matter on this one because it is a resistor.

Step 7: Couple the Z Motor Shaft to the Threaded Rod

Picture of Couple the Z Motor Shaft to the Threaded Rod

Couple the Z motor shaft to the Z motor rod using the coupler.

Step 8: Make the Extruder

Picture of Make the Extruder

Mount the part called "current extruder" to the motor connected to the extruder motor driver on the RAMPS board. Now, push the direct drive gear onto the motor shaft and secure it by screwing in the setscrew, then add the 625ZZ bearing onto the circular mount next to the direct drive gear.

Step 9: Mount Power Jack

Picture of Mount Power Jack

Mount the power jack on the back acrylic piece (the one with the maple leaf on it).

Step 10: Build the Enclosure

Picture of Build the Enclosure

Route all of the wiring from step 10 through the opening in the top piece (near the Z motor) Glue the ramps board to the bottom piece using hot glue.

You can now assemble the whole enclosure with some of the M3 8mm screws and nuts. DO NOT OVERTIGHTEN. If you do the acrylic will eventually crack that's what happened to my acrylic so keep that in mind while tightening the screws. The enclosure comes together like a puzzle and there should be only one possible way to put it together.

Step 11: Build X-axis

Picture of Build X-axis

Glue the endstop for the x axis to the left side of the top acrylic piece in between the two SC8UU bearings. Mount the 3d printed X axis part where the x axis motor is. Then press-mount the two 625zz bearings onto the 3D printed piece.

Step 12: Z-Axis

Picture of Z-Axis

To start the Z-axis, mount the Z-stabilizer piece to the primary Z motor (the motor at the back of the printer) with some M3 10mm bolts. Then push the two Z smooth rods through the two parallel holes in front of the Z motor.

Step 13: Y Axis

Picture of Y Axis

To make the Y axis start by mounting the Y axis stepper motor to the part called "latest z axis part" and putting the GT2 pulley on the motor shaft and tighten the setscew to secure it onto the shaft. Then press fit the Y axis rods into the 8mm holes on the side of the part.

For The Extruder Mount: To start the extruder mount, slide in the LM8UU bearings into the bearing holes ( The 16mm holes) and use super glue or JB weld to make sure that they wont slide out of place. After the bearings are in place, mount the ceramic hotend into the hole at the bottom of the 3D printed part and again use JB weld to secure it in.

Continuing the Rest of the Y Axis: Slide the extruder mount's bearings through the rods attached to the "latest z axis part" and slide the "latest Y end cap" onto the Y axis smooth rods. Now fit the GT2 belt through the rectangular holes on the extruder mount. Then, loosely fit the end of the GT2 belt through the rectangular hole in the back of the "latest y axis end cap". Finally add the 608zz bearing into the rectangular hole and put the whole assembly ontop of the threaded Z axis rods, making sure that the one of the threaded rods goes through the 608zz bearing. Now you can add the Y axis end stop, currently I don't have a mount for it so you will have to just superglue it making sure that it clicks when the extruder assembly is at its minimum point.

Step 14: Power Supply

Picture of Power Supply

You need a way to power the 3d printer of course! A really cheap and simple power supply is an ATX power supply from a computer so if you have an old computer power supply laying around you can put it to good use. To use it you must solder the green wire (Power Good) to any ground wire (Black wire) these wires are normally used to detect if the motherboard of the computer is connected to the power supply so if you don't solder those wires together the power supply will not turn on.

Then wire any yellow wire (+12v) to the voltage in connector on the RAMPS board and any ground wire to the negative input connector. An alternative to this is ordering a laptop power supply from the internet. the laptop power supply MUST be able to provide at least 5AMPs at 12 volts.

Step 15: Program Arduino

Picture of Program Arduino

Download the Marlin firmware here:

Then unzip the compressed file: and move the folder into --> Documents --> Arduino --> Sketchbook.

Open the Arduino IDE and go File --> Sketchbook --> Marlin_for_edge_copy. Then click "compile" if it compiles successfully, if it doesn't, make sure that the board is "Arduino Mega 2560" under tools --> board then click upload while the printer is connected to your computer via a USB cable.

Step 16: Calibration

Picture of Calibration

To calibrate your printer find this line in marlin's "Configuration.h" folder:

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 2618, 90}





Once you find this part, open Printrun Pronterface or whatever your favourite 3D printer controller is. Then having some calipers handy, press the move 10 units button (It should have a 10 on it) and measure the actual distance that your printer moved and write down that number for each axis.

Once you have the number of mm that your printer moved for each axis (for example 8 instead of 10mm), go into the code and find the default axis steps per mm. Use this formula to find out the new steps per mm :

S = (OS x SD) / RD

Where S= The correct step amount; the number that we are trying to find.

OS = The old steps per mm in our case this is 80.

SD = The number of mm's that the printer thinks that it moved in our case, 10mm.

RD = The actual distance that you wrote down for each axis

So if our 3d printer moves 8mm/10mm and our old steps per mm is 80 it will =

(80 x 10) / 8 = 100

So our new steps per mm = 100. If that is the number for the x axis replace the first number in the steps per unit line of code (we replace the first number because in the array the pattern is X,Y,Z,E).

Do this for all axes and yor 3d printer is calibrated.

Step 17: Slicing and How to Use

Picture of Slicing and How to Use

Here are the slicing settings that I currently use: (Use images)

These also work if you use them in Slic3r or any other slicer, I just prefer Cura because it is fast and accurate.

To actually print something from the printer download an STL file from a site like youmagine or thingiverse. Once you have downloaded an STL file you can drag the file into your slicer or choice and click "Export Gcode" and save it to your desktop. To control the printer I like Printrun pronterface ( ). Once it is downloaded you can select "open" and select your G-code that you wnat to print. Connect your printer using a usb cable and press the "connect" button in pronterface. You are now connected to your printer and now you can press print. It will take a few minutes to heat up. When it is completely heated up it will start homing all axes.

Step 18: Video

Here is a video showing the printer in action.

Sorry for not having a time lapse. The video is shaky because I don't have a tripod for my phone (I could 3D print one).


Zach Sousa (author)2015-09-16

UPDATE on the kits:

So, I have (most of) the parts for 2 kits. Yeah, that is a bit of a disappointment. Over 20 people wanted them, now I'm not so sure if anyone even wants them. The (1/2 year) delay was caused by some problems, all of which were my fault. I haven't posted any instructables recently because:

1. I was stupid and spent most of my money that I had on parts for the kits, so I'm kind of broke until I sell the kits.

2. My makerspace's laser cutter is broken, they are working on fixing it, but that will probably be at least another 2 months

I have decided on selling the kits through ebay for the first 8 kits or so, probably an auction. For the first 10 kits, ALL profit will be going to the next kit (which is about double profit with currency conversion). By doing this, I will sell the 2 kits at first, then I can afford 4, then 8 and so on. The price is $250 US. That includes everything needed to build the printer, including laser cut acrylic.

After I sell the first 10, I will use the profit to buy an X-Carve so I can continue to make the acrylic pieces. Alternatively, if I'm able to make a 3D printed instructable (I have some ideas), I will enter it into the epilog laser contest.

Feel free to ask any questions about the kits.

premenko21 (author)Zach Sousa2015-11-04

Where can I buy a kit?

Zach Sousa (author)premenko212016-02-29

Sorry for the late response, just leave a comment on the 3.0 and I'll add you to the list.

Version 3.0 is at the following link.

Yonatan24 (author)Zach Sousa2015-11-19

Sounds interesting, You'll probably sell hundreds :) Good luck!

AshmesH (author)2016-12-17

what is the max size in printer ?

Medelis (author)2016-06-03

very COOL instructable

If you want to buy powerful & cheap 3D Printer...
auto leveling

(NO MORE wasting TIME - 30sek. & Ready To Go)
super basic to use Cura 3D Printing Slicing Software ...MICROMAKE D1 ...

WiseSageBum (author)2016-04-23

What are the max dimensions this can print?

Zach Sousa (author)WiseSageBum2016-04-23

This is an older version, but its max is around 6x5x4 inches

mdudas (author)2016-03-02

Got it working. Thanks

mdudas (author)2015-10-06

What program did you use to draw the laser cut parts? I can not bring it up correctly in coreldraw or inkscape

Zach Sousa (author)mdudas2016-02-29

I used inkscape to design the parts.

mdudas (author)Zach Sousa2016-02-29

I tried Inkscape. It does not look right and will not lasercut.
Could someone please save it in a Coreldraw file?

Zach Sousa (author)mdudas2016-02-29

I also have a .dxf for the 3.0. You could try using coreldraw to open it.

mdudas (author)2016-02-29

I am having the same problem with V3

KevanP (author)2015-10-17

I want one.

Yonatan24 (author)KevanP2015-12-12

Same here...

Zach Sousa (author)Yonatan242016-02-29

Sorry about the delay on them, I'm shipping the first few on March 15th.

If you do still want one, The ones that I am selling are the 3.0 that I recently posted:

Ninjaduck21 (author)2015-04-30

Can I buy the laser cut parts off of you? I can access everything else, but I can't seem to figure out how to format the lasercutter files. Sooner would be best, since I am building this for a school project. Thanks!

Zach Sousa (author)Ninjaduck212015-05-01

Sure! I'll laser cut the acrylic tomorrow for the people that just want the acrylic parts. Does $35 sound good?

dwleo (author)Zach Sousa2016-01-23

I would also like a set of the acrylic laser cut, too, please.

kpgresk (author)2016-01-11

I built this printer but can't align the axis's because I don't know how the software works. I'm using Marlin for Edge which compiles and loads to MacPronterFace (PrintRun-Mac-03Feb2015) but I immediately get errors ("MaxTemp triggered shutdown." Or "Fix the error and use M999 to restart." There are so many "include this or that software subset" that I'm hopelessly dead in the water.

I don't know where to get SIMPLE software to even get this thing aligned. No motor has seen power yet (after MONTHS of trying to make ANY kind of progress.)

Where do I go to get HELP??

Zach Sousa (author)kpgresk2016-01-11

When you get the "M999" error, it means that either a thermistor or motor is shorted out. To bypass this, you can use the "Sprinter" firmware because it doesn't have the safety features.

JBarker09 (author)2015-12-01

The file "current extruder" that you mention in your instructable is missing from the thingiverse package. There are also others with this concern, see below:


"Latest Z Axis piece" and "current extruder" aren't included in this. I'm trying to make one of these and I can't finish it without those parts."

JBarker09 (author)2015-11-26

There are a couple of things I see with open questions in your instructable.

1. Where do you mention the heated build plate other than the schematic? You have no reference of specs, location to purchase, etc.

2. Also in your schematic there are 2 extruders. There is only one mentioned in the required items list which is also missing the heater and thermistor (unless they're included)

3. There are 6 motors in your schematic, and only 5 are on your purchase list. Unless there are motors with the extruders you'll be short on motors. If they are included then you're instructing to purchase more than necessary.

I hope that these suggestions will help improve this build a little bit. Other than that this is a good instructable.

MackenzieF2 (author)JBarker092015-11-30

First you should do some more reading but despite that, the included schematic is the standard one for the RAMPS controller, it is showing everything you could possibly connect to it, that said:

1. a heated bed is optional however for a build plate of the size shown it shouldnt be needed, it isnt large enough to experience much warping

2. you only need one extruder the second one shown is as stated above an optional expansion for RAMPS 1.4

3. You NEED one motor for each axis, and one for the extruder, a second on the z-axis is used because the resistance is greater and the x-axis is then able to be leveled to the bed...

further the instructable is very well put toghther, be more gratful! I had to read for monthes to know enogh to build a printer from scratch and here is everything in one place!

JBarker09 (author)MackenzieF22015-12-01

It is a good instructable, and I appreciate the work that goes into creating each and every one. I was simply posing some questions that could have had their answers outlined a little more clearly within the instructions. And I would have to disagree that not everything can be found in one place here in this instructable, however it does lay a solid foundation for those interested in working towards their own 3D printer.

pouriya-bagheri (author)2015-10-24

very Good

kpgresk (author)2015-10-20

Hi--long time not been here--an update. I tired of my Chinese 2560 and bought a genuine Arduino 2560. NOW I can upload "blink" and the new board WORKS! I will now return to this awesome project and keep you posted.

PS I second lights0123's earlier comment on no info about the LCD panel. Maybe Appleman can insert appropriate instructions?

lights0123 (author)2015-10-05

I am looking at building this, but I noticed one thing: In which step do you hook up the LCD? You have an LCD in the first picture, but nowhere else.

Maxx57 (author)2015-09-14

OK, one question, I got everything setup, code compiled and sent to the arduino. Had the max temp problem on power on. fixed that by setting the #define TEMP_SENSOR_0 1 instead of -1.

Now when I'm using pronterface to test the motor movement/measurement, I hear the motors attempting to turn, but they don't turn very much or not at all. At first I thought it was that the motors were too tight to turn, but that's not the problem as I've disconnected them from any mounts and setup and tested then with the same results. I hear then trying to move but they don't actually turn. I have used my voltmeter with the negative terminal on the negative power cable and the positive terminal on the actual screw for the driver (x, y, or z) and I was originally reading approximately 0.6 volts for each driver. I read that the Chinese made ones sometimes need to be turned up to 1.4 volts. So I slowly turn it up and test with the same results. The motors make a louder sound, but still do not move or if they do sometimes, it's only a bit then they don't move again. If I turn the driver voltage up more than 1.2~1.4 the voltage reading jumps down to 0.2~0.3 and the motor starts to make a buzzing noise when I'm holding the screw driver on the voltage adjuster. I've tried turning it up just slightly past that to see if I'm just in the wrong range, and the reading goes to zero and the motor makes an even louder buzzing. If I turn the motor down past 0.0 in the opposite direction, I again hear the buzzing noise. I've tried moving the motor while hearing the buzzing noise and I get the same thing, no movement, but sounds like it's trying to do something. I don't know what else to check or do at this point. I'm afraid to turn the voltage up too high as people say that it might burn out the board. I'm using the 4 line display and it seems to up the axis values when I use pronterface, so that seems to be working correctly.

I must say also that I don't have the endstops connected and there is not jumper on them. I did comment out the #define ENDSTOPPULLUPS because I have not put them together yet. could that potentially cause an issue with the motors?

Any direction related to the motor driver voltage please let me know. I also only have power connected to the far side of the green power input terminal (the side opposite the D10 thru D8 area). Would that make a difference? I read somewhere that I might need an additional 12V to both for the hotend and the motors? Also my reading from my ATX power supply is only 11.77 volts on that single input. Would that also cause an issue? Does it have to be exactly 12V input? Thanks again for any advice.

Maxx57 (author)Maxx572015-09-16

Please, if you have any suggestions please let me know. I cannot get the motors to turn. I don't know what I've done wrong. I hear a high pitched noise as if they are attempting to turn, but they don't turn. I don't get it.

Zach Sousa (author)Maxx572015-09-17

I have had this happen to me once, when I was adjusting endstop wiring. Without the endstops, the motors don't know where they are positioned, so the printer doesnt attempt to move at all. It is just a safety feature in marlin. If you don't have any endstops, use Sprinter as the firmware

Maxx57 (author)Zach Sousa2015-09-28

Got it fixed, see the reply to my previous post. it was the pin wiring from the motor to the board. Just switched the middle pins around and boom! Thanks!

Maxx57 (author)2015-09-20

Are there supposed to be jumpers on the pins that are directly below the stepper motor drivers? Mine don't have any jumpers, could that be why they don't turn? I did put the endstops on and they seem to be hooked up correctly.

Any more pointers you can give me? Trying to compare my boards with yours, but you don't show a ton of close ups. Thanks. The extruder is heating up, but the motors still just make a high pitched noise and dno't move at all. I've tried changing the driver voltage and still no luck. I double checked the motor wiring. My motor wire colors don't match your RepRap wiring diagram, but I made sure the wiring was the same. Help!

Maxx57 made it! (author)Maxx572015-09-21

After more research I've realized that no jumpers set on the pins inside each stepper motor pins means that the motor is set to full step instead of some micro-step setting. I was just afraid that I needed at least some jumper to set it to full step, but by default no jumpers is exactly that setting. But I still have the issue of not being able to get the motors to turn, they just make a loud noise and/or vibrate as if they are quickly moving back and forth which does not make them move at all... Thanks again for any suggestions or steps that I could possibly take to rule out the fact that I've got it all setup. Maybe someone point me in the right direction of making sure I have the wiring from the motor to the board correct? Here is the x-axis images. The wire colors on the motor are (left to right): red, yellow, grey, green. Then I use a 4 pin connector that has different colored wires, but I'm showing that I lined them up correctly and kept them as close to the board as possible. I have tried the motors with switching the direction they are plugged into the board, but I get the same response from the motors.

Maxx57 (author)Maxx572015-09-21

Just an FYI for my question above. I've tried this code and the hot end works, but the motors just make noise and don't move. I can post a video so you can see and help me troubleshoot. All I need now is to get the motors to move to get this to work. Please help... anyone, please. Thanks so much in advance.

kpgresk (author)2015-08-11

Been awhile. Here's my update. Printer built and sitting idly by. I can't get the Mega board and MacBook Pro to communicate. I'm trying Arduino's Blink program--as simple as they come. Until I get basic communication going, I've got a pile of junk parts, but no printer. Where do I go for the help I need?

Zach Sousa (author)kpgresk2015-08-11

Hello, you can try this driver:

That driver is for the CH341 Serial chip, which is used in some Chinese arduino boards. If that doesn't work, did you find the right wiring order for the USB? If you aren't sure, I can send a picture of the wiring.

kpgresk (author)Zach Sousa2015-08-16

Thanks. I'll try the driver. I THINK I have the USB wired correctly but please send the picture. I'll compare it to what I've got wired.

Zach Sousa (author)Zach Sousa2015-08-11

The link may take a few seconds to open, it is an automatically downloads.

Zach Sousa (author)Zach Sousa2015-08-11

* Automatic Download

Crazymonkeyjana (author)2015-07-15

I mean where can I get the kit from

I bought parts for the first few kits, there are about 25 other people on the list so it will take a while. First, I only have enough money for the first 2 kits, then 4, then 8, then 16 and so on. I have been thinking about an ebay listing, either auction or buy it now. If I had an auction, I can make a few extra dollars so I can make more kits. I'll PM everyone that is interested once I have a bit of stock.

Kalkunz (author)2015-08-04

Where can I buy laser engraved parts from you and what length should I cut the smooth and the threaded rod?

kpgresk (author)2015-07-28

In removing the USB connector from the Arduino board, I have lost how the wires are connected from the connector to the board. I know the 1,2,3,4 of the connector but not the 1,2,3,4 on the board--damn! Such a little (read BIG) thing. Where can I get that info?

seraphim928 (author)2015-07-20

Glad to know that you're interested in power supply(ac/dc adapters),
We supply adapters for listed company,such as ECHELON(USA)

12V 5A Desktop adapter Price:7.5usd/piece with AC Cable
Output voltage:12V
Output current:5A
AC Cable Type:US
DC cable:1.5M
AC inlet:C8
AC Cable:1.2M
DC Jack: male 5.5*2.1*10mm

Here is a link,You could see my customer feedback


Crazymonkeyjana (author)2015-07-15

Where do get it from

RedFishRyan (author)2015-07-11

I hope you win the contest!!!

RedFishRyan (author)RedFishRyan2015-07-14

Aww, I really thought you would have won... You had a greatly written 'ible... Sorry!

Zach Sousa (author)RedFishRyan2015-07-14

I was just a runner up. Oh well.

About This Instructable




Bio: My name is Zach Sousa and I'm a Canadian highschool student that has a passion for making.
More by Zach Sousa:CNC Oak Watch BoxCNC Camera SD Card HolderEdge 3D 3.0 - A $200 3D Printer
Add instructable to: