Jump to content

Fan "Kick" Start

Recommended Posts

Posted · Fan "Kick" Start



I'm printing a lot with low fan speed settings. (15%-20%)


At these speeds the fans won't automatically start without been given a "nudge"


Is there an easy way, say through a plugin(?) to add a 100% kick briefly to the fan to get it started and then once started revert back to 15%?

If not, could I suggest this be added to Cura as a tick box?


(Cura 4.1 & Ultimaker 2+ with custom fan shroud)

Share this post

Link to post
Share on other sites
Posted · Fan "Kick" Start

This would be a good plugin.  It's pretty simple.  Each time there is a fan speed change already in the gcode, if it's less than X% then go to 100% for 1/2 second then to that goal speed.


This feature is ALREADY IN MARLIN except it only does this when going from off to on.  It should do it for every speed change.  The problem is that by default cura does 0% fan for the first layer then increases the fan (typically 1/5) for each layer until at "full" speed.  If "full" speed is 15% then it will do 3% for second layer, 6% for third and so on.  So it never triggers the built in "kick start" feature in Marlin.  Well it triggers it for the 3% speed but then the fan typically stops anyway and doesn't trigger it for the remaining.


Ideally this should be fixed in Marlin.


Now for the UM3 and S5 the fans have built in tachometers and they don't need any kickstarting.  So UM Cura programmers may put this feature request as a low priority.  But it's not hard to write yourself.   Look at the example cura plugins - it's really very simple to modify one.  You want the simplest type of plugin: "post processing plugins".

Share this post

Link to post
Share on other sites
Posted · Fan "Kick" Start

Actually it's hard to go backwards in gcode (edit a previous line once you find a fan speed change).  and you don't want to delay a whole half second as it will create a blob at the fan change spot.


So instead I would replace the fan speed to 100% but remember the value, then after 15 more G1 codes have occurred I would insert the original fan gcode back in.


In other words no delay/sleep/wait gcode (whatever it's called).


G1 codes are extruding moves and each move will take a little time.


Share this post

Link to post
Share on other sites
Posted (edited) · Fan "Kick" Start

if it's less than X% then go to 100% for 1/2 second then to that goal speed.


Yep! 🙂


Thanks for your reply and Marlin explanation. I guess that makes it trickier to incorporate into Cura. Hmmm... shame as having that in Cura would be ideal, not just for us UM2 "oldies" but generally as well to benefit other makes of printers possibly? 😉


I did start earlier today looking at "how to write your own plugin" thanks for the hint to the examples and in particular "post proessing plugins" I'll see how I go with it.


In another post about fan speed I found "M106 S255 P0" - from what I understand, this in Gcode means  "Fan 0 100%" so I think I now have my first step of what to look for and what it should be briefly modified to for a "kick" start.


From what you say, I'm guessing the sequence for this "post processor" then needs to be something like  -


1. Read in all the gcode

2. Search for M106.

3. Read and store that entire line

4. Replace that line with "M106 S255 P0"

5. Count 15 or so lines further on (as per your suggestion)

6. Insert stored line in there

7. Write out the amended gcode to a new file.


I think the programming language is "python like" or actually Python. Not something I have a lot of knowledge of.

So it's going to be a bit up hill. But I'm up for giving it a go!


Downloaded https://github.com/nallath/PostProcessingPlugin




Edited by chrisr

Share this post

Link to post
Share on other sites
Posted · Fan "Kick" Start

Your pseudo code is good but you don't have to worry about step 1 and 7.


You need to literally pick an existing plugin and locate where the file is physically located and open up that file and copy it so you can edit it.  You only need to add maybe 4 lines of code and modify one or two lines.  Plus alter the name of the plugin.


Yes, it's python.


Share this post

Link to post
Share on other sites
Posted · Fan "Kick" Start

Could'nt you just put at fan stop right before speed change and then a fan start with Blip-time 2 s or something like that? 



Share this post

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

    • Survey: Understanding your workflow
      Interact with future concepts and aim to collect your feedback and opinion. In particular, if this would/could be a welcome addition to your 3D printing workflow. Interested?
      • 0 replies
    • Coronavirus: Let's do our part
      Through this post I would like to further explain what we are doing, and what you could be doing. 
      Our efforts consist of 2 layers. First; connect medical institutions and hospitals to (local) 3D Printing hubs to help them print parts of which a 3D model already exists. And second, contribute to design the necessary part and then have it printed via a (local) 3D printing hub. Experts are available from within Ultimaker and from within our network of 3D printing experts.
        • Like
      • 52 replies
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!