How to Configure Input Shaper on Your Klipper Printer for Less Ringing
Discover how to configure Input Shaper on your Klipper-powered 3D printer. This essential guide will help you achieve dramatically smoother prints by reducing unsightly ringing and ghosting artifacts.

You know that feeling, right? You just pulled off what you thought was a perfect print, maybe one of those intricate models from our ArtOpia Collections, or a custom piece for a client, and you hold it up. The details are crisp, the layers look decent… but then, BAM! You see it. That subtle ghosting, those faint ripples around sharp corners or embossed text. It’s like a phantom image, haunting your beautiful print. We call it ringing, or sometimes ghosting, and honestly, it can drive a perfectionist like me absolutely bonkers. Especially when you're trying to deliver top-notch quality for your business here in India.
For the longest time, I tried everything. Slowing down print speeds – which felt like a betrayal to the whole idea of 3D printing. Tighting belts till they sang a painful tune. Adding bracing to my Ender 3 Pro (yes, even a good ol' reliable Ender needs some love!). And yeah, some of it helped a little, maybe reduced it from a full-blown poltergeist to a mischievous whisper. But it was never truly *gone*. And that's the thing; if you're like me, constantly pushing your machines to deliver faster, higher quality prints, those vibrations are your arch-nemesis.
Then Klipper came into my life, and with it, a revolutionary feature called Input Shaper. Look, if you're still on Marlin and battling ringing, trust me, this is your sign to make the switch. It's a game-changer, plain and simple. Input Shaper, in a nutshell, is Klipper's super-smart way of anticipating and cancelling out those pesky vibrations that cause ringing. Instead of just slowing down, it intelligently "shapes" the motor commands to effectively dampen the resonance frequencies of your printer's frame. It’s basically like giving your printer a highly sophisticated anti-shake mechanism. And let me tell you, the difference is night and day. You can print faster, with significantly less ringing, and your prints will look so much cleaner, so much more professional.
Why Does Ringing Happen Anyway? The Physics of Frustration
Before we dive into the "how-to," let's quickly understand the "why." Imagine your print head zooming across the print bed. It’s heavy, right? Well, relatively speaking. When it suddenly changes direction, say from moving along the X-axis to suddenly shifting for a corner, that inertia – that tendency for objects to resist changes in motion – comes into play. The printer frame, the gantry, everything connected, starts to vibrate a little bit after that sudden jerk. These vibrations resonate through the machine, and because your nozzle is still extruding plastic during this vibration, those tiny movements get imprinted onto the molten filament, causing those visible ripples or "ghosts" on your print. It's like a tiny earthquake happening every time your print head makes a sharp turn. And the faster you print, the more pronounced these mini-earthquakes become.
Input Shaper works by identifying these specific vibration frequencies your printer makes on both the X and Y axes. Once it knows those frequencies, it can apply a counter-movement – a sort of predictive "anti-vibration" pulse – that smooths out the motion and reduces the ringing. It's brilliant, honestly. And it means you don't have to sacrifice speed for quality anymore, which for a small business like ArtOpia Collections, is a massive win.
Getting Started: What You'll Need
Alright, so you're convinced. Great! Here's what you'll need to configure Input Shaper:
1. Klipper Firmware (Duh!)
This is non-negotiable. Input Shaper is a Klipper-specific feature. If you're not on Klipper yet, there are tons of guides out there to help you flash it. It’s a bit of an undertaking if you've never done it, but totally worth it. Trust me, once you're on Klipper, you'll wonder how you ever lived without it. The flexibility, the speed, the control... it’s amazing.
2. An ADXL345 Accelerometer Module
This is the heart of the operation. This tiny little sensor measures the vibrations of your printer. You can find these quite easily online. I picked up a couple from Amazon.in for around ₹400-₹600 a piece, and they've been solid. Just make sure it's the ADXL345 – there are other accelerometers, but this is the one Klipper uses. You can grab one like this: ADXL345 Accelerometer Module.
3. Jumper Wires and a Way to Mount It
You'll need some female-to-female jumper wires to connect the ADXL345 to your Raspberry Pi (or directly to your mainboard if it has spare SPI pins, but honestly, Pi is easier for most). And for mounting, you need to firmly attach the ADXL345 to your print head. I usually just print a simple mount – there are plenty of designs on Thingiverse or Printables. The key is that it needs to be *rigidly* mounted. No wobbly bits, no tape that might peel off, nothing that will introduce its own vibrations. It needs to become one with your hotend assembly, temporarily.
Wiring the ADXL345: Don't Be Scared, It's Not Rocket Science
Okay, this might sound intimidating, especially if you're new to electronics, but it's really not too bad. We're connecting the ADXL345 to your Raspberry Pi's GPIO pins. The ADXL345 uses the SPI (Serial Peripheral Interface) protocol, which is basically a fancy way of saying it communicates quickly over a few dedicated wires. Most modules have labels like VCC, GND, SDA, SCL, SDO, CS. We're interested in:
- VCC: Connect to a 3.3V pin on your Pi.
- GND: Connect to any GND pin on your Pi.
- SDA (MOSI): Connect to Pi's MOSI (GPIO10).
- SCL (SCK): Connect to Pi's SCLK (GPIO11).
- SDO (MISO): Connect to Pi's MISO (GPIO9).
- CS (Chip Select): Connect to Pi's CE0 (GPIO8).
I know, lots of acronyms! But if you look up a Raspberry Pi GPIO pinout diagram, you'll see these labeled clearly. Just take your time and double-check your connections. A wrong connection usually won't break anything, but it won't work, and you might get frustrated. Once connected, a quick reboot of your Pi is a good idea.
Software Setup: Getting Klipper Ready
Now for the fun part – telling Klipper about our new vibration-sensing friend!
1. Enable SPI on Your Raspberry Pi
First, you need to make sure SPI is enabled on your Pi. SSH into your Pi (using PuTTY or whatever you prefer) and type: sudo raspi-config. Go to "Interface Options" -> "SPI" and enable it. Reboot your Pi after this.
2. Install Python Libraries
Klipper needs a couple of Python libraries to talk to the ADXL345. Still in your SSH terminal, run these commands:
sudo apt update
sudo apt install python3-pip
pip3 install numpy
Sometimes numpy takes a little while to install, especially on older Pi models, so grab a chai while it works its magic.
3. Configure printer.cfg
Now, open your printer.cfg file (you can do this via Fluidd or Mainsail web interface). Add the following section:
[adxl345]
cs_pin: rpi:gpio8
spi_bus: spidev0.0
# For ADXL345 with alternative address (e.g. if you have two on one bus)
# If using single ADXL345, the above is fine.
# You might need to adjust spi_speed for some modules, but 5000000 is usually fine.
A quick note on cs_pin: if you connected to CE1 (GPIO7) instead of CE0 (GPIO8), you'd use rpi:gpio7 and spi_bus: spidev0.1. Most guides use CE0, which is `rpi:gpio8` and `spidev0.0`.
Next, we need to tell Klipper where the accelerometer is mounted. This is crucial for accurate measurements. Add this:
[resonance_tester]
accel_chip: adxl345
probe_points:
100, 100, 20 # A typical print area coordinate - adjust for your bed size
The probe_points should be somewhere near the center of your build plate, at a reasonable height (20mm is usually good). This is where the measurements will actually happen.
Save and restart Klipper. Check your console for any errors. If it restarts without a fuss, great! If you see errors about the ADXL345, double-check your wiring and the [adxl345] section in your config.
Calibrating the Accelerometer (Offset)
Before we measure resonances, it's good practice to calibrate the accelerometer's offset. With the print head in a stable, stationary position (ideally with the printer off, but Klipper connected), run this command in your console:
ACCELEROMETER_QUERY
You'll get output like: adxl345: x,y,z = -32.0, 64.0, 1000.0. The Z value should be close to 9.8m/s² (which is around 10000 for ADXL345 as it uses mg units - so 1000 is okay). The X and Y should ideally be close to 0. If they aren't, you can add an axes_map to your [adxl345] section to correct for it, but for most purposes, if Z is close to 1000 and X/Y aren't wildly off, you're fine for Input Shaper.
Measuring Resonances: The Big Moment!
Okay, the moment of truth! Make sure your printer is clear, the ADXL is firmly mounted, and no one is going to bump your printer during this. It's going to move quite aggressively. In your Klipper console, type:
TEST_RESONANCES AXIS=X
Your print head will start moving back and forth rapidly along the X-axis, increasing speed gradually. It's a bit unsettling at first, but it's perfectly normal. Once it finishes (it might take a minute or two), you'll repeat for the Y-axis:
TEST_RESONANCES AXIS=Y
Now, Klipper has collected a bunch of raw data. It saves this data in CSV files in your Pi's home directory (~/klipper_config/). But we don't need to look at those raw files. Klipper will process them for us.
Processing and Applying Input Shaper
After running both X and Y tests, it's time to let Klipper crunch the numbers and recommend the best Input Shaper settings. Run this command:
SHAPER_CALIBRATE
This command will analyze the resonance data from both axes and suggest the optimal input shaper type (e.g., mzv, ei, 2hump_ei, etc.) and its frequency. It will output something like:
Attempting to find best shaper for X axis
Recommended shaper_type_x = mzv, shaper_freq_x = 75.2 Hz
Attempting to find best shaper for Y axis
Recommended shaper_type_y = 2hump_ei, shaper_freq_y = 52.8 Hz
These are your golden numbers! The shaper type and frequency are unique to your printer's vibrations. Every printer, even two identical models, will have slightly different resonance frequencies due to manufacturing tolerances, how tight your belts are, where it sits, etc.
Now, we add these recommendations to your printer.cfg. Go back and add this section, replacing the example values with your own:
[input_shaper]
shaper_type_x: mzv
shaper_freq_x: 75.2
shaper_type_y: 2hump_ei
shaper_freq_y: 52.8
Save and restart Klipper. And that's it! Input Shaper is now active!
Testing and Fine-Tuning
The proof is in the pudding, right? Or in this case, in the print. Print a test cube with some sharp corners and embossed text. I usually print a simple 20x20x20mm cube with "X" and "Y" on the sides to easily compare axes. Use the same speeds you were having ringing issues with before. And then, hold your breath and look at the results.
In my experience, you’ll see a massive improvement. Those ghosting artifacts that used to drive me crazy? Well, not *completely* gone, but darn close! They're often reduced to barely perceptible whispers, even at higher print speeds. This means I can confidently push my printers to speeds of 100-120mm/s for infill and perimeter, where I used to struggle to hit 60-80mm/s without significant ringing. This directly translates to faster turnaround times for customer orders and more efficient production for my ArtOpia Collections store.
Sometimes, you might want to experiment. Klipper allows you to manually set shaper types (like mzv, ei, 2hump_ei, 3hump_ei, zvd, mzv, zvd_ei, ei2) and frequencies if you want to dig deeper. You can temporarily change them in the console with commands like SET_INPUT_SHAPER SHAPER_TYPE_X=mzv SHAPER_FREQ_X=70 and test a print. But honestly, Klipper's SHAPER_CALIBRATE usually gets it spot on for 99% of users.
Some Pro-Tips from My Printing Desk
- Mounting is Key: I can’t stress this enough. If your ADXL345 is wobbly, your readings will be inaccurate, and Input Shaper won't work its magic properly. Make sure it's snug and secure on your hotend carriage.
- Re-calibrate After Major Changes: If you significantly modify your printer – new hotend, different linear rails, major frame adjustments, or even just replacing belts – it’s a good idea to run the resonance tests again. These changes can alter your printer's vibration characteristics.
- Consider Filament Quality: While Input Shaper fixes mechanical issues, it won't fix poor filament. Even with perfect Input Shaper, cheap, inconsistent filament can give you headaches. I’ve found good quality PLA from brands like eSun, Overture, or local Indian suppliers like 3DPrintronics or MakeMend works wonders. You can find some good options here: High-quality PLA filament on Amazon.in.
- Firmware Version: Always keep Klipper updated. New versions often bring improvements, including to Input Shaper algorithms.
My Business, My Quality, My Pride
Running ArtOpia Collections, every print that goes out the door is a reflection of my passion and commitment to quality. Before Input Shaper, I often had to choose between speed and print quality, especially for our more intricate designs or custom orders where precision is paramount. That meant longer print times, lower throughput, and sometimes, a little bit of anxiety before handing over a finished piece.
Now, with Input Shaper configured on all my Klipper machines, I can confidently print at speeds that would have caused havoc before, knowing the ringing will be minimal. This not only makes my prints look professionally crisp but also significantly boosts my productivity. Imagine printing two parts in the time it used to take for one, with superior quality! It’s a massive advantage in a competitive market.
Go On, Give It a Shot!
If you're a Klipper user and you're still battling ringing, I truly, truly urge you to give Input Shaper a try. It might seem like a bit of a technical hurdle at first, with the wiring and the commands, but trust me, the results are incredibly rewarding. The peace of mind, the improved print quality, and the ability to push your printer to its limits without compromise – it’s all worth it.
Don’t be afraid to experiment, and if you get stuck, the Klipper community (on Discord, Reddit, etc.) is super helpful. We’re all in this journey of making amazing things with plastic, one layer at a time. And with Input Shaper, those layers are going to look absolutely stunning. Happy printing, my friends!


