You may recall the Mad Scientist At Work sign I did a while back. It was much the same. My 1st version of the sign, I printed to a certain layer, then paused, changed the filament, extruded until I got the new color, then resumed.
Very similar process, just automated so you don’t have to be present to do the pause. This also prevents any filament from depositing on the print. I think Cura has an easy way to insert M600. I still use Simplfiy3D, and just edit my gcode and search for layer xx and inset the M600
Cura has a Filament Change plugin. OTOH, the Mad Scientist sign was pretty easy on the IDEX printer – no M600 needed at all
BTW, I’ve run into a sort of weird issue with fluiddpi: if I use the Tool window on the Home page to get the Z Offset just right, how do I get that incorporated, easily, into the configuration, so I don’t have to redo it every time I have to reset fluidd or Klipper? SAVE_CONFIG does not seem to do it.
I think I’ve got the Z Offset value adjusted in printer.cfg. It took some playing around. I must have printed forty 20mmX20mmX1-layer squares, changing the temperature and offset to get strong, even, shiny results.
During the times I was waiting for the squares to print, I did some closer inspection of the fluidd interface. In the Console window I noticed a number of “unknown command” entries, like M155 and M300. The M155 I think I can live without; I seem to be getting good temperature reporting anyway.
The M300 is another story. I sort of depend on it to signal me when a print is done and I’m upstairs. Besides, I miss not hearing Smoke On The Water when a print ends So, I looked online and found an M300 macro. I copied and pasted it into printer.cfg. Naturally, it generated an error: invalid pin name in mcu. A little lookiing online and I found another pin name to try. I got lucky: it worked. So now I have my Deep Purple ending music when a print is done.
Another question I’m pondering. When Klipper issues a G28 it moves the printhead to the center of the bed to use the BL Touch. This is as expected, except it moves the nozzle to the center of the bed instead of the BLT probe. I don’t know why this is. To me, if you’re going to calibrate the center of the bed to get the nozzle height correct, why would you probe 40mm to the left of center? Maybe there’s a valid reason I’m just not seeing.
Here is how I save my Z offset. In the area at the bottom of the printer.cfg that says DO NOT CHANGE, I find the Z offset and change it
## [probe]
## z_offset = .825
I usually use the offsets from the Fluidd panel that I needed to get it printing correctly and adjust the offset. If you lowered it by .1 then add .1 to the offset save and restart.
This is technically cheating, but works for me.
You have also discovered another difference between Marlin and Klipper. Marlin has a deep set of Gcodes that you can use, Klipper has a much smaller subset, but with macros, time and experimentation you can duplicate and often improve on them. I have removed all of my starting gcode from my slicer and replaced it with a line that is START_PRINT_PLA or START_PRINT_PETG, when I get to ABS or TPU I will create them. This way I can change what I want done in a Klipper config file and not worry about the slicer.
Good tip about START_PRINT_PETG.
Yep, I did the same to the “sacred” section of printer.cfg. I just found it odd that you increase the Z Offset value to lower the nozzle. It seems more intuitive to use negative values to lower the nozzle below the normal 0 point, especially since the Tool window on the home page displays negative values when the nozzle is lowered. That said, simply adding the value from the window to the value in printer.cfg didn’t work perfectly. I re-zeroed 3 times to get a new value in printer.cfg, adjusted the Tool window after each one, added the value to the 1 in printer.cfg, and it didn’t work every time. Finally, I start adjusting the value in printer.cfg manually. That worked… eventually.
I call this file from my printer.cfg ( the include section) this contains specific items that I can add to each printer or change for each printer. I have attached a text version of it
[include dave_klipper.cfg]
I learned a lot from the Rat Rig Klipper version, They had a completely customized version of Klipper and Fluidd - called V-CoreOS… To make it work with different printer styles and sizes and boards and extruders, they had include references that you could comment or uncomment within your printer.cfg Once I understood what they were doing it made a lot of sense. I have attached the file as a text file. It is interesting to see how much you can do with directories and sub directories in Klipper.
dave_klipper.txt (5.55 KB)
original printer.txt (4.73 KB)
You are a step or 2 ahead of me. Now that I have the M300 macro working, I will be looking at using sidecar files for a lot of macro stuff. As 2 old programmers, this is certainly well within our bailiwick. I haven’t looked it up, but I assume it’s possible to have multiple include statements in printer.cfg. That would make it much easier to create a library of macro files.
I have uploaded the music commands as a file. It sounds pretty good on a Ender 5, if I do say so myself.
Ender5-EndCodeMusic.txt (407 Bytes)
Well guys, I think I blew the extruder stepper driver on the Creality 4.2.7 control board I bought almost exactly 1 year ago. I was printing a cat little scoop holder for my wife and noticed, part way through, that the nozzle was printing about 1/2" above the model, and no filament was coming out.
I did some A/B comparison tests, like swapping wires to isolate if the extruder stepper motor was fried (it wasn’t). Bottom line: it appears the stepper driver on the control board died. My thinking is that it overheated because I’ve been pushing the printer to faster speeds. I was printing the scoop holder @ 130mm/sec. That naturally requires more filament be extruded per second, maybe too much for the poor stepper driver. So, in a way, it’s Klipper’s fault, because I would never have been printing that fast if I was still using Marlin –> note to the wise.
I have an SKR 1.4 Turbo board on hand. The only issue with this is that it’s not a direct drop-in replacement for the stock Creality boards. For example, the micro SD card slot can’t be lined up with hole in the chassis. Oh well, I will have to improvise.
Sorry to hear about your board. I decided early on that the control boxes were a burden. I gutted them and mounted everything on the back of the printer. Here is a link to my Ender 5 Plus Ender 5 Plus Control Box Remix by woodwaker - Thingiverse This worked well and gave me plenty of space for the board and the Pi. It is so much easier to work on.
Will have to study the photos more carefully – they’re pretty busy.
BTW @woodwaker_dave, have you got any idea why the BLTouch won’t home properly. I’ve worked through a bunch of issues to get the SKR dialed in, and the troubleshooting is going pretty well overall. But, when I try to home the Z axis, it moves, or tries to move, the printhead to the front left corner of the Ender 5, to the point where it would crash into the side and front extrusions. Thank goodness for the emergency stop button in fluiddpi Also, I can’t imagine trying to do all this troubleshooting if I have to recompile Marlin in VS Code for every little change and test. Yuck! Having all the settings in printer.cfg is fantastic.
Sorry - this is not as pretty as I wanted it. I did a much better job on my Rat Rig. WIre guides for RAT RIG by woodwaker - Thingiverse
I used split cable wraps and printed some holders. I got some hard board (peg board with out the holes) and laid everything out and marked it, then drilled holes and gave it a try. It took me a few tries before I was happy. The wiring is a mess, but it works. I would do it better if I did it again. The BL touch probably needs the offset changed, and your endstops and center position.
I have attached my Ender5 Plus printer.cfg (txt file) Take a look at it and see how it compares to yours - I have a different hot end, so the offsets will be different. You are correct that making the adjustments in Klipper is so much easier - can you imagine doing many changes in Marlin?
printer.txt (6.34 KB)
thx @woodwaker_dave, I was just coming to update my progress when I saw your post. My situation is 1 specific to using an SKR 1.4T on an Ender 5 (or likely Ender 3 and other Creality products).
Anyway, it turns out the issue was Klipper trying to move the axes too far. This was because the rotation_distance values in printer.cfg were too low. Instead of X 40, Y 40, and Z 4, I need values of X 80, Y80, and Z 8. I’m not sure, but I’m assuming this has something to do with the way SKR 1.4T and BTT TMC2209 v1.2 steppers interact. It suggests to me that this combo is actually capable of double the precision I had before.
I have most of it dialed in now. I even have the Z homing placing the BLTouch probe in the center of the bed, instead of 40mm to the left. Hopefully, that will lead to better bed meshes.
Next, I’m on to bed tramming, then SCREWS_TILT_CALIBRATE, BED_MESH_CALIBRATE and finally, Input Shaping and Pressure Advance.
Good that you figured it out. It is a lot simpler to make those changes and be able to test in a few seconds instead of minutes.
Uh-oh! I may have all this work for nothing. When I tried to connect up the extruder motor and stepper, then tell it to extrude 10mm, all the motor did was ‘vibrate’. A search online found an article that said it could be 1 or 3 things, 1 of them being bad wiring. Now, the wiring was good on the Creality board so that wasn’t my 1st choice. After checking all the pin assignments, however, I was left with checking the cable. Turns out 1 wire no longer had connectivity. Of course, the culprit is likely the constant motion of the printhead straining the cable and eventually breaking 1 wire inside the insulation.
I don’t have a spare cable, or the 2.0mm JST PH connectors used at the stepper motor. I’ve ordered some, and a crimper. The printer is down until they arrive, likely after Christmas. Bummer, cause I was making such good progress on the SKR board. The good news is that it’s quite possible there is nothing wrong with the Creality 4.2.7 board, so I will still have a spare.
Turns out I lied: I do have spare cables, 4 of them in fact. So, the calibration is back on. As I (eventually) suspected, the cable was actually the fault, making it even more likely my Creality 4.2.7 board is just fine thank you
I’m currently dialing in the Z Offset. Klipper makes this quite easy too. I’m printing 20x20 test squares to get the precise clearance needed.
Good news, you should be back in business. post an update when you are printing
Went back a few steps. Turns out the rotation for the extruder was way too low, so it extruded 2x what I asked for. Just completed calibrating E-steps. Have also done the Resonance Measuring and Pressure Advance. 20mm square looks much better.