Marlin Input Shaping, My Sovol SV06, and My Twenty-Minute Benchy

| Comments

I am not even close to the end of this journey. I haven’t even decided where this journey is going to end. I installed Michael Hill’s Marlin build with input shaping on my Sovol SV06 last night. I farted around with settings. I ran some test prints. I had a reasonably clean Benchy print today in less than 22 minutes.

Sovol SV06 21-minute Benchy

NOTE: Cooling was my biggest issue with the other ugly Benchy that I am leaving in for the rest of the photos. I ran the exact same gcode again with 2-year old blue Hatchbox filament, but this time I pointed a huge fan at the printer. The curling in the rear corner went away, and the overhangs on the hull printed really nicely this time!

I have done so many things wrong, and I am ignoring the SpeedBoatRace rules. My Sovol SV06 is running a 0.6 mm CHT-style nozzle. I am printing with a layer height of 0.24 mm with infill combined every second layer.

I am just absolutely amazed that I can ALMOST print a Benchy in 20 minutes on a nearly unmodified $169 3D printer. All it took was flashing some firmware, installing a $2 0.6 mm nozzle, and pointing a huge fan at the printer. The firmware and the fan are quite necessary, but I am not pushing the 0.6 mm nozzle very hard here. I bet the Benchy would print nearly as fast with the stock 0.4 mm and the same speed settings.

I would like to be able to tell you how to successfully get input shaping going, but I am not there yet. I don’t think I am doing a good job yet, but I do feel like I have to write down what I have done so far.

I made certain to set up the lights for the Benchy photos to be as harsh as possible to show off every layer line, every imperfection, and every problem. I don’t want to make you think these look better than they actually do, though I will say that they look much more acceptable in person when you are holding them!

What am I doing wrong?!

I am not just ignoring the rules of the race. I am not participating in the race, and I don’t care about printing with 0.2 mm layers.

I did my best to print the input-shaping test part. You have to carefully adjust all sorts of slicer settings, and some custom layer-change gcode SHOULD slightly tweak the input shaping settings from layer to layer. I am quite certain that I did something wrong. My test print came out looking pretty much the same from top to bottom.

Sovol SV06 Twenty Minute Benchy

So I did what anyone who has no idea what they are doing might have done. I picked the height that kind of, sort of, maybe, possibly looked cleaner than the rest. I did the math, and I punched those numbers in for the input shaping frequency. Then I went on to run test prints.

My suspicion is that just enabling input shaping and setting the frequency to something that isn’t ridiculously incorrect makes a huge difference on its own. I know what a resonating printer sounds like. My old Makerfarm printer used to rock the table around when printing infill fast. I don’t hear anything from the Sovol SV06 that sounds remotely like I did on that old printer. It just sounds fast.

What am I doing right?!

I cranked up acceleration and speed settings. I started at around 120 mm/s with 3,000 mm/s2 acceleration, but I wound up going as far as 160 mm/s with 5,000 mm/ss acceleration.

After some successful but ugly Benchy prints, I cranked out a few small Gridfinity bins with a 0.48 mm layer height. These don’t even come close to pushing the printer to its limits. I had 273 mm/s set as the maximum volumetric speed in PrusaSlicer, and that kept the print head moving quite slowly.

Sovol SV06 21-minute Benchy

I also learned that my extruder can’t manage 273 mm/s. I backed that off to 213 mm/s, and I got much cleaner layers on the bin. I will probably try pushing that up a little higher, but 16-minute 1x1x3 Gridfinity bins seem pretty good to me.

Am I doing anything else wrong?!

I am not doing a good job keeping track of print times. When I printed a 24-minute Benchy last night, I noted that it took about 2 minutes for the printer to heat up and check the tramming of the bed, so I just subtracted 2 minutes from Octoprint’s numbers.

I sliced up a simple 18650 battery sleeve today. PrusaSlicer said the whole thing would be cooking at 140 mm/s, but I noticed that the print was really jittery. Sort of like it was pausing and restarting quite a few times on every curve.

Sovol SV06 Twenty Minute Benchy

I stopped the print to click the arc welder button in Octoprint. This converts dozens of small line segments into arc commands. This means fewer lines of gcode have to be pushed over the serial port to print the same part. This improved the print quite noticeably!

That is when it hit me. Were my problems with last night’s Benchy prints caused by the slow USB serial connection? I copied last night’s gcode to an SD card, and I printed it locally.

That brought my 24-minute Benchy down to 21:38 by the stopwatch. Not only that, but this is the cleanest Benchy I have printed in the last 24 hours.

My 21:38 Benchy is far from perfect!

There are definitely cooling issues. I am running the popular 5015 part-cooling fan upgrade. I only have the single fan, but I am running it at 100% speed.

