Motor Currents

  • Hi guys,

    I'm using motors linked here, they have a rated current of 1.7A -

    My question is, does the number you enter into the config.g file mean that the motors will run at that rating constantly or is that you saying that is the max they should run at? Do i put 1700 in the config.g section for the motor currents or do i bring this figure down a little?


  • administrators

    I recommend you run the motors at between 50 and 85% of their rated current. At 100% they will get rather hot.

  • Yeah, i'm aware of the consequences of motors running full 100%, its just that i didn't know what this figure in the config.g is taken for. Obviously, as you have replied in the manor you have, i can safely assume that these figures are the constant current they are ran at. So i should change my current in the config.g to around 1-1.2A. Would you say that is a pretty safe figure then?

  • administrators

    I would set the current as low as possible without you experiencing issues with motor stalling. 1A to 1.2A is a good start point. As an example the Y motor on my BigBox runs happily at 800mA, other designs with heavier axis or faster acceleration would require a higher setting.

    Once you are up and running it's quick to test motor current and acceleration to find the best compromise between motor temperature and torque required for your specific setup.

  • Okay, awesome! I will put it down to 1.2 and see how that runs, if there is no issues, i could bring it down a little more. Thank you!

  • From a practical stand point, set it lower, as have been suggested by David and Tony. I have used just 500ma with good results until I have started printing faster, then I have bumped it up to 1A. My drivers stay cool, and steppers (2A rating) are just a little warm when printing. You can also play with the idle current. I think that default is 60%, but in some cases, it could be lowered to 30%.

    To know for sure what 1.7A is, you would have to read some fine print in the instructions manual or the manufacturer website, but usually, it is the effective current (which is usually stated as RMS or root mean square for a sin wave AC current). I assume that we are setting the effective current in the config.

  • administrators

    The figure you put in config.g is the peak current per phase that the drivers will deliver to the motors.

  • @dc42:

    The figure you put in config.g is the peak current per phase that the drivers will deliver to the motors.

    Thanks for the clarification. That removes any doubts.

  • Awesome, thank you guys. I will be sure to get that set to the lowest i can possibly go.

    I'm pretty sure i could go quite low as i'm looking for speed out of this printer right now, quality is much more worthwhile for me on this machine. I might build a separate machine running another duet simply for speed to save me keep switch up settings and config.

    Thank you!

  • administrators

    A risk of going too low is that if you get a blob or curl up on your print and the head hits it, at lower currents the motor is more likely to skip steps. Also at very low currents, the microsteps are less uniform because the detent torque becomes significant in comparison to the torque due to current. That's why I suggested a minimum of 50% of rated current.

    The motors on my delta are rated at 1.68A and I run them at 1.0A which is about 60%. The heat generation increases with the square of the current, so at 1A they only generate 35% as much heat as they would at full current.

  • @Samuel235:

    I might build a separate machine running another duet simply for speed to save me keep switch up settings and config.

    Thank you!

    That sounds a bit extreme. Don't forget that just about anything that goes in you config.g can be overridden. So, for example if you wanted to increase the motor currents in order to be able to print a particular item faster, you can change them in the start g-code of you slicer (and put them back to "normal" in the end g-code). I do a similar thing with my homing files but in this case I lower them at the start in order to limit potential damage in the (unlikely) event of an end stop not triggering, then put them back up at the end of the homing file. Be aware also that you can use the "I" parameter in your M906 command to set the motor idle factor. I run my 2.0 Amp steppers at 1.8 amps for printing (because I have a big heavy hot end to throw around) but lower this to 20% when the motors are idle which is more than sufficient for my machine.


  • Better may be to have a pair of macros a high speed one and a low speed one rather than mess with the Slicer settings each time mind having said that you'd need to anyway to tell the slicer to speed up.

    Beauty of S3D is that you can set up different profiles/processes for just this?


  • Hi Doug,

    You could do it all with a macro - just add an M220 command to increase the overall speed. That's a bit crude though as you'd probably want to keep things like bridge speed, small perimeters and gap fill quite low. In this respect, Slic3R will do the same as S3D. You'd just put the motor currents in the Start and End gcode section of your printer then click Save As and call it "MyPrinterHighCurrent" or some such. Then in "Print settings" change the speeds but selectively rather than globally the do a save as "Fast" or some such. So, you can easily toggle between standard and high current printer versions and also standard and fast speed.


  • There is always more than one way to skin a cat as they say lol

  • @Dougal1957:

    There is always more than one way to skin a cat as they say lol

    Totally agree, and the best way to skin a cat varies from individual to individual depending on what tools they have available and how familiar they are with those tools.

  • Exactly?

  • Hi everyone,

    In the recommendations they say we should use motors with rated current of at least 1.2A. Why ? What if I use a motor with lower rated current ?
    And what change when I run the motor with lower or higher current ?

  • administrators

    If you use a motor with a lower rated current, then unless it is a very short motor it will have high inductance, and that will limit the maximum available movement speed.

  • What about stallguard on the duet wifi? If M906 sets the maximum allowed current, then what determines the normal operating current?

  • administrators

    M906 does set the normal operating current.

Log in to reply