Cura filament change issue

Hey guys, was wondering if you could help me with a filament change issue. I'm trying to print this and trying to edit my cura slicer settings with the post processing "Filament Change" so I can do the multiple colours however my print does not pause and just continues past the defined layer I stated the filament change. I'm using the post processing cura scripts, I have made 2 so I was hoping it would stop the print at both filament changes and let me swap the colours.

I'm using the standard Cura profile for "Super Quality" : https://i.imgur.com/MbzT200.png and I can see the red "2" at the bottom for my 2 chosen filament change times.

My 2x post processing scripts I made: https://i.imgur.com/5WYCaRk.png The only difference with the other one is a 36 instead of a 4.

Any ideas if I'm doing anything wrong? Thanks

  • Model of your printer: Artillery Sidewinder X2
  • Print material (PLA, ABS, etc): PLA
  • Slicer settings: Cura "Super" quality preset.
  • Hot-end and bed temperatures: 200 / 60
  • Firmware: onboard screen says 3.1.3

From research I'm conerned that my printer won't work with this M600 command that the cura is using? I see here there's a "Pause at Height" script, anybody know if this would work? I also tried the "use firmware configuration" but did not work either.

I asked in the r/fixmyprint subreddit but they were unsure.

Posted May 3, 2022, 1:19 PM UTC

519
iskandartaib•

Yes, this is indeed a problem with the Sidewinders and Geniuses. The printer doesn't recognize M0 and M25 (pause) as well as M600. It carries over from the X1 and the old Genius, and we're all waiting for a firmware fix. There are various workarounds, mainly involving using a PC connected to the printer, running something like Octoprint to control the printer and updating the touchscreen's firmware (which is apparently separate from the Marlin that actually runs the printer).

I've been manually pausing and changing filament myself, it works fine, but you have to wait around.

Mind you, this isn't a problem restricted to Artillery printers - we've got a bunch of Anycubic machines at the local Makerspace, I've found you can get them to pause, but there's no way to get them to resume. Very annoying. On the bright side - the direct drive extruder on the X2 makes changing filament a breeze - the Anycubics use Bowden tubes. What a pain.

-- Iskandar

2
GeckIREOP•

Thanks for getting back to me. Yeah I agree, it is quite easy to change the filament on the X2.

There are various workarounds, mainly involving using a PC connected to the printer, running something like Octoprint to control the printer and updating the touchscreen's firmwar

From the above, would you mean I have to update the firmware on the printer itself and then use octoprint to get arount this? or is their would just using one of those options work? Like using Octoprint for example

1
iskandartaib•

Yes, that amounts to it. You have to update the firmware AND use Octoprint. We're hoping for a firmware update that works when printing off the USB stick.

-- Iskandar

1
joseg4681•

I have the Sidewinder X1, and an X2 as well... On the X1 I updated the firmware to a version I found on thingiverse that gave me manual mesh bed leveling, and it also enabled the command to use the "Filament change" feature in Cura...

​

I can find the link for it, if you'd like? It's real easy to install, just connect the printer to your PC via USB, and use the Arduino software to upload the firmware...

​

It's also really useful to use OctoPi, or better yet, Klipper... Once I switched to Klipper, I never thought about switching to anything else...

​

My X2 just came a few days ago so it still has the stock firmware, but I'll be "klipperizing" the X2 very soon!

2
GeckIREOP•

Thanks for the help. so it a case where I need to update the firmware and then use OctoPo and Klipper to get it to work?

I can find the link for it, if you'd like? It's real easy to install, just connect the printer to your PC via USB, and use the Arduino software to upload the firmware...

Thanks, that would be great.

1
joseg4681•

https://www.thingiverse.com/thing:4251390

​

There you go!! It's easy enough to follow the install guide, but if you have any issues you can contact me...

​

OctoPi is optional when using this firmware, I find it just makes life a lot easier with OctoPi...

​

