3DPrinting
3DPrinting is a place where makers of all skill levels and walks of life can learn about and discuss 3D printing and development of 3D printed parts and devices.
The r/functionalprint community is now located at: !functionalprint@kbin.social or !functionalprint@fedia.io
There are CAD communities available at: !cad@lemmy.world or !freecad@lemmy.ml
Rules
-
No bigotry - including racism, sexism, ableism, homophobia, transphobia, or xenophobia. Code of Conduct.
-
Be respectful, especially when disagreeing. Everyone should feel welcome here.
-
No porn (NSFW prints are acceptable but must be marked NSFW)
-
No Ads / Spamming / Guerrilla Marketing
-
Do not create links to reddit
-
If you see an issue please flag it
-
No guns
-
No injury gore posts
If you need an easy way to host pictures, https://catbox.moe/ may be an option. Be ethical about what you post and donate if you are able or use this a lot. It is just an individual hosting content, not a company. The image embedding syntax for Lemmy is ![](URL)
Moderation policy: Light, mostly invisible
view the rest of the comments
gcode only contains high level instructions, e.g. "move 10mm on the X axis", which the firmware has to convert this to electrical pulses that can be sent to the stepper motors. If this is done naively the hardware wouldn't be able to follow the instructions due to inertia, filament viscosity, etc. Both firmwares have several methods to deal with this, but afaik Marlin does not have anything that does the same as Klipper's input shaper. Marlin has "linear advance" while Klipper has "pressure advance" which both try to solve the same problem but have different algorithms and you calibrate them differently. Using Klipper with calibrated input shaper will probably allow you to print faster than Marlin at an equivalent quality level.
Another difference is that all Klipper configuration goes into a text file, and you just restart Klipper to reload it. To change some settings i Marlin you have to re-compile the entire firmware and flash it.
Marlin's G29 command has different syntax depending on which ABL algorithm the firmware was compiled with, which IMO makes it more difficult to help other people who didn't compile their own firmware (i.e. who don't know which ABL algorithm their Marlin has).
Thank you for the explanation!
Found out just now that Marlin finally got input shaping: https://marlinfw.org/docs/gcode/M593.html
There's however a risk that you have to compile your own firmware if you want to enable it. Definitely not impossible if you know your way around computers, but editing Marlin configs can be quite daunting. Not that installing and configuring Klipper would be trivial for a computer illiterate person, but over all I've found it much easier to work with. I used Marlin for about a year, including compiling my own version of it, before switching.
For me the biggest disadvantage with Klipper is that I haven't got around to printing an enclosure for the RPi so it's just sitting on the desk next to the printer, and it's not compatible with the E3v2 display so I have to use Mainsail on my phone if I want to control the printer from the same room. I could of course buy a proper touch screen and run KlipperScreen, but they're a bit pricey.
I've been looking into using an old Android phone as a display/control screen. The only thing holding me back is that my spare device (Note 4) doesn't have pass-through charging and won't run off a charging cable without the battery installed. This can be bypassed by attaching a couple wires to the pins where the battery connects but I've been too busy with other stuff to do it.
Might be an option for you if you have one laying around. Many newer phones can run without a battery just fine.
There is an add-on that lets the E3v2 screen work with klipper. I have it working and while the feature set is a bit limited its enough to see the print status and start a new print (among other things). You just need to run 7 wires from the screen to the GPIO pins on the pi. I used a front panel cable from an old PC case to accomplish this. Check it out!
https://github.com/GalvanicGlaze/DWIN_T5UIC1_LCD/wiki
Ah, nice! I started implementing the same thing a long time ago but got bored making all the UI screens after I had coded the basics :)