Jump to content

How can I define extruder endstops?


Recommended Posts

Posted · How can I define extruder endstops?

Hi everyone!


Before I start off:  I am working with an UM2+, Cura 4.3.0 on Windows 10 and the tinkergnome UM2+ firmware.


I am currently working on a university project. The aim is to convert the regular UM2+ into a printer which can do both regular and bio-printing (bio-printing is in short words the printing of hydrogel in which you can implement cells, so you can print organic material in every desired form). To achieve this I already designed and printed a syringe pump which is driven by more or less the same stepper motor the current extruder is using. This makes it possible to switch from regular to bioprinting by unplugging the extruder motor and plugging in the syringe pump. This leads to my question: In order to keep the syringe pump from crashing every time the syringe gets empty, I want to include two endstops for the extruder motor. I already took a look into TinkerGnome´  s Firmware and I could imagine that it should be possible to include the endstops within the definition of the regular endstops. The desired reaction would be to pause the current print until the material "is changed".

What I am asking for at this point is experience. Has anyone ever tried to do this and could maybe even help me out with some code advises? I have some programming experience, but mostly with Java and Python so I could really use some help. Especially as the firmware is pretty huge and I am not sure which files have to be edited to make this work. Also I am not entirely sure how to compile and upload the edited firmware. I tried setting up the regular Marlin firmware (the way it was explained in a YT tutorial) but all I got was a huge bunch of errors on the Arduino IDE, mostly Index out of bounds... 

I know I am asking for a lot and I could totally understand if nobody is willing to put that much effort into a stranger´  s project. But I promise if you can help me and I should ever run into you in real life I will buy you a couple of beers!


  • Link to post
    Share on other sites

    Posted · How can I define extruder endstops?

    By the way, I also discovered that there is an option to include "virtual endstops".  This sounds like a pretty good solution as well, especially as the hardware modification would not be needed anymore. If this means I have to sacrifice a little bit of extra safety I would be fine with it.

  • Link to post
    Share on other sites

    Posted · How can I define extruder endstops?
    3 hours ago, properN00b said:

    The desired reaction would be to pause the current print until the material "is changed".


    Detection of endstops is usually disabled during printing, but this sounds very similar to a simple "filament end detection".

    Support for such a function was added to the tinker-firmware in 2015. This would need a simple switch that connects two pins on the Arduino board when the syringe reaches its end position.

    It was originally meant to be used with a more complex sensor, but it turned out that this was all what it needs:



    There are some instructions and pictures about the cable connections as well - and it's easy to test with a (pair of) wire.


    The firmware does not do much more than this part:



    Hope that helps!


    • Like 1
    Link to post
    Share on other sites

    Posted · How can I define extruder endstops?

    Finally got to try it out and it does exactly what I hoped for. I really start loving your firmware more and more. It´  s also great to see that much support in the community. Big ups to you!

    • Like 1
    Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
      • Ultimaker Cura 5.6 stable released
        Cura now supports Method series printers!
        A year after the merger of Ultimaker and MakerBotQQ, we have unlocked the ability for users of our Method series printers to slice files using UltiMaker Cura. As of this release, users can find profiles for our Method and Method XL printers, as well as material profiles for ABS-R, ABS-CF, and RapidRinse. Meaning it’s now possible to use either Cura or the existing cloud-slicing software CloudPrint when printing with these printers or materials
        • 48 replies
    • Create New...