Pololu’s DRV8825 - not quite the revolutionary driver i was hoping for
Tl;dr: Stick with A4988-based ones.
I got all excited when i saw the DRV8825-based stepper drivers coming up - they offered up to 2.5A at 45V with smaller losses than the usual A4988, possibly making them suitable even for larger Nema23 motors. They have 32x microstepping and are supposedly pin-compatible with the A4988. All in all, it sounds like a very nice driver and so i ordered some from @Pololu_Robotics_and with a large “early testers”-discount. Huge +1 to them for the offer and the super-fast shipping (two days from the US to Germany).
The machine i’m using is a Mendel90 configured with 18mm plywood, 12mm rods, 15mm HTD-3M belts, 0.48Nm 2.5A motors and a build envelope of (xyz) 400x200x200mm.
I was super excited to try these and swapped my XYZ drivers for the new ones. Pololu reminds you about this, but i forgot that the !Sleep pin works differently on the new drivers - it’s not pulled on the drivers, so on a typical RAMPS board the drivers will do nothing unless the !Sleep pin is somehow pulled up externally. I decided to add a pullup on the driver itself, which required some finicky soldering.
That got the chips running, but not for long until i shut the whole machine off again. The problem this time round was noise - lots of it. I’m 21 years old, so i guess my hearing at higher frequencies is still a bit better than that of a typical electrical engineer, but i doubt they’d miss a noise this annoying. When the steppers were idling, they gave off a loud high-pitched noise that probably resulted from the 30kHz internal PWM of the DRV8825 getting halved to a 15kHz noise. Even if you can’t hear it yourself, it will probably drive your cats / dogs /children insane.
With some more soldering i put the driver from mixed decay into slow decay mode (fast decay only made the noise worse), which fixed the idle noise, but made the drivers annoyingly loud when moving - no matter what current i set, i assume it somehow messes up microstepping. Still better than the high-pitched idle noise, but loud enough to restrict my printing times to the daytime since the printer was now audible throughout the whole house (mind you, this is a solid brick and concrete-built home, nothing like the typical American wood and drywall houses).
Another issue when combining a RAMPS / Arduino Mega with these drivers is the 32x microstepping. The same configuration the yields 16x microstepping on a A4988 gives you 32x microstepping on the DRV8825. While 32x microstepping should give you a smoother running stepper, those high step rates are too much for an Arduino Mega to keep up. So instead of running faster, the Arduino will choke and slow your machine down unless you go back to 16x microstepping.
While they were running cooler than the A4988s, just a fan blowing over the chips was not enough to keep the chips from overheating at 2.5A. One solution to cool the all-important thermal pad (which not-so-smartly resides on the bottom of the board) was to add longer “pin headers” made from stripped wire, allowing the cooling fan to blow over the underside of the board. On another board, i soldered a makeshift copper heatsink made from stripped mains wiring to the bottom pad. Both solutions were enough to keep the drivers cool with a fan blowing over them, so those two drivers glued onto the that aluminum heatsink would probably work without a fan. They did supply enough current to get my motors up to 120°C (250°F) after an hour of printing, which was way too hot. I’d have to either add a fan (not so nice for printing ABS in a cool environment like my basement) or somehow add heatsinks.
Just today i switched back to the A4988s, which don’t offer that much less performance, but run much quieter and “just work” without requiring SMD soldering skills in e.g. a RAMPS. Once you add heatsinks to the A4988, they are very reliable and quiet drivers, not to mention that a StepStick costs half as much as a DRV8825-based board.
While the DRV8825 does manage higher current levels that the A4988, and i could have lived with having to modify the driver, the annoying noise levels killed the DRV8825 for me.



Since it has a larger build envelope than usual, the y-carriage is rather heavy at almost 1.5kg, the x-carriage clocks in at half a kilogram. I can achieve “regular” printing speeds with the y-axis and 250mm/s, 8000mm/s², 20 jerk on the x-axis. On each of the four printers i’ve built so far i’ve needed heatsinks to get up to sane printing speeds, using different motors on each printer.