Z Probe Servo Mount for MakerFarm Prusa i3v for Auto Bed Leveling (HXT900)

by clough42 May 19, 2014
Download All Files

Thing Apps Enabled

Please Login to Comment

Hello, where can I go for help getting this set up? Especially with the code portion. I MIGHT have a wiring problem, i just can't get my servo to do anything.

Instructions for setting this up with any of my extruder designs are here:


If you're using another extruder, you will probably need to adjust your ESteps.

Awesome, Thank you for the reply.

Hey clough42, I've been using this for a while now and it's absolutely great. I just got a new hotend, the Pico by b3 innovations and it is a little taller than the hexagon though, 61.73mm I measured (groovemount to tip of the nozzle). Would you make a servo arm for it so I can keep using the desing? I find your arm more sturdy than other iterations.


Sure. I don't have a Hexagon handy to measure. Can you tell me the length difference between the two hot ends. i.e. how much longer does it need to be?

So, any chance you could make this mod for me?

Yes. I just uploaded a version of the Z probe that is 7mm longer than the original.

Yes. It's been on my to-do list. I'm working on it now.

Just a thought, but using the roller switch like I do may help cover that extra distance.

I don't currently have a roller switch, but's it's an idea. Thanks a lot clough42! I will test it this week and post some feedback asap.

This is also an option. I've seen several people use these successfully. The only downside to the roller switch is that it's off-center from the servo axis, so small positioning errors will make a bigger difference in the measured Z position. In most situations, the error will be very, very small, though.

I just uploaded a new, longer version of the probe, so the choice is yours.

Okay, I just measured it now and the hexagon is 55.87mm long, so 56 to round up. 62-56 = 6mm, but I think using 7mm for safety could be a good idea.

Comments deleted.

Are you using the stock x carriage backplate that came with the i3v? It seems like there is not enough clearance between the carriage / hexagon shroud and the arm, so I had to file it down and bring it to the front rather than the back when retracted. I am using a regular rounded head m4 bolt, similar to the one that came with the printer

Hmm...do you have two V-wheels on the bottom, or one. It only fits with the one bottom wheel in the middle.

I'm using the stock back plate and it fits fine. Be sure you have the servo oriented with the shaft toward the front. If it isn't fitting, upload your make with a photo so I can see the trouble.

Would there be enough space to fit the Prometheus hot end? The length is about the same but the thickness might be an issue.

I think so. The outside dimension the Hexagon fan shroud I designed for this kit is 29.4mm, and the Prometheus is 30mm. I expect it will fit fine. I don't know about the length.

I can provide a longer version of the arm, but it won't be able to tuck up under the X carriage to the rear. It'll have to swing up to the front instead.

Prometheus Length is 58mm so it should be fine

Hi clough42, is the "ServoShelfBracket-NoServo.STL" you provided for the opposite side of the x carriage from where the servo would mount? Is this just included for aesthetics?

Yes. You could use two with holes. I don't think I would use one printed and one wood from the kit. I wasn't certain the dimensions would be perfectly the same (depending on the printer) so I threw in a config without the hole.

SUBJECT: Thanks and praise, with a few tips/ tricks at the bottom.

Finally got this thing running!! I bugged Clough42 several times to give me his config.h file or his whole Marlin folder. His resistance was a wise father-like decision. If you are looking to get into these types of mods that require Marlin level tinkering then you should really get used to navigating, troubleshooting, and begging people to help you understand wtf is going on when you get your compile errors.

I am very thankful for Clough42 for both uploading and sharing his many improvements for the Makerfarm i3v series. I am also thankful for him not giving me an easy and ignorant way to -maybe- get the machine working by using his files. It would have handicapped me from learning more about my machine and how it ticks. I am now much better educated for my own needs like future upgrades, but I am also much more equipped in how to make changes so that I can possibly create new improvements that could be shared.


-Naming conventions are huge for staying sane as you tinker with your firmware code (aka Marlin Folder or Configuration.h file)
--Download the latest Marlin Folder, name the folder with the date. Duplicate the folder and add the intended change into the name. When the intended change is verified and compiled then change the name one last time to include that the version is verified, compiled and in use.

-Use the right tools!
--Download a code tinkering app. I found and use Atom.app on my Macbook Pro. Using one allows you to mess with your code without corrupting your code. They can also have simple but useful features that make the tinkering process a more pleasant experience.
--I needed to use Arduino 1.0.x to get the correct Arduino level libraries that the latest Marlin utilizes and Arduino 0.23 does not have.
--I also used PrintRun/Pronterface and Slic3r.
--I always saved my change in Atom (code editing software), then closed the app, then verified with Arduino, uploaded using Arduino, then close Arduino, unplug my laptop and reset power on my MakerFarm to reset the MakerFarm LCD. Finally I would replug into my laptop and open Pronterface to send code and check operation.

I am not sure that you have to be this careful but I wanted to remove any possibility of apps conflicting ovr the same resource (file).

I spent a couple months with my printer down because I had to learn these lessons after I installed the Cough upgrades but had no idea how to manage the firmware/code side of things.

-Use the IRC #reprap and ask the chat bot Hangout? to have two great resources for helpful people you can access live.

Are you using marlin 1.4?

I am. I grabbed a new distribution to get the auto bed leveling code. I made a few changes to the code to lift the carriage when extending and retracting the switch so it doesn't strike the bed. I found out afterward that there's another thread on similar code modifications going on concurrently: http://3dprintboard.com/showthread.php?3105-Auto_Bed_Leveling-Enhanced-G29-command

