Using TL Smoothers For Better 3D Prints

Some 3D printers will give you prints with surfaces resembling salmon skin – not exactly the result you want when you’re looking for a high-quality print job. On bad print jobs, you can usually notice that the surface is shaking – even on the millimeter scale, this is enough to give the print a bumpy finish and ruin the quality of the surface. TL smoothers help with evening out the signal going through stepper motors on a 3D printer, specifically the notoriously noisy DRV8825 motor drivers.

Analyzing the sine wave for the DRV8825 usually shows a stepped signal, rather than a smooth one. Newer chips such as the TMC2100, TMC2208, and TMC2130 do a much better job at providing smooth signals, as do cheaper drivers like the commonly used A4988s.

[Fugatech 3D Printing] demonstrates some prints from a D-Force Mini with an MKS Base 1.4 smoother-based control board, which is easier to use and smarter than Marlin. On the two prints using smoothers, one uses a board with four diodes, while the other was printed with a board with eight diodes. [Mega Making] compares how the different motor drivers work and experimentally shows the stuttering across the different motors before and after connecting to the smoothers.

The yellow and pink traces are the current for each phase of the motor. The blue and green traces are the voltages on each terminal of the phase with the yellow current. [via Schrodinger Z]
A common problem with DRV8825 motors is their voltage rating, which is lower than most supplies. When a 3D printer is moving slower than 100mm/min, the motor is unable to move smoothly.


[Schrodinger Z] does a bit of digging into the reason for the missing microsteps, testing out different decay modes in DRV8825s and why subharmonic oscillations occur in the signals from the motor.

The driver consequently has a “dead zone” where it is unable to produce low currents. Modifying the motor by offsetting the voltage by 1.4V (the point where no current flow) would allow the dead zone to be bridged. This also happens to be the logic behind the design for smoothers, although it is certainly possible to use different diodes to customize the power losses depending on your particular goal for the motor.

Debugging signal problems in a 3D printer can be a huge headache, but it’s also gratifying to understand why microstepping occurs from current analysis.

[Thanks Keith O for the tip!]

15 thoughts on “Using TL Smoothers For Better 3D Prints

  1. Correction: “MKS Base 1.4 smoother-based control board” should probably read “MKS SBase 1.3 Smoothieware-based control board”. He does say “SBase 1.4”, but there’s no such board.

  2. This behavior (banding of the side profile when used with a linear delta 3D printer) of the DRV8825 stepsticks is especially apparent when you attempt to run higher voltages (>19v), or you are running higher inductance steppers (large Nema 17/small Nema 23 steppers). If you happen to want to do both of these things, you are out of luck.

    However, there is an alternative fix with acceptable results as long as you are *not* pushing the limits too hard, and are using genuine Texas Instruments chips. The knockoffs I have tried didn’t actually improve…

    You can switch the decay mode of the driver by shorting a pin. This *will* result in additional audible noise while holding station between steps for microstepping, but it will also eliminate most of these artifacts without the need to add additional hardware.
    If you want to bump up against the limits of what these drivers can do though, adding the diode bridge referenced here seems to be required.

  3. Yeah, recently had to change my board from original anet to something new, so hey, those drv’s have a little higher price, so maybe they are better, right? Well, my calibration cube looked like when you have sync problems on analog tv. Changed to allegro (whole $0.5 cheaper) and print is ideally smooth and steppers a little cooler. No more drv’s for me, it’s not worth the effort.

      1. Elaborate about what? I’ve accidentally fried temp sensor inputs on original anet a8, removed old board, bought re-arm+ramps 1.6, flashed marlin 2.0 and tweaked until it worked. Somehow drv drivers had problems with keeping position within full step, that was visible as semi-random layer shifts in calibration cube. The only thing changed was from DRV8825 to A4988 on x and y axes (plus change in firmware config) and my calibration cube was as perfect as I could expect. Both drivers were from the same online store in my country.

  4. Why the hell are people still talking about step smoothing from 2 years ago or more when we have 32bit boards with TMC stepper drivers on them that are cheap and getting cheaper. Ya’ll have beat this horse to death. Especially since the guy who actually did the initial testing even admitted the design that people jacked was flawed. He never intended the 4 diode version to be the solution and there is no point in paying for the 8 diode version either. Some chinese company jacked the design and then a bunch of people who didn’t bother to google the original article started throwing their two cents in. Not to mention nobody talks about the heat loss that doesn’t get taken care of in any design. We don’t need anymore debunking videos. We just need people to stop suggesting it as a solution. The real solution is to get a board with better drivers.

        1. you do not have to throw out your printer and they have replaceable drivers. just check out the skr 1.3. you get to choose your drivers. you can replace them. you do not need to just throw out that old 3d printer. and it really is not a whole lot more than the smoothers to begin with. the 32bit solution is the way to go IMHO

          1. Not everyone wants to open up the controller box and change out all the connections to a new board. Heck not everyone is capable of it even if they DO want to. They should have designed these cards where they slot into something like a pci slot and then the average joe could handle a board swap.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.