However Klipper is it's own firmware altogether, so if you use Klipper, you won't need this firmware at all, Klipper is like it's own firmware, with a UI that similar to Octopi in a sense that it utilizes an external device, like a Raspberry Pi in order to run it...

​

I would start by using this firmware, get it running, then think about getting a Raspberry Pi and trying out OctoPi, you won't be disappointed!!!

2
GeckIREOP•

Sorry for only getting back to you now. Yeah from talking with the others here too it seems the only option is to flash new firmware then use octoprint so most likely this is the wayu I'll go. Thanks for your help!

1
joseg4681•

Best of luck!!

1
iskandartaib•

The last time I checked you HAVE to use Octoprint with it.. if you're printing off the USB stick the M600 command still won't work.

-- Iskandar

1
joseg4681•

You might be right, as soon as I started using OctoPrint, I never used the USB / SD slot again...

1
OELvBismarck•

Well hello there. I’ve had the same issues with my genius pro. I was only able to do it with a search and replace script, modifying the line to make a pause in the indicated layer. Maybe you can Google about it, but if you don’t find it, tell me so and I’ll look for the tutorial I saw a few days ago so I can explain better.

1
GeckIREOP•

Thanks for your reply! I see the search and replace script but I'm not too sure on what I should be putting into the "Search" and "Replace" field. Would you be able to send us on that guide you found?

1
OELvBismarck•

Well, that guide I saw was in Spanish, so unless you speak Spanish it won’t be useful hahaha. If you give me until I get home, I might be able to translate the parts you need so you can give it a try. At least it worked for me :)

1
GeckIREOP•

If you give me until I get home, I might be able to translate the parts you need so you can give it a try. At least it worked for me :)

Thanks, that would be great! :) I was searching here and was gonna hope Google/youtube would translate but I can't see to find it

1
OELvBismarck•

Well, im finally back home. I can see some people already gave some options. For me, as I dont have much experience in the 3D printing world, sounded better to look for a solution that didnt envolve changing the firmware, and if I didnt need to connect the PC and could just pring using pen drives, even better.
So, this is what worked for me: a search and replace script.
First of all, you need to determine when do you want to switch. So after slicing, use Cura to preview the print, and look for the last layer you want to print with the first filament.
For example, if the print has got 30 layers, and you want to use a filament for layers 0-18 and a second one for layers 19-30, its the transition between 18 and 19 that you need the printer to stop. So, lets call the last layer of the first filament "@"
Then, you need to figure out the layer height where you are going to change filaments. Lets call this "$". To calculate, you need to multiply "@" x the layer height you are using, and then add your initial layer height.
For example, lets say you are using 0.12 as you use in the picture you uploaded, and the initial layer also of 0.12 . Then its (18x0.12)+0.12= 2.28. So, 2.28 is our "$"
Then go to the search and replace script, and use:
SEARCH:
;LAYER:@
Replace @ with the number of layer, so in our example it would be:
;LAYER:18
Then
REPLACE:
;LAYER:PAUSA\nG91\nG1 Z40 F300\nG4 S20\nG90\nG1 Z$
Replace $ with our height for the change, and in our exaple it would be:
;LAYER:PAUSA\nG91\nG1 Z40 F300\nG4 S20\nG90\nG1 Z2.28

NOTE: Use a "." not a coma "," for the pause height.

Then, with the script, slice again, save it, and take it to the printer.

So, when the print reaches the layer indicated, the printing will stop for 20 seconds. So you have that time to go and press pause on the printer. As far as I know, you could change that changing "S20" for something else in the command, but I haven tried it yet, as I only had my printer for 10 days hahaha.
A few seconds after you set pause on the printer, the Z axis will go up a bit, thats normal. Then, you can change the filament. Tbh I havent tried changing the filament through the touch screen buttons, ive only done it manually. If you do it manually too, remember to purge correctly so you dont mess with your print!
Then, resume the print normally.
I hope this helps! And sorry if my english is too confusing hahaha

1