I had the problem with the switch striking the bed too. I switched to a roller switch and that allowed me to only get by only extending the arm a little bit while probing; it can retract with what appears to be no interference this way. I also like the idea of the plastic switch not touching a hot bed, but that's probably not a big deal.

After doing all that with the switch, I dug through the code and saw that Enhanced G29 command you mention. Now I just send a "G29 E" instead of the G29... and then the probe stays extended (yay!). I'm guessing that leaving the arm extended may result in more accurate readings too.

P.S. thanks a ton for this and all your other contributions

Great. I'm glad you got it working.

ok. do you mind sharing you current config file? i have the 10" i3v and want to get auto bed leveling up and running. Waiting on the servo to come in. have you run into any other issues running 1.4?

I used this blog post to guide me on setting up the firmware, http://zennmaster.com/random-things/upgrading-the-makerfarm-prusa-i3-to-a-new-version-of-marlin
One thing I did notice with the i3v 10" is that the firmware is for the 8" so you will need to play with the bed sizes and height.

ETA: Was wrong on this, I just didnt have it set up correct, oops :) only had the machine 3 days now

and the 10" isnt a true 250mm on the X axis even with the nozzle homed to the right side edge w/ the updated X limit switch bracket the carriage on mine will crash at 245mm travel

It won't do you any good. I'm running modified firmware and a different extruder. I just started with the Makerfarm original and copied over everything that had a place to go in the new firmware.

Which hotend are you using? The JHead I have on my i3 (I'm awaiting delivery of the i3v upgrade kit) sticks about 57mm below the bottom of the extruder "shelf" of the X carriage. Will this switch arm be long enough?

Mmm...I don't think so. It's designed for the hexagon. I think the JHead is just enough longer that it won't work. See my other comment.

I'm using the Hexagon. I don't think the arm will be long enough for the JHead mounted directly onto the shelf. I really can't make the arm any longer because it won't clear the back of the X carriage when retracted. You could always add a spacer plate between the shelf and the groove mount to gain a few more millimeters.

I guess I'll print out just the servo mount, and keep the arm I'm using now, and just have it stick out the front like it is now.

Do you have way to make the complete rendered model available for download? I want to mess around and try to make a PLA cooling system. The servo interferes with the fan system I made!

Your designs are pretty impressive, do you have any plans to make a cooling system for this x carriage?

I just uploaded a print cooling system for printing PLA. I don't have a lot of testing on it yet, but so far it's looking pretty good. http://www.thingiverse.com/thing:351280http://www.thingiverse.com/thi...

Print Cooling Fan System for MakerFarm Prusa i3 and i3v

I have been working exclusively with ABS to date, but I have some PLA and I'm planning on working with it soon. I'll probably design something if I can't find anything I like. Which fan system did you try? Maybe I can adjust things to make it fit?

I made a dual fan mount with 50mm fans. Kind of overkill but I was getting good results. I have an idea to mount a radial blower fan behind the xcarriage and make a small shroud the would fit in the clearance between the bottom of the xcarriage and the bed. Then split and supply air to 2 sides of the hot end. The servo and probe assembly take up a lot of room on the left side of the hotend, im just trying to figure out the best way to go about modeling it. I only have experience with Autodesk 123D... admittedly I'm not the best at it. I'll see if i can throw something together later today.

Bringing a duct under from the rear is one option. There's also room on the right, or in the usual position on the front. Stray air blowing into the front of the hot end shroud will only help. You may also be able to switch the servo to the right-hand side, if it makes it easier. You may also be able to flip the servo around so the body is inside and the arm points outward, if that gives you the clearance you need.
I'll probably be looking at this soon, but probably not this weekend. I've also got a belted extruder project in the works. The gear chatter is annoying me. Ironically, the chatter is worst when printing the GT2 pulleys for the belted extruder. :)

One issue that was noticed on the i3 was if the servo is mounted too far to the rear of the x carriage, the servo housing will run into the x motor mount. Is that not a problem on the i3v?

I don't think its an issue at all on the i3v. The X motor mount is just a single plate, the 20mm extrusions are mounted to the front of that and the X carriage back plate is in front of those. I'll probably draw up a part for the i3 this weekend and I'll be sure it clears. Thanks for the heads-up.

One thought I had this morning: I have the parts designed so the switch arm tucks up to the rear. This is aesthetically pleasing, but it means that the servo shaft is in the way of the extruder mount bolt. You'll have to pull the two M3 screws and remove the left bracket to get at the screw. You can print the mirror-image of the arm and flip the servo over so the switch comes up in the front. This will provide clearance to get at the extruder screw with the arm down, but the switch will stick out the front a little. Your choice.

I've received a couple of questions about setting up the auto bed leveling in the firmware, so I added a little info to the description and a link to zennmaster's firmware setup guide in the instructions.

I just uploaded new versions of all of the files. I turned the assembly around so the switch now tucks up in the back, so it doesn't stick out the front when it's not deployed. I also added cable management tiedown points on the front of the shelf brackets. Remember that this is still a work in progress. I will remove the work-in-progress flag once I have tested it and am satisfied that it works.
In the mean time, feel free to print and try the parts and let me know what you think.

Awesome work with all your Makerfarm Prusa parts, Any chance of getting you to make a good micro-adjustable z-stop switch bracket for the Makerfarm Prusa i3v? Thanks for your work.

The adjustable Z end stop is now available: http://www.thingiverse.com/thing:336665http://www.thingiverse.com/thi...
Thanks for the suggestion.

Adjustable Z Endstop for MakerFarm Prusa i3v

Okay...you got me thinking about it, and I think I've got something that will work. Look for a new thing to be posted shortly.

I've been thinking about it. I really miss the screw from the i3. If the Z-probe works well enough, though, it'll probably end up low on my priority list.