Klipper on the Primo

Currently using skr pro + LCD, rpi3B+, and octoprint and marlin.

Current MPCNC user. I am curious in learning more about switching to klipper after using it with the MP3DP. I like it a lot for 3d printing and I’m learning how to configure and customize it. I see @MarkC mentioned this back in October.

What are the challenges / pitfalls of making this change?
Has anyone used both Marlin and Klipper on their MPCNC willing to discuss their experience?

You can definitely do it. A CNC machine is really just a 3D printer without an extruder. A lot of the neat klupper features, like ludicrous speed, input shaping, linear advance won’t help you. But I think G92 still does. I can’t remember if it treats G0 the same as G1 like Marlin does or not.

At any rate, you will have an adventure. It isn’t well trodden. But it should work fine.

I do run my ZenXY on Klipper and wouldn’t see how it can’t work for a MPCNC, since it can be bent to your needs in all directions… I have certainly not hit a point where I couldn’t think of how to do it. Best of luck, let us know how it’s going :slight_smile:

Been chatting with the developer for this. It’s fairly straight forward as far as setup, I’m not sure how familiar you are with setting up your printer.cfg but his work is essentially “add on” macros that will clean up grbl/marlin style gcode into something that klipper can work with (since klipper isn’t an option in any CAM software I’ve seen).

But workflow is pretty easy, home machine, jog to your workspace origin, set your workspace origin, move to safe Z turn on router and send your gcode. I haven’t tried his latest release so not sure if he included my safe Z button but that’s an easy add.

No real issues that I can think of, it’s been really nice to be able to update config on the fly and not need to reflash, one of the things I love about Klipper. Mainsail is great to use too. I’ve got a Discord if you’re interested in chatting conversation style about it, but if not I’ll keep an eye on this thread to help where I can!


That is a really great feature of the design of klipper. That would not be possible with most other firmwares. The pi/mcu breakdown makes this simple and awesome.

And I actually just swapped from an old mcu and pi to a Manta M5P with CB1 on it. Super clean one board design with everything I need and room for more. Digging it so far!

With several raspberry pi 3’s that run klipper just fine paired with a reasonable 3.5" touch screen I have found, it should work well for this along with an 8" tablet. The BTT 3.5 TFT won’t be needed. I’m slowly gathering / printing parts to replace cracked pieces, print more cable chain and be ready to reconfigure the wiring and refresh the system with a new controller setup. So far I’ve reworked the MPCNC every spring… 2 for 2. Not because it isn’t working. I am just not a fan of the octoprint setup. Not sure I’ll like the klipper cnc any better, but willing to try it out as a reason to clean up the wires and refresh. The thing is pretty “make-do” at the moment, but could be more robust with the wires out of harms way.

I was planning to do the 3.5" screen on my box but honestly, walking around with a tablet/phone is a much much much better experience with mainsail running on it. You can walk around the table while jogging or setting workpiece home. Way better than having to hover around the electronics box. I plan on using an old phone with magnetic wireless charging and mounting it to the front of the table but able to be plucked off and walked around with while using it.

I have an old Kindle 8" that I use with octoprint currently to run it, but it is super clumsy on the tablet.

I am currently running my MPCNC Primo with Klipper and processing my files with Fusion360.

Thanks for responding. Were there special considerations to get the squaring functions and the z zeroing features to work? Do you have a klipperscreen or are you using a board-connected panel? What control board are you using and if it is the SKR 1.2, would you mind sharing your config setup file?

Using an SKR 1.2 pro with sensorless homing. I just added a macro for zero z and use a piece of paper for offset. No Z probe. Modified Z carriage so I could use sensorless homing for z. Running from web interface on an old tablet (no klipper screen). Hoping to replace that with the Bigtreeteck Panda screen when that comes out. I can share config once I get back to my shop and access that computer. Also setup spindle and vacuum control using the fan pins on the SKR 1.2 pro.

How long have you used this?

I have an SKR 1.2 with the BTT3.5 v3 LCD touch screen and a kindle 8" currently running with octoprint. It has dual endstops for squaring and a z probe. It sounds like your setup would get it 90% functional and I can write macros to make the rest of it work. How did you install and get set up?

Have been using for 2 years now. I have no end stops just bumpers for sensorless homing on X,Y,Z. Works much better than it did on Marlin. Much easier to manage a config versus editing Marlin.
klipper_mpcnc_config.zip (2.8 KB)

MPCNC klipper config file.
klipper_mpcnc_config.zip (2.8 KB)

Fusion 360 postprocessing.
MPCNC_Klipper_Fusion360.zip (14.9 KB)

1 Like

ok Reviving this thread. It is time for klipper on the primo with an skr.

This morning kiauh was running on the raspberry pi out of the MPCNC controller. It now has a 3.5" inland touch screen. Next is to flash the skr pro.

I didn’t have much time to search this morning before a friend made the call of shame and I had to go pick him up with his bike and a flat tire. I was looking for the “cnc macros” and some information on setup to get the cnc working. I found:

With these two links, there are macros, and configuration details that appear to be useful. Autonomous posted the printer.cfg and the mainsail.cfg to remove the extruder and temperature checks. There are a lot of changes to the mainsail.cfg file that is supposed to not be edited and I’m wondering if any of it is old or how much of it is needed… not fully understanding the intricacies of what is going on. It is unclear if these two configurations can or should be merged to have the best of both worlds.

1 Like

Hey orob,

You shouldn’t need to modify mainsail.cfg, just remove any heater references in your printer.cfg (If you’re copying it from a printer). I just made my printer.cfg from scratch and it has no problems.

I tried klippy-cnc but it was messy and didn’t quite like it personally, maybe it’s been updated since then. But what works for me is stock klipper, a printer.cfg set up for my lowrider (just like you would for any klipper printer) and the use of noobydp’s cnc macros with flyfisher post processor in Fusion (arcs turned off). Has been absolutely flawless for me.

Happy to help directly if you’re looking for some. Good luck!


Without modifying mainsail.cfg, I get this error:

Searching for “extruder” in printer.cfg, it does not exist… but it does in mainsail.cfg

can you share your printer.cfg? It’s usually best to start with a naked cfg cause there are some things that if left behind still make calls for an “extruder” in the backend and that’s probably what you’re running into. You could modify mainsail.cfg, but that’s just skirting around an improperly setup printer.cfg (I just went through this 2 days ago testing a motion system of a new printer build without any heaters hooked up)