Honestly im about to give up on klipper, its just getting ridiculous at this point

Ender 3 Max
Creality 4.2.2 with TMC2208/HR4998 steppers
Genuine BL-Touch Smart v3.1
Running klipper on a laptop connected via usb because for the life of me in all my attempts, the pi 3b wouldn’t work in the end no matter what I tried.

After months of hardships and trying everything finally getting klipper set up in a way that actually responds, Im now stuck on trying to get klipper to communicate with cura properly. I tried installing superslicer first, not even gonna get into that shitshow.

I set up my my start and end gcodes as indicated on both klipper and cura but im constantly getting the same handful of errors and for the past few days have been trying to just start my first temperature tower print for tuning.

Its been months and I put my faith in all the big promises and hype of klipper but I should have just gone with marlin instead at this point. What a waste of time this has been. Im too far in now, theres no point and turning around to walk all the way down to a whole new animal when im standing right here tickling the bulls nuts, I just want to get this shit over and done with up and running at this point. I didn’t come in here to have a rant so ignore it if you have to, I thought my troubles were an outlier case in the beginning but ive seen enough instances and apprehension for the same reasons im struggling enough for my disappointment to not feel unfounded.

klippy(13).log (1.8 MB)

most recent printercfg.txt (6.7 KB)

moonraker(3).log (49.0 KB)

I’ve attached my cura settings, printer.cfg, klipper and moonraker logs

Please tell me what simple issue is causing my printer the stop on a “move out of range” error as soon as it tries to go anywhere at the start of a print, I have this whether I home the printer prior to starting or not, occasionally it gets hung up on not understanding the START_PRINT gcode, what have I done wrong?

This might seem like such a small oversight to one of you but im stuck so please help.

This is one issue:


A cartesian printer has it origin on the front left. Never in the centre. Only Delta printers have the origin in the centre.

You don’t have a START_PRINT macro in your configuration. This macro isn’t built into Klipper. It’s something you need to add to your configuration, and it’s usually a little different for every printer.


You’re right EddyMI3D that was an issue.
I set my home_xy_position: 150, 150 in printer.cfg so I didnt realise it had to be the corner of the bed for cartesian printers but thank you for pointing that out, I wouldn’t have known otherwise.
It attempted to print after that correction but the START_PRINT command still didnt execute

This is the start print macro at the top of my printer.cfg file:

[gcode_macro START_PRINT]
# Home all axes
# Set bed temperature and wait for it to reach the target
M140 S{material_bed_temperature_layer_67} ; Set bed temp without waiting
M190 S{material_bed_temperature_layer_67} ; Wait for bed temp
# Set nozzle temperature and wait for it to reach the target
M104 S{material_print_temperature_layer_200} ; Set nozzle temp without waiting
M109 S{material_print_temperature_layer_200} ; Wait for nozzle temp
# Perform auto bed leveling if you have a BLTouch
# Prime the nozzle
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
# Wipe the nozzle and move to the starting point of the print
G92 E0 ; Reset extruder position
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

is that what you’re talking about?
If so i’ve tried moving it to the bottom of my printer.cfg just to see if it helps with no luck

That macro is not in the log you provided, so you might have edited the wrong printer.cfg file.

It’s looking for the file at /home/medalist/printer_data/config/printer.cfg

oh no sorry, I added it manually as a seperate .txt file called “most recent printer.cfg.txt” in the post

I understand that, but the log you provided contains the full configuration file that Klipper is actually using. The macro is not in the file that Klipper is using. Look at the file at the path in my last reply and add the macro to that file. Then restart Klipper.

ok wow, I have a list of config files after every edit in mainsail, I just removed a bunch of old ones and the list scrolled down to a reveal a printer.cfg without a string of numbers on the end which im guessing means i’ve been updating an old file this whole time, assuming it was the currently active because it was at the bottom of the list and largest file size

Yes, the configuration files with numbers on the end are back ups when you run a save config. What you’ve been editing are the backup files not the actual configuration file.

It doesn’t help matters when Klipper documentation only focuses on Octoprint as the only option they currently document. Even though MainsailOS is an option on Raspberry Pi Imager. Somebody requested MainsailOS be placed as an option on the Pi Imager but support for that install is minimal.

Even worse though is the abundance of video’s on YouTube that are shorter than is physically possible to get from bare metal printer to first print. " Install Klipper & MainsailOS in 5 minutes" type video’s.
I use a filter to screen out/disregard short video’s like that

I suspect that if someone hands a fresh out of the box Ender to a YouTube Influencer and says “make it print using the Raspberry Pi Imager version of MainsailOS” my guess is over an hour to get to first print.
Go find video’s that are an hour or more on YouTube to reflect the entirety of the process.
They are non-existent.

See Installing Klipper with KIAUH

For sure, you will need 1h+. I’d not dare boasting that I could do it in less.
It is fair and justified to use this time (even more for a novice). In most cases, such comparisons are unfair.

A halfway fair ranking in complexity / time effort would be:

  1. Buy a printer with Marlin preinstalled
  2. Update a preinstalled Marlin printer with a downloaded firmware file exactly for this printer
  3. Install Klipper on a non-Klipper printer OR compile a newer Marlin from sources yourself and install it.

So this is from easy to hard, from fast to more time-consuming.


One thing I’ve learned during my 45 years of employment is that the most despised task in most endeavors is the writing, editing, and updating of documentation.

Following closely on it’s heels is generating documentation for a process as if the reader already knew what they were doing. YouTube video’s of 5 - 15 minutes are a modern variation on that theme.

FWIW in regards to KIAUH, I gave that a shot and I got a single line printer.cfg file for my efforts.
I want to do it the hardest way because I will have a deeper understanding at the end so I don’t mind that.
My struggle is that the written documentation lacks detail in some important areas and the flow is out of order in some cases making me have to backtrack.

How MainsailOS makes it on to the “official” Raspberry Pi Imager with no documentation is a problem. By having it on the Pi Imager application, the implication is that it is also officially sanctioned.
It has been vetted by the Raspberry Pi organization is what the average user is going to take away. Especially when all the too short YouTube video’s recommend using the Pi Imager. That also implies that MainsailOS is "official.
After reading your complexity ranking I noticed that all three of your bullets have some version of “Install Marlin”

I put a second Creality motor driven z-axis on my E3P and the wiring harness has about 16" of extra wire that needs to go.
I’m in the process of removing a bunch of the extra wire in the wiring harness but once that is done I’ll get back on the Mainsail & Klipper installation. I am working my way through the printer.cfg file and think I’ve about got it

Almost nobody will watch a video that’s over an hour long. People want to see an overview of the steps involved, and that can easily be achieved in a 15 minute video, even from a total newcomer point of view. I could personally go from a factory fresh Ender 3 to printing a benchy with Klipper in 30 minutes of actual time, but I have more experience with Klipper than most people.

As for MainsailOS, it will become one of the recommended options in the official Klipper documentation. It’s been discussed among the developers as a priority for 2024 to update the install documents to match the options available now. When that documentation was originally written, Octoprint was the only option.

If you are starting from scratch Ellis’ print tuning guide is an example of how things should be documented. I think I would have been lost building my Voron Zero without reading his docs first, even though he is explaining for a different a different printer construction many of the principles are relevant.

The shouldn’t be surprising when most printers come preinstalled with Marlin. Obviously the lest complex approach to the firmware is not to approach the firmware at all and just use the printer as it shipped. If you do want to monkey with the firmware it’s comparatively easy to flash a prebuilt binary of the firmware that’s already on the printer.

But if you want to do more than that, then you’ve got to decide whether to figure out how to configure, compile, and flash Marlin yourself, or else figure out how to configure, compile, and flash Klipper yourself.


It should be pointed out that it is significantly more difficult to configure and build a custom version of Marlin than to create a Klipper firmware build for your board and then set up a printer.cfg. Then, once you have a working system, it is much easier to customize printer.cfg to changes in your system than to modify your Marlin build.


Hi Machinist. Don’t give up.

But you are comparing two VERY different things: installing and configuring Klipper from scratch to your Ender VS flashing a pre-configured Marlin adjusted by someone else.

If you get Marlin from Github, you will get lost right on how to even compile it to the right board - and then comes editing A LOT of the options in the configuration.h and configuration_adv.h - and if you don’t get it right, the printer won’t tell you a single clue about what is wrong with your choices.

Klipper has excellent documentation and tutorials to follow along. But you must be a detail oriented person, and have patience to follow the steps carefully, and not in a rush. I took many hours to Klipperize my old Ender 3 with an SKR Mine E3 v1.2 board. I was enjoying it, watching tutorial to understand each aspect of it. It paid off for me.

You might not be the person that enjoys that - and that’s fine. Nobody is required to enjoy setting up a system. But if that’s the case, call over a friend who already did that to assist you. Or get a printer that already comes with Klipper - at least so you can get acquainted to it’s usage, and get familiar to minor tweakings on the printer.cfg

Good luck my friend.


You are making an assumption as to what people will and won’t watch.
If the goal is subscriber clicks, a 5 or 6 digit subscriber count, and you are targeting “likes” because you have a financial incentive to, who benefits the most? The influencer or the noob that just bought a printer?

I currently filter out as many of the short videos as YouTube filtering will let me because I know there is no value in those video’s.
So if it is physically impossible to crank up an Ender printer in under an hour from unflashed to making a 1st trial print, and no-one wants to watch long video’s, make a two or three part series.

There is a thing called “Churn” in marketing and it is obviously high in the intersection of printer manufacturers, YouTube Influencers, and printer purchasers.
You’d be better off deleting an old “how to” video’s and making a new one’s because a 3 year old Ender/Klipper install video is no longer accurate AND the person who watched it 3 years ago has churned his/her way out the door.