I actually have Marlin + Octoprint but found out recently that Klipper exist. I read everywhere that Klipper is better but I don’t really get why. I understand that Klipper use raspberry as powerfull calculator instead of the STM32 of the printer, but octoprint is used to send Gcode to Marlin too… So what’s the really difference please?
Edit : I don’t understand how Klipper or Marlin can give better results when gcode and instructions are generated by Cura
Don’t listen to anyone that tells you a machine is fast because it has Klipper. Marlin has just as much capability to go fast as Klipper does. They both simply use different methods of doing so.
Klipper does all of the motion calculation on the CPU, whereas Marlin typically does it on the microcontroller, but also has options for doing it on the CPU as well.
Many people who don’t have the technical knowledge or experience will tell you that you need Klipper to go fast, but you don’t. They’re just two different firmware ecosystems that operate slightly different than one another. Klipper keeps all the configuration at a high level, Marlin keeps a lot of its configuration at a low level, built into the firmware.
Largely this means Klipper is easy to tinker with, change, and simply reboot without having to flash new firmware, whereas Marlin you’ve gotta recompile in order to get the new firmware flashed and changes made.
There’s too much misinformation in the 3D printing communities and I’m hoping that people won’t spread the same bullshit over here as they do on reddit; where you see someone that looks like their 3D printer was hit with a boulder, and all the comments are “you need to dry your filament”.
IF you want Marlin to operate like Klipper, you can use the option DIRECT_STEPPING and https://github.com/colinrgodsey/step-daemon in order to do so. Additionally, since Klippers ecosystem typically is using something like KlipperScreen as a UI (Marlin has ITS options for nice UIs as well) - lots of people simply prefer that UI.
Additionally, the reason for the misconception is mostly that Cura simply generates movement commands, and it’s the firmware that dictates how the motors accelerate/decelerate, any kind of ringing compensation, etc. So Cura can say “Go to X200 at 12000mm/s”, it’s the firmware that decides the parameters how to do that. There’s a lot of different strategies for achieving this, S curve acceleration, trapezoidal, etc. Each firmware, and it’s distinct implementation can be more robust against steppers skipping depending on which implementation is chosen, or how well it has been implemented – or even just simply configured.
Since there’s a lot of people using Klipper on their fast machines, it’s also a lot easier for people to copy these results. Inevitably you get people kind of following the group, because they saw a video…and told their friends who saw the video, then made their own videos, and there’s a mass of people who then have become disconnected from the information and think that’s the only way to do it.
I have been testing the marlin input shaper. One thing I wish it had was the ability to monitor the vibration instead of the arbitrary calibrated eyeball choosing what part of the test print looks the best.
Especially since many in the 3D printing community have miscalibrated eyeballs.