loading

Step 11: End Stops - a Primer

The Prusa i3 printer has a build size of approximately 200mmx200mmx200mm (8"x8"x8"). To know where it can print you need to "home" the printer. To home the printer we need to use end-stops, mechanical or optical switches that are tripped when the movement of the axis reach their maximum (or minimum) - the switch signals the Arduino and the RAMPS/Pronterface software get the signal and knows the movement limit.

For our build we used mechanical switches. The switches can be wired to be normally open (NO) or normally closed (NC). We used normally open, i.e. when the switch is hit it closes the contacts and sends a signal to the Arduino port via the RAMPS board. This logic can be changed in the firmware to normally closed if you wish. Some would argue that NC is better as if one of the wires break by accident it will trip the RAMPS telling it that the maximum or minimum have been reached. We chose NO as you only home the printer once per print and therefore the printer gets a signal on it's port(s) once vs having the logic on the port the whole time through the print.

In the Configuration.h file this logic of NO or NC is found in the lines:

const bool X_ENDSTOPS_INVERTING = false;// set to true to invert the logic of the endstops.

const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.

const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.

We changed all of ours to true

const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.

const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.

const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.

Also in the Configuration.h file you define whether the end-stop is at the MIN or MAX of it's travel

// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1

#define Y_HOME_DIR -1

#define Z_HOME_DIR -1

We found the defaults worked.

We placed our Y-Axis end-stop at the back of the printer frame, if you wanted to place it at the front of the frame you would change the firmware line to read #DEFINE Y_HOME_DIR 1 and also change the end-stop wiring to the Y MAX pins on the RAMPS board. That way Marlin knows the Y home position is with the bed forward and to look for the signal on the MAX pins.

Make the changes as above and compile and upload to the Arduino board.

On the RAMPS board are pins for the 3 axis for both the minimum and maximum positions - 6 sets of pins in total. There are 3 pins for each of the X, Y & Z and their MIN and MAX positions - however you only use 2 of the 3 and some documentation we've read suggest you could damage the RAMPS board if you use all 3 of them.

See the attached image of the RAMPS for the correct pins to use.

For the X, Y and Z axis we used the MIN pins - when we clicked X minus in Pronterface the carriage moves left, when we clicked the X home position the carriage moved left to the end-stop, when we clicked the Y plus the bed moves forward, when we clicked the Y home position the bed moves back to the end-stop, when we click Z minus the carriage moves down, when we click the Z home position the carriage moves down toward the end-stop.

A note on the Marlin software and the RAMPS pins:

We placed our Y-Axis end-stop at the back of the printer frame, if you
wanted to place it at the front of the frame you would change the firmware line to read #DEFINE Y_HOME_DIR 1 and also change the end-stop wiring to the Y MAX pins on the RAMPS board. That way Marlin knows the Y home position is with the bed forward and to look for the signal on the MAX pins.

<p>I think my motors are going in the wrong direction, as when I hit home in my software the X and Y go in the opposite direction to my end stops, and the Z motors buss but have had no movement from them at all.... </p>
<p>Hi, </p><p>First you need to check the travel direction to see if it's the motor or end-stop configuration.</p><p>In pronterface an X plus movement should move ther carriage from left to right, a Y plus movement should move the bed from the back toward the front. If either of these are incorrect then you need to power off the printer from USB and 12v, then flip the x and y connectors that are wrong where they plug into the RAMPs board.</p><p>In your Marlin configutation.h file you define the endstops as either MIN or MAX.</p><p>If the X end-stop is on the left side of the frame it's a MIN and definded as -1, if on the right it's a MAX and definded as 1.</p><p>If the Y end-stop is at the back it's a MIN end-stop and defined as -1, if at the front it's a MAX and defined as 1</p><p>For the Z motor - did you change the DEFAULT_MAX_FEEDRATE value for the Z axis? If it's set to the default 5 the motors will just buzz and not move.</p><p>You also need to check the driver/stepper voltages.</p><p>Check step 17 in my revised Instructable on building an i3 printer:</p><p><a href="https://www.instructables.com/id/Building-a-Prusa-I3-3D-Printer-Revisited" rel="nofollow">https://www.instructables.com/id/Building-a-Prusa-I...</a></p><p>Steve</p>
<p>thanks so much for the info... will try this and see if I have any luck.... cheers</p>
<p>Wow! this is one of the best Instructables I've ever seen, great job! I have a couple of questions before attempting this project, firstly, I've seen 3D printers that use a fiberglass print bed with small (about 1mm) holes at regular intervals, similar to a protoboard, just without the copper contacts, if I used one of these instead of a glass plate, do you think this would effect print quality? Secondly, following on from Linc156's question, is there any benefit to printing with ABS rather than PLA, or at least having the option to?</p>
<p>Hi, thanks for the feedback - I have recently finished a new Instructable on the i3 rework with more details on parts of the build and also a better z-endstop design.</p><p>I haven't tried the protoboard as a bed for ABS, though reading up on it you would print a &quot;raft&quot; that your piece sits on. This would be done when slicing the model and creating the cgode. The benefit to ABD is that it is less brittle than PLA, so if you were printing parts that snap together then PLA may break. Like the pins used in this design - </p><p><a href="http://www.thingiverse.com/thing:243278" rel="nofollow">http://www.thingiverse.com/thing:243278</a></p><p>I found ABS was better in this case.</p><p>However I find ABS harder to print with in that changes in the ambient temperature in the room cause pieces to lift or curl off the print bed. For ABS I use buildtak for the print surface and heat the bed to 65c. I also use a box around the printer to keep the heat constant. At the hackspace we use an Ikea table (the &quot;lack&quot;) upside down with acrylic panels around it. If you use a heat chamber like that it's suggested the printer parts themselves be made from ABS rather that PLA.</p><p>All that being said I almost always use PLA - It's just easier to print with.</p>
<p>Ok, great, thanks! Yeah, I saw your revised post, unfortunately after my comment but no harm done! It's another great Instructable and I'll use it when building mine (however I'll make the plywood frame since I have access to a laser cutter instead of a CNC). </p><p>From my experience with the potoboard type of print bed the &quot;raft&quot; can sometimes be difficult to remove without damaging the piece, or yourself (Woops) (However I think part of the reason for that was due to poor quality filament) i'll probably use a glass print bed to avoid that hassle. </p><p>I think i'll use PLA mostly, however if I do need to print parts like the example you showed me then i'll probably use ABS but I'm not exactly sure how I'd make a box to regulate tempurature, we don't have air conditioning so hopefully that won't cause too much of an issue, maybe i'll just use a cardboard box with an acrylic window? </p><p>The printer I have access to is a Makerbot Replicator Z18 which only officially uses PLA filament so I might end up re-printing parts that are more likely to break with my own printer when it's finished using ABS, or, more likely, just re-print the whole lot!</p><p>Thank you so much for your help! When I went looking into making my own 3D printer I originally thought I'd be spending days on the computer organizing the various parts but this Instructable has made it so much easier, great work!</p>
<p>I was looking for ways to reduce the cost of this project, and I was wondering if the stepper motors can be sourced from things like old printers and scanners? If so, what would be the specifications?</p><p>Also, how necessary is the hot bed. I've been reading up on it, and a lot of people say it is not required for PLA. What are your thoughts? Thanks!</p>
Yes you can salvage steppers from old printers or scanners. I would look for any NEMA 17 sized and try them.<br>http://reprap.org/wiki/NEMA_17_Stepper_motor<br><br>A heated bed is 100% necessary for PLA but I think it helps. A local Vancouver 3D printer manufacturer makes a PLA only printer without a heated bed. We have one at our hackspace and it gets plenty of use and works well with blue painters tape on the glass. You could also add a brim to your print when slicing to add more surface area on the bed. <br><br>
<p>Sorry that should read - &quot;a heat bed ISN'T 100% necessary for PLA&quot;</p>
<p>Steve, I have a A8 just built, but all the axis motors go to the max and jam and chatter. What's up with that.</p>
<p>Check in order...</p><p>In pronterface:</p><p>An X + should move the x-axis to the right, if it doesn't, reverse the motor connector on the RAMPs board.</p><p>A Y + should move the bed toward the front, if it doesn't, reverse the motor connector on the RAMPs board</p><p>A Z - should move the carriage down, if it doesn't reverse the motor connector on the RAMPs board.</p><p>The Z end-stop is at the bottom and therefore a MIN. If the X end-stop is on the left it's a MIN, if it's on the right it's a MAX. If the Y end-stop is at the back it's a MIN, if it's at the front it's a MAX. Make sure it's correct in your Marlin firmware and also on the correct MIN or MAX pins on the RAMPs.</p><p>Test with a M119 in pronterface, that will show the end-stop status.</p><p>Disconnect the 12V power supply and plus in via USB. With your multi-meter set to 2v DC scale check the voltage between ground and the pot on each driver in turn. They should read around .7v</p><p>If the Z-axis still buzzes check this line in your Marlin configuration.h</p><p>#define DEFAULT_MAX_FEEDRATE {500, 500, 2, 25}</p><p>Steve</p>
Excellent writeup! How much would you estimate the project ended up costing?
<p>Thanks, I am working on an updated version of the Instructable using the &quot;rework&quot; design and a Hexagon 1.75 nozzle.</p><p>Cost was approx $600 Canadian. More than the cheap China kits, but the quality way better.</p>
<p> Excellent, glad to hear it! Me and my son are looking at a 3-D printer in a few months, and the self-build option is definitely on the table. I'm going to look at a few builds, and would love to see your reworked design laid out. </p>
<p>Hi!</p><p>We are 5 students from Belgium and trying to print with the Prusa I3 Steel but when we start, the printer starts printing in the air because the Z-axis won't go to the heating bed. <br><br>It is not a problem with the Z-axis itself because it is able to move when we steer it with pronterface. <br></p><p><br>Our endstop of the Z-axis is on the top so in the software we set that the home position is our maximum position. </p><p>Hopefully somebody can help us! </p><p>This are our settings in the software: </p><p>// Uncomment the following line to enable CoreXY kinematics<br>// #define COREXY</p><p>// corse Endstop Settings<br>#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors</p><p>#ifndef ENDSTOPPULLUPS<br> // fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined<br> #define ENDSTOPPULLUP_XMAX<br> #define ENDSTOPPULLUP_YMAX<br> #define ENDSTOPPULLUP_ZMAX<br> #define ENDSTOPPULLUP_XMIN<br> #define ENDSTOPPULLUP_YMIN<br> //#define ENDSTOPPULLUP_ZMIN<br>#endif</p><p>#ifdef ENDSTOPPULLUPS<br> #define ENDSTOPPULLUP_XMAX<br> #define ENDSTOPPULLUP_YMAX<br> #define ENDSTOPPULLUP_ZMAX<br> #define ENDSTOPPULLUP_XMIN<br> #define ENDSTOPPULLUP_YMIN<br> #define ENDSTOPPULLUP_ZMIN<br>#endif</p><p>// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.<br>const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.<br>const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.<br>const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.<br>//#define DISABLE_MAX_ENDSTOPS</p><p>// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1<br>#define X_ENABLE_ON 0<br>#define Y_ENABLE_ON 0<br>#define Z_ENABLE_ON 0<br>#define E_ENABLE_ON 0 // For all extruders</p><p>// Disables axis when it's not being used.<br>#define DISABLE_X false<br>#define DISABLE_Y false<br>#define DISABLE_Z true<br>#define DISABLE_E false // For all extruders</p><p>#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true<br>#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false<br>#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true<br>#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false<br>#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false<br>#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false</p><p>// ENDSTOP SETTINGS:<br>// Sets direction of endstops when homing; 1=MAX, -1=MIN<br>#define X_HOME_DIR -1<br>#define Y_HOME_DIR -1<br>#define Z_HOME_DIR 1</p><p>#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.<br>#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.<br>// Travel limits after homing<br>#define X_MAX_POS 190<br>#define X_MIN_POS 0<br>#define Y_MAX_POS 290<br>#define Y_MIN_POS 0<br>#define Z_MAX_POS 0<br>#define Z_MIN_POS 18.1<br> <br>#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)<br>#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)<br>#define Z_MAX_LENGTH (Z_MIN_POS - Z_MAX_POS)</p><p>// The position of the homing switches<br>//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used<br>//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)</p><p>//Manual homing switch locations:<br>#define MANUAL_X_HOME_POS -100<br>#define MANUAL_Y_HOME_POS -140<br>#define MANUAL_Z_HOME_POS 0</p><p>//// MOVEMENT SETTINGS<br>#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E<br>#define HOMING_FEEDRATE {2000, 2000, 100, 0} // set the homing speeds (mm/min) [50*60,50*60, 4*60, 0]</p><p>// default settings</p><p>#define DEFAULT_AXIS_STEPS_PER_UNIT {160,160,8000,1554} // default steps per unit for ultimaker<br>#define DEFAULT_MAX_FEEDRATE {250, 250, 3.3, 25} // (mm/sec)<br>#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.<br> //(9000,9000,100,10000)<br>#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves [3000]<br>#define DEFAULT_RETRACT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts [3000]</p><p>// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).<br>// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).<br>// For the other hotends it is their distance from the extruder 0 hotend.<br>// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis<br>// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis</p><p>// The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously)<br>#define DEFAULT_XYJERK 20 // (mm/sec) [20.0]<br>#define DEFAULT_ZJERK 0.4 // (mm/sec)<br>#define DEFAULT_EJERK 5.0 // (mm/sec) [5.0]</p>
<p>Put the Z endstop at the bottom, use this design:</p><p><a href="http://www.thingiverse.com/thing:394903" rel="nofollow">http://www.thingiverse.com/thing:394903</a></p><p>Make it a MIN endstop in your Marlin configuration and makesure it's on the MIN pins on the RAMPs board</p>
<p>Hi again Steve, getting my printed parts tomorrow hopefully (and starting the build!), I think I may have screwed up though and ordered the Rework 1.5 parts (by E-Motion). Is this a massive problem or would I still be able to follow along with your guide? I'm not sure how different the parts are.. Will get either new frame or new printed parts if the frame and the parts are incompatible. Would appreciate your advice, Joe</p>
<p>You should be fine, just use the Instructable as a guide. email me with any questions</p><p>Steve</p>
<p>Also, is there any reason you use 360mm smooth rod rather than the 350mm in the RepRap build manuals? I'm very interested to know if there are minor improvements that can be made from these details. :)</p>
<p>No difference really - my new build is using 350mm and they should be just fine</p>
<p>Thankyou!</p>
<p>Hi Steve, awesome guide, due partly to your excellent instructable I've decided to jump in! I've sourced a wooden frame identical to yours, I'm just wondering whether the 6-32 nuts holding the frame to the triangular braces are stiffnuts (normal nuts) or nyloc nuts? Thanks, Joe</p>
<p>Normal. The 6-32 nuts are &quot;chunky&quot; or have a large face, so there is plenty of contact with the t-slot. I am doing a new Instructable on my latest build which has improvements on the z-axis end stop (and adjustment), nut holders for the bed leveling and a 1.75mm filament extruder and hot-end</p>
<p>Thanks for your reply! Started the build last night!</p>
<p>Hello,<br>Thanks for the awesome instructable, I've done everything <br>as said, but when i connect my printer to the PC using &quot;Pronterface&quot; i <br>get this error :<br></p><p>Extruder switched off. MAXTEMP triggered !<br>Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)</p><p>-----</p><p>and the printer won't work.</p><p><br>Any ideas what might be the problem ? thanks !</p>
<p>pretty sure it's something to do with the thermistor, check your Marlin for the correct thermistor type and also check the thermistor connection to the RAMPs board. Measure the resistance of the thermistor to make sure it's not shorted.</p>
<p>hi Steve, I was follow your instructables and Done I made it.</p><p>but I cant print and set home position.</p><p>repetier host said extruder active 0 and filament disable</p><p>this is very frustating.</p><p>and I need lot of help from people in this forum.</p><p>im use Marlin-1.1.0-RC7</p><p>thanks ^_^</p>
<p>no more issue, Im just forget to give double slash // in delta option line</p><p>:D</p>
<p>SteveRoy,</p><p>when changing TEMP_SENSOR_0 0, I get an error:<br>SanityCheck.h:452: error: #error TEMP_SENSOR is required.</p><p>Can you please advice? Thanks</p>
<p>No issue anymore. Leave TEMP_SENSOR_0 1, and connect heatbed thermistor. Pronterface Will recognize physical connection on ramps board.</p>
<p>Hi man...can you tell me what should be the voltage and current of my stepper motors? can i use 5v and 0.5 amp 3.75 deg stepper motor for this reprap model? </p>
<p>with the suggested 1.8 degree stepper motor you need 200 steps to do a rotation. With 3.75 degree stepper motors you need 96 steps to do a rotation, so while technically it could work you would have less than 1/2 the resolution of a 1.8 degree stepper. Why not use what is suggested in the Instructable?</p>
<p>So, my question is simple, but important (at least to me). Is it feasible to replace the M3 x 24 screws with M3 x 22 screws? I ask this because I have a site in the UK that charges about 4 cents a pop, and I'm already ordering the rest of the screws from them... but for what ever reason, they don't have M3 x 24 screws. I'd either have to go with M3 x 22 or M3 x 25, and I don't know yet what these screws attach to.<br><br>The NEXT cheapest place is Lowe's, at a 1.06 per screw.</p>
<p>Hi, I never did a complete BOM for the nuts and bolts - mainly because there isn't enough time in the day to look at every bolt on the printer and figure out if it's an 18, 20 or 22 etc. Rather we bought an assorted size of M3 bolts in 50 packs, so I would say M3x22 will be fine and if you find you need something longer then try a mom &amp; pop store. For example locally in Vancouver, Canada we have Pacific Fasteners, Canadian Stainless Fasteners etc all smaller fastener specialty stores that stock metric fasteners. Hope this helps</p>
<p>If you'd like, I can also get you a full list of the 3d print files for the printable parts, as I located it for the Prusa I3 Rework.</p>
<p>I am doing another Instructable on an i3 rework build - sort of an update of this one - but it won't be ready for a couple of weeks. I use some of the rework parts, but use a better z-axis endstop setup and also some other tweaks. Here is a cut/paste of the new Instructable as far as printed parts that I think are best: I can email you the stl file that I refer to if you like</p><p><strong>Printed Plastic Parts</strong> - we used some of the parts <br>from the Prusa i3 Rework by eMotion. However we did use a different <br>z-axis endstop and Kevin re-designed the y-motor and y-endstop mounts, <br>y-idler plus the z-axis top mounts. Plus we used a different extruder <br>for the Hexagon hot-end.</p><p><a href="http://www.thingiverse.com/thing:119616" rel="nofollow">i3 Parts by eMotion</a> on Thingiverse - we used their x-carriage, x-end-idler, x-end-motor, y-corners, y-belt-holder, z-axis-bottom-left &amp; right,</p><p><a href="http://www.thingiverse.com/thing:597914" rel="nofollow">Kevins modified y-motor/end-stop</a><br> on Thingiverse - with this setup you use more nuts and washers but the <br>end-stop is separate from the motor mounts and thetrefore can be moved <br>to a different location on the frame if needed.</p><p><a href="http://www.thingiverse.com/thing:593739" rel="nofollow">Kevins modified z-top mounts</a><br> on Thingiverse - this covers the top if the m5 threaded rod so nothing <br>can get caught on them. You can use the rework version if you like.</p><p><a href="http://www.thingiverse.com/thing:512338" rel="nofollow">Wade Style extruder for a 1.75mm Hexagon</a> and others on Thingiverse.</p><p><a href="http://www.thingiverse.com/thing:394903" rel="nofollow">Z endstop</a><br> on Thingiverse - I can't say enough good things about this design. <br>This is a must if you want easy bed leveling - but more of that on step x</p><p><a href="http://www.thingiverse.com/thing:85368" rel="nofollow">X endstop</a> on Thingiverse - a great design for the x-endstop. I use it on the left side</p><p>Kevin<br> also designed a 2 piece y-tensioner (so you don't have to dismantle the<br> frame to change) and also nut-holders for the bed - stl attached to <br>this step</p><p>We used herring-bone gears for the wades style extruder <br>taken from the original Prusa SCAD files - stl files attached to the <br>step</p>
<p>Oh, cool. It will probably be about a month before me and my friend can afford to get everything, but link the instructable so I can check it lol. We'll need SOMETHING to show us the specifics.</p>
<p>Then this might be helpful. Here's a full BOM:<br>http://reprap.org/wiki/Prusa_i3_Rework_Bill_of_materials</p>
<p>Nevermind, I found a cheaper place that has the whole &quot;fastener&quot; kit... all the screws, nuts, bolts, and washers.</p><p><br>If anyone needs it, here:<br><a href="http://www.ebay.com/itm/Reprap-Prusa-i3-Rework-3D-Printer-Fasteners-Hardware-Set-Screws-Bolts-Nuts-/262178065117?_trksid=p2141725.m3641.l6368" rel="nofollow">http://www.ebay.com/itm/Reprap-Prusa-i3-Rework-3D-...</a></p>
<p>Hi all,</p><p>I have start ordering parts for printer, and already order wood frame v2. But now, I have stuck with order of printed plastic parts. For example, from eBay all offers are confused, as there is no description about compatibility with frame type. Can someone help me to choose correct package for Wood 6mm Plywood v2?? Maybe to post a link?</p><p>Thanks in advance...</p>
<p>Can you post a link to what the frame looks like? If it is the same as what I used in the instructable then a set of &quot;rework&quot; plastic parts is what you need</p>
<p>Crap. I forgot to check you answer, as I was expecting to get copy also on my email. Anyway I have already order from this site </p><p>www.hta3d.com/piezas-impresas/piezas-impresas-prusa-i3</p>
<p>hi steve....nice job on this instructable....</p><p>I have a problem with my prusa i3 building.... Im currently testing the stepper motor to check their movement on various axis but the problem is when I connect the arduino to the pronterface.... the stepper works smoothly and pretty great but the steppers don't move to their limit....for example on Y- axis from one side reaches to endstop which is printer limit but Y-axis stepper motor doesn't move the heat bed to the other side of Y- axis and it stuck in middle of Y-axis....look at the pictures below...these are the limit for my printer :| shouldn't heat bed move to the other limit? or might this be okay?</p>
<p>Are you doing a Y &quot;home&quot; in pronterface first and tripping the ends stop switch? Are your end stops working. The printer needs to know the start point (home) before it will move the full 200mm in the opposite direction.</p>
<p>Thanks for helping</p>
<p>I followed your calibration and commissioning steps and found them easy to follow and comprehensive. I had already built my printer before finding this instructable, but had little clue where to start when it came to getting it working. Thanks to your instructions, I've got my printer working and it is now printing the frog you can see below.</p><p>Thanks for all the effort you put in writing this, it has been invaluable to me.</p>
<p>Cool! My buddy and I printed about 100 frogs and glued them all over the place at our local hackspace.</p>
<p>Completed frog :D</p>
<p>Hi!<br>For those who don't want to buy 10 motors but still want to get those Wantai, you have to option to contact them directly (email) and get a quote!<br>I just did that, asked for 5x 42BYGHW804 with D-shaped ends and plastic connectors (instead of the soldered wires). I made the payment directly using Paypal. I live in Canada, but they ship internationally from China. In my case they didn't have them in stock, so that means an extra 14 days for manufacturing them.</p><p>Don't forget, you don't have to accept their quoted price. Try to negotiate a bit!<br><br><br></p>
<p>Great Instructable Steve! I followed it to the T and got this printed as a tribute to your excellent guide! In the first try!!! Thanks a lot. Cheers!</p>

About This Instructable

425,748views

610favorites

License:

More by SteveRoy:Building a Prusa i3 3D Printer - revisited Building a  Prusa i3 3D Printer Add your own trails to OpenStreetMaps 
Add instructable to: