Installing and Configuring DRV8825 Stepper Drivers





Introduction: Installing and Configuring DRV8825 Stepper Drivers

About: I'm blogging about my projects before they make it to Once I've finished a subject on my blog, I'll put it together and post it on Instructables, so you can get a preview on my site.

I recently bought 2 of the new Silent Step Sticks which I wrote an instructable about: Install and configure SilentStepStick in RAMPS - TMC2100 Schrittmotortreiber - They really impressed me, and wanted to trade up my last two A4988 drivers for a pair of DRV8825 Sticks.

So, you might ask, why didn't I either just buy two more of the TMC2100 or keep the A4988 I had? Fair questions.

First answer is that the TMC2100 are rather expensive at 10 Euros or so a piece. At least it is expensive compared to it being a completely non-essential upgrade. I also weren't sure I would really get anything from my Z-axis. Not like it moves around a lot.

The Extruder on the other hand is moving A LOT, but I was afraid I had to crank up the power a lot on the TMC2100 and thus negate any positive effect on the noise I might have hoped for.

And here enters the DRV8825 Sticks. They go natively 1/32 at the same jumper settings the A4988 runs 1/16, which directly translates into a more silent running (potentially). They also have a heck of a lot of amperage headroom. More than I'm going to use on my small printer. Especially since I run a geared Extruder and have a very efficient Nema 17 motor that doesn't require much to put out a lot of torque.

I found two of these for 3 Euros, including freight on eBay. Even came with heatpads and fine heatsinks, which you want.

So, what I hope to achieve here is less noise and enough power to go by :)

Step 1: Index - Content

0 - Intro

  1. Index - Content
  2. Preparing, Installing and configuring on RAMPS
    1. Not much to it, but the small steps are important
    2. Preparations
    3. Configuring Vref
  3. Modifying the firmware and final Words
    1. Modifying firmware
    2. Further reading
    3. Linkks
    4. Final Words
    5. Update after a few days usage. - Verdict

Step 2: Preparing, Installing and Configuring on RAMPS

Not much to it, but the small steps are important.

Clean up the chip and heatsink with some Isopropyl-alcohol, attach the heatpad and heatsink. Carefull not to put sticky fingers on them.

I ran my old A4988 at 1/16 and I want to take advantage of the 1/32, so I'll just leave all three jumpers in place under each stepper.

Then install the new steppers with the potentiometer pointing the oppositve way of the A4988 (see images).

That means the driver is installed with the potentiometer close to the Ramps power plug.

Configuring Vref

In order to measure Vref you first need to turn on your printer as you normally would. If you only connecct using USB, but not external power, you get a wrong reading.

You need to turn on your multimeter and set it at 2v. Put the red one on the potentiometer and the Black one on the Gnd pin. Both are marked on the images here.

Before starting this I read they come with a very high vref setting, and it is recommended to start around 0.5v Vref. After measuring mine, I can confirm they come with a very high initial setting. Mine both came at 1,65v or so! - Yours might be different, which just underlines the importance of doing this.

Contrary to normal potentiometer usage, the ones on most copies/clones of DRV8825 are lowered by turning clock-wise, so that is what we will do, to we hit 0,5v on each. - A quarter of a full turn lowered it to 0,7v, - after that it goes very, very rapidly down, so aim for the quarter of a turn + a tiny tad more.
If you buy your DRV8825 directly from the Potentiometer are dialed up by turning it clock-wise:

From Pololu regarding their driver:

The current limit on all of our stepper motor drivers increases as the potentiometer is turned clock-wise.

Thanks to rpt007 for poiting out the different behaviour.

After fiddling alot I had mine around 0,6v and will give it a go before spending more time on this.

Step 3: Modifying the Firmware and Final Words

Modifying firmware

We also need to double the steps we have listed for the motors we just changed the Stepper Drivers on.

Fire up your Arduinio IDE, open the Marlin firmware and open the Configuration.h sketch*
* Each document is called a sketch, and is selected by clicking the different tabs.

Hit CTRL+F and write movement settings (be sure to have marked the "ignore case", or write with all capitals)

I'll recommend you save the original info on a new line with a preceeding double // to mark it as a comment. You can see I have comments on all my axes.

I assume you ran 1/16 on the affected axes, so you just simply need to double that number. Notice I kept comments on both the old and new one as I might want to change back at a later point, and because it is nice to know why my settings are as they are now.

I pointed out my resolution as well. As you can see it is very high, and I'm really never going to use that high resolution, but the noise should be lower, higher microstep-setting.

After you have entered the new values and written any comments you like, hit the Upload bottom (arrow pointing to the right).

I have seen some other guides which tells you to flip the wires, but that is really not needed. I do not know why they say that.

Further reading

If you want to read more on this subject, you can go here:

Links to the original Pololu pages:

DRV8825 Stepper Motor Driver Carrier, High Current
Old version: md20a:
New version: md20b:

Final Words

My printer is now doing its first print, and I must say I can't really tell the difference. Both the Z-axis and the Extruder motor is doing a great job at the 0,6v vref.
One thing about the DRV8825 is that they are supposed to run way cooler. Seeing as I have DRV8825 and TMC2100 Stepper Drivers only now, I can safely remove my actively cooling solution.

Update after a few days usage. - Verdict

I must say I'm a bit disappointed really. At first I didn't think there was any difference, but I experienced some high pitched whine from the Z-stepper. It always went away when it changed to a new layer, but it was not pleasant. The Extruder however became really noisy. I'm using a geared bowden extruder which multiply the problem, as it runs back and forth a lot; especially when making small intricate objects!

I didn't measure the temperature, but the new 8825 didn't seem to be running particularily cooler. Neither did my Silent Step Sticks. I know they can handle a lot more heat than I can handle on my fingertips, but I had expected something else..

I ended up putting back in my old A4988s and put my fan back on :)

Update 4. august 2016

I have found the issues I'm facing comes down to incompatibility with the motors I'm using and the DRV8825.. semms they just do not like each other.
I have changed the extrudre motor and now the 8825 behaves really nice. I've also changed Z-motor and instead of almost constant layer-whine it only does it now and again...

What I'm trying to say here: it is potentionally a nice driver, but as it is now I'll stronly recommend buying TMC2100 or one of it's newer version than DRV8825.. or at least start buying 1-2 drivers to test if they match your machine.