The front corner of the hull comes out quite lumpy, even though PrusaSlicer is likely slowing that part down to 20 or 25 mm/s. Is my cooling inadequate? Are the wide layers from the 0.6 mm nozzle making this overhang a challenge? It is probably a little bit of both.

The rear of the Benchy facing the front of the printer was curling during the print. It is quite obvious in the photo. The opposite corner printed quite well.

Why Marlin input shaping instead of Klipper?

Klipper is expensive. Maybe. You can add one of those Klipper screens that you can get for around $120 from Creality, but why would I want to add $120 in hardware to a printer that I bought for $169? Klipper would for sure let me squeeze every last drop of performance out of the Sovol SV06, but I don’t want to work hard. I want to grab an easy win.

Marlin’s input shaping was just a firmware upgrade away. I don’t have to squeeze all the toothpaste out of this tube. Doubling my print speed would be fine, and for the most part, it sure seems that I am going to run out of heat in the extruder before I get to the end of the road with Marlin’s input shaping.

Ghosting on the Sovol SV06 with Input Shaping

NOTE: I print the agepbiz cube to check for ghosting. The print seems free of ghosting, but it has a defect on the layers where there are solid layers for the floor and ceiling of the articulated cube’s interior.

I was already pushing my Prusa MK3S and Sovol SV06 to 2,500 mm/s2 acceleration and speeds of 140 mm/s, but I only reach those numbers on infill. I have perimeters set slower, and I have external perimeters down at 70 mm/s with 1,500 mm/ss acceleration.

Here’s what I figured. If Marlin’s input shaping was capable of just letting me keep the faster speeds I was already running while improving the print quality to be more in line with Prusa’s stock profiles, then I would be quite happy. If I could get external perimeter speeds matching my infill speeds, that would be a huge win!

I am already doubling the acceleration, and doubling my old external perimeter speeds. I am running out of capacity to melt plastic, and I am already at the limits of my cooling. I don’t need to go faster, so I don’t need Klipper.

Maybe I do need Klipper?!

Having to print from the SD card is goofing up my plans, and it might really gum up my workflow. I rarely open Octoprint. I just hit the upload-and-print button in PrusaSlicer, and more often than not, everything just goes smoothly.

The SD card functionality in Octoprint was being stubborn. I enabled it, it didn’t want o see the SD card. I pulled the SD card out of the Sovol SV06 to sneakernet the Benchy gcode over to the printer, and then the next time I looked, the SD was available in Octoprint. Go figure.

It is almost not an exaggeration to say that it takes longer to upload gcode to the SD card than it takes to print the same object. The serial port can’t keep up during a print, but there are also two minutes of waiting around for the printer to heat up and run a bed probe before each print.

My Octoprint server has more than enough horsepower to run Klipper for a small fleet of 3D printers. Maybe Klipper would solve all my problems. Maybe. I feel like it will also create all sorts of fresh problems!

My Prusa MK3S just became obsolete

I was thinking about setting up input shaping on the Sovol SV06 from the minute I placed my order, but I have been putting it off.

I have been running the same PrusaSlicer settings for my Prusa MK3S and my Sovol SV06. I send most jobs to the Prusa, because it is so much quieter, but I sometimes choose the printer that happens to have the correct color filament loaded. I didn’t have to think about which printer needed which settings. They were the same.

Now they are not. I have to choose a profile with 5,000 mm/ss acceleration for the Sovol, and I have to choose a slower profile for the Prusa.

The gap between the printers is only going to get wider. I am sure I will figure out how to correctly print the input shaping tuner next week. It is only a matter of time before I don’t want to use the Prusa ever again.

You can run Marlin on the Prusa’s Einsy board, but it seems like a bit of a hack, and it throws away some of the things that make the Prusa MK3S a Prusa printer. I am considering the idea of selling the Prusa MK3S and maybe putting a Sovol SV06 Plus in its place.


I am absolutely amazed that Marlin’s input shaping works so well even though I more than likely just completely made up the frequencies to use for the X-axis and Y-axis. I am sure it isn’t living up to its full potential, but I haven’t heard any significant resonance out of the printer. Does input shaping make this big of a difference just being enabled, or did I luck out and choose an appropriate value?

I am not exactly sure what I will be doing next. Probably just using my Sovol SV06 to print things for now. I hate printing calibration objects over and over again. I would much rather print things I may actually use! I am tempted to just dial everything back by about 20% and roll with it.

What do you think? Have I made good progress in my dozen hours with Marlin’s input shaping, even though I slept through eight of them? Am I a fool for skipping Klipper? Is it OK that I haven’t caught up to Brian’s Bambu X1C? Are you using input shaping on your Sovol SV06? Why aren’t low-end printer manufacturers shipping with Marlin input shaping preconfigured? Let me know in the comments, or stop by the Butter, What?! Discord server to chat with me about it!