I now run a combination of TMC2100 on X and Y. A4988 driver on Z and a DRV8825 on extruder. Am going to change the 4988 for a TMC2100 as well. I just didn't have an extra.



    • Oil Contest

      Oil Contest
    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    21 Discussions

    Yes, you can, but it makes it more difficult making changes later on.

    Very intersting and useful. Just a comment about heat. I saw there were some discussions last year though! ........I found this on :

    Heat Consideration :

    The way the IC is designed, it wicks heat much better through the large pad on the underside than it does through the outside of the packaging. This means the heatsink is not actually in the ideal place to wick heat away, and the quality of the solder job underneath is extra important. .......................... Also using the same logic, it is more effective to blow cooling air under the board rather than over it, and brilliant design work on the RAMPS boards allows this quite easily.

    I am not an expert but just posted as extra info for Others. So I see it is not possible to put the heat sink under the drive but will try to direct air flow, from a fan, underneath if possible.

    I followed this instruction to install DRV8825 on a KOSSEL Delta printer. But the printer now is printing parts in 50% of the original size, though I doubled "Axis_steps_per_unit" in Marlin. Do you guys have any idea regarding this issue?

    1 reply

    Did you change the multistepping on hardware as well?

    What kind of drivers and controller did/do you have?
    Regardless of it being odd, you should just double it again :)


    1 year ago


    "Contrary to normal potentiometer usage, the ones on DRV8825 are lowered by turning clock-wise"

    This is not correct. It very much depends on what type of drv8825 you bought. It might be ok with clones (like the ones from GeeeTech), but if you are using an original drv8825 made by Pololu, then the current will be raised clockwise.

    3 replies

    I've never seen or heard of an 8825 working as you explained.

    Do you have a link explaining/showing this?

    I'm not saying you are wrong, I'd just like documentation :)

    I just looked it up at but couldn't see any mention of it.


    this is not documented but it's a fact. Pololu's DRV8825 are coming definitely with the CW increase; GeeeTec and other Chinese clones increase CCW. Of course the Chinese clones don't come with documentation ...

    But you can read about the different behaviour in the Arduino forum (

    Another source:

    Scroll down to the review part, where a buyer writes:

    "Good, cheap stepper drivers. Just make sure you calibrate them correctly. Counter Clockwise increases voltage. Clockwise decreases voltage."

    When something isn't documented it is hard to present it as a fact unless I have tried it myself.

    That aside, you really just proved my case with your "Another Source"... he explains just the behaviour I said they had, and the opposite of what you said.. he said <strong>Counter Clockwise increase voltage. Clockwise decrease voltage</strong>

    This really just corrobate what I wrote.

    I have not read the Arduino forum (not that part at least), but I emailed Pololu after my last response to clarify the matter and I got the following response:

    "Thank you for your interest in our stepper motor
    drivers. The current limit on all of our
    stepper motor drivers increases as the potentiometer is turned clock-wise..."
    I have edited my Instructable to clarify how the original and clones works.

    Thanks for the tutorial. It worked very well on my core-xy running Marlin firmware. Upgrading from 4988 to 8825 and going to 1/32 microstepping made a very big difference on my X & Y axis in terms of noise & accuracy. Not so much on the Z axis though.

    1 reply

    Thank you for your feedback.
    Glad you found it usefull. My small motors doesn't like 8825 and is actually rather quiet using 4988 while very noisy with 8825.
    TMC2100 is my favorite of the three though! :)

    Your problem is that you mounted the 8825 the wrong way

    You should put the heatsinks on the metal on the backside of the chip and mount that up. Then you get optimal cooling (cooling directly on the plastic of the chip is really bad way of cooling).

    8 replies

    I can see you removed the comment you JUST made about wrong heatsinks?
    I think you must be very confused because the search-link you posted shows that everyone is doing it the same way I do.

    Maybe you confuse the images of SilentStepSticks with DRV8825 drivers?

    I put heatsink on TOP like everyone else on the search you posted.
    Even if the heatsink should be below it, you just can not do it, as that pace is filled with pins/jumpers on RAMPS.

    Maybe you can do it differently on other boards, but not on Ramps.

    I can see you removed the comment you JUST made about wrong heatsinks?
    I think you must be very confused because the search-link you posted shows that everyone is doing it the same way I do.

    Maybe you confuse the images of SilentStepSticks with DRV8825 drivers?

    I put heatsink on TOP like everyone else on the search you posted.
    Even if the heatsink should be below it, you just can not do it, as that pace is filled with pins/jumpers on RAMPS.

    Maybe you can do it differently on other boards, but not on Ramps.

    I think you misunderstood something.

    While you are right that the way the heatsink is placed is not the optiomal placement, but there is not enough space between the driver and the 3 jumpers beneath the chip, so no way your suggestion can Work out.

    This is one reason why the Silent Step Sticks are such a vast improvement, as they actually desgined it with the chip Down and the heat-conducting material up top.

    The DRV8825 unfortunately is not designed to allow for optiomal cooling when running on Ramps with jumper-pins in place.

    I take it you havn't actually tried the DRV8825 nor the Ramps board, or?

    It is not optionally which side is up on the DRV8825 Sticks as the pins must fit in the plugs, in my case, on the Ramps board. Aside from that, the pins are presoldered, so I couldn't flip it in either case.

    I deleted a message of mine, as it might be interpreted negatively, which I did not intend.

    Which one of my problems should be caused by overheating, as I take it that is what you meant?

    Na have not tried the DRV only the silentsteptick. The temp difference was the only thing i tought would be fixed. Also what voltage are you running these at? some ppl have noticed the high pitch noices that you noticed on 12V but on 24V its gone.

    Regarding temps. I have active cooling on mine, so they are always very cool. Heating is not the problem.

    I use 12v. Standard Ramps without modifications. They didn't whine all the time, but was noticeable more noisy on the extruder and whined on some layers for my Z-axis.

    I figure the problem is something like this: but I really don't want to go down that road.

    I love getting inputs but It's a bad habit telling someone what is wrong without having tried it yourself. Make it a suggestion or an idea instead. Just food of thought.

    There is about 1-2mm clearance between pcb and jumpers below the board. Substract the height of the chip, and you get the maximum height of a heatsink if placed below the board, as you suggest.

    Even if you put such a small heatsink between the pcb and jumpers, there is NeXT to no airflow Down there, so it wouldn't do any good.