Orca Slicer and SV04

Wondering when the sv04 will be a default printer in Orca Slicer? Has anyone got a profile I could import and give a try?

thanks

Try this :

Thanks a bunch. Will give it a try.

1 Like

that did not go so well or i needed better directions. I thought there would be a simple import for OrcaSlicer by now.

I have a working profile for extruder 1 if you are interested. I have played with the above mentioned profile, but it seems to only be for dual mode on the sv04. I have only done a couple prints with the ext 1 profile, but I can share if interested.

I keep winding up at that github page. The gcode shown there does not work for DUAL Mode on the SV04 like it says it does. A lot of it is commented out.

Does anybody have real working gcode for the SV04 DUAL Mode for Orca Slicer?

I would greatly appreciate it.

Hello,
You should ask @Bjoern who is the SV04 expert.
Unfortunately, I don’t know if he’s also an Orcaslicer expert.
Regards

Hi there,
my SV04 gets his print jobs via SD-card & I’m not using any kind of 3D-printer host.
Anyhow, Marlin host support is enabled in my firmware version.
In order to manage expectations: Some SV04 modes that can be set via touch screen are different from Marlin’s native dual extruder modes that could be set via g-code M605: Single mode 1 & 2 have been implemented on top of dual mode, which offers two different options:
M605 S1 will activate the auto-park mode. The firmware takes care to park the inactive extruder in this mode. A full control mode can be activated by M605 S0 In this mode your slicer settings will have to avoid extruder crashes.
Enabling the SV04 mode would be feasable by changing the M605 implementation. I’m still reluctant to do that.

Good luck!
Björn

Well, that repository hasn’t changed in 2 years, and there is one open issue and one open pull request, so it looks like the author has abandoned this repository.

Still, it isn’t too hard for any interested Sovol SV04 owner (I’m not - I have a SV07+) to generate working .gcode files with a slicer she / he knows to be working (Cura for example) and compare that output to the output Orca Slicer generates, thus being able to compare, find differences and fix the problems.

I finally figured it out.

To get OrcaSlicer to change from one extruder to the other, I used the gcode at the filament level.

Thet “advanced” tab in the filament definition is where the gcodes go. So for each filament, I assigned T0 for the left and T1 for the right extruder.

Then I placed a few more lines of gcode under that. It works!

It’s a little cumbersome since you may change filaments. I just have the gcodes in a text file and copy them in.

I hope this helps somebody. If you have a better solution please let me know.

1 Like

It’s because you’re using a profile based on a single extruder machine.
I’ve created a new machine based on “MyToolChanger 0.4 nozzle” with Marlin 2.0 and it works absolutely perfect.
It also adds some (rather useless) Ooze Prevention, tool change times which give you real print time and so on.

No need to have any custom filament code as T0 and T1 are issued automatically and change the heads.

I am using Bjoern’s FW of course. My Orca is 2.2.0

1 Like

@Bjoern can you post your orca profiles?

Hello anon137,
negative - I don’t use any kind of print server.
There are some Orca profiles available in the German 3D printer forum - you might need to sign up there in order to download them. Here are the links to the latest threads that contain additional information about the profiles & the download links:

/R
Björn

@Bjoern I can’t get my SV04 to print with your firmware. When I try to print (Single Left), it gets up to temp, homes, then moves the right extruder to the left just a bit and turns it to 170, after it gets to temp the pause print screen comes up and it starts beeping. Thank you!!!

Hi again,
your observation indicates missing filament. Ensure that both filament runout sensors are loaded at least with a piece of filament & that they are both lit. Alternatively, unplug the runout sensors.
/R
Björn

1 Like

Thank you so much for your help again. I got it to do something different, but now it when it gets up to temp then goes above and then drops back down and just keeps doing that repeatedly.

Hi again,
your problem description lacks precision. Assuming that neither your slicer settings nor your print server scripts are the problem source, running PID-tuning might help:
Settings → Extra settings → Left nozzle PID
Settings → Extra settings → Right nozzle PID
Settings → Extra settings → Hot-bed PID

Tuning temperatures should match the target temperatures of your filament type. 5 tuning cycles should be sufficient.

Good luck!
Björn

@Bjoern that did end up fixing the issue. Thanks again.

I have a weird problem, I’m using the profiles from here Sovol SV04 Orca-Profile - Sovol - 3D-Druck Forum

This problem just started, and I can’t figure out what would cause it since nothing has changed as far as I’m aware.
Sometimes while printing the first few layers of a print (single left) the left extruder will go all the way to the right and run into the other extruder and keep trying to move farther right and won’t stop until I power off the printer, other times it will move the bed all the way to the front and keep trying to move farther, again not stopping without powering off the printer.

The gcode I’m attaching caused the printer to do the extruder issue the first time trying to print and the bed issue the second time.

If there’s any help you can provide I’d be great-full, I can’t really use the printer without worrying it will break itself.
Extruder issue: 51m46s_Egg_PLA.gcode (6.0 MB)

Bed moves all the way forward:
50m40s_pyrite_egg_PLA.gcode (2.9 MB)

For those successfully using Dual Mode, which specific M605 setting (S0 for full control or S1 for auto-park) are you using in your Start G-code, and how did you configure the tool change G-code to manage the inactive extruder’s parking/un-parking?

aPpYe SV04 S1 Pro.orca_printer (8.9 KB)

In Orcaslicer, I started with a SV06 printer, as it seemed to be the most similar to the SV04, then added an extruder in the settings. I am also using sprite extruders, so I stole some of the settings from the Ender 3 S1 Pro profile.

I only ever print in dual mode, even if I am using just one extruder. I can select either one freely. I have never use M605 for anything. Perhaps I should look into this, as I have come up with some janky workarounds for extruder crashes and whatnot …

My start gcode:

;Home all axes
G28

;Start with correct extruder.
T{initial_tool}

;SET the CORRECT bed temperature.
{if is_extruder_used[0] && is_extruder_used[1]}
{if first_layer_bed_temperature[1] > first_layer_bed_temperature[0]}
M140 S{first_layer_bed_temperature[1]}
{else}
M140 S{first_layer_bed_temperature[0]}
{endif}
{else}
M140 S{first_layer_bed_temperature[initial_tool]}
{endif}

;Start initial hotend.
M104 S{idle_temperature[initial_tool]}

;Start the second hotend, if both are being used.
{if is_extruder_used[0] && is_extruder_used[1]}
{if initial_tool == 0}
M104 S{idle_temperature[1]} T1
{else}
M104 S{idle_temperature[0]} T0
{endif}
{endif}

;Raise Z, then disable X steppers to gain access to nozzles for wiping.
G1 Z250
G28 X
M84 X

;Wait for initial hotend.
M109 S{idle_temperature[initial_tool]}

;WAIT for the CORRECT bed temperature.
{if is_extruder_used[0] && is_extruder_used[1]}
{if first_layer_bed_temperature[1] > first_layer_bed_temperature[0]}
M190 S{first_layer_bed_temperature[1]}
{else}
M190 S{first_layer_bed_temperature[0]}
{endif}
{else}
M190 S{first_layer_bed_temperature[initial_tool]}
{endif}

;Wait SEVEN MINUTES for thermal soak.
G4 S420

;Avoid two extruder crashes and perform Z Steppers Auto-Alignment.
G28 X
G34
G28 X

;Create and load mesh.
G29
M420 S1 Z7

;Start with correct extruder.  Again.
T{initial_tool}

;Wait for first layer temperature.
M109 S[first_layer_temperature]

;Move Z Axis up.
G1 Z4.0 F3000

;Reset Extruder.
G92 E0

;Set E to Relative Positioning.
M83

;Initial priming line.
{if initial_tool==0}
G1 X-1.7 Y10.322 F7200
G1 Z.2 F1200
G1 F1020
G1 X-1.7 Y292.081 E10.11636
G1 X-1.762 Y292.728 E.02334
G1 X-1.923 Y293.286 E.02085
G1 X-2.245 Y293.933 E.02595
G1 X-2.672 Y294.487 E.02511
G1 X-2.867 Y294.891 E.01611
G1 X-2.878 Y295.297 E.01458
G1 X-2.768 Y295.563 E.01033
G1 X-2.563 Y295.768 E.01041
G1 X-2.295 Y295.879 E.01042
G1 X-2.005 Y295.878 E.01041
G1 X-1.737 Y295.768 E.0104
G1 X-1.532 Y295.563 E.01041
G1 X-1.42 Y295.291 E.01056
G1 X-1.4 Y295.145 E.00529
G1 X-1.4 Y10.227 E10.22979
G1 X-1.488 Y9.509 E.02597
G1 X-1.72 Y8.83 E.02576
G1 X-2.09 Y8.215 E.02577
G1 X-2.631 Y7.627 E.02869
G1 X-2.866 Y7.24 E.01626
G1 X-2.87 Y6.812 E.01537
G1 X-2.732 Y6.494 E.01245
G1 X-2.483 Y6.252 E.01247
G1 X-2.16 Y6.124 E.01247
G1 X-1.813 Y6.13 E.01246
G1 X-1.494 Y6.268 E.01248
G1 X-1.252 Y6.517 E.01247
G1 X-1.125 Y6.833 E.01223
G1 X-1.1 Y7.009 E.00638
G1 X-1.1 Y295.9 E10.37243
G1 F5760
G1 X-1.152 Y271.268 E-3.9
{else}
G1 X303.7 Y10.322 F7200
G1 Z.2 F1200
G1 F1020
G1 X303.7 Y292.081 E10.11636
G1 X303.762 Y292.728 E.02334
G1 X303.923 Y293.286 E.02085
G1 X304.245 Y293.933 E.02595
G1 X304.672 Y294.487 E.02511
G1 X304.867 Y294.891 E.01611
G1 X304.878 Y295.297 E.01458
G1 X304.768 Y295.563 E.01033
G1 X304.563 Y295.768 E.01041
G1 X304.295 Y295.879 E.01042
G1 X304.005 Y295.878 E.01041
G1 X303.737 Y295.768 E.0104
G1 X303.532 Y295.563 E.01041
G1 X303.42 Y295.291 E.01056
G1 X303.4 Y295.145 E.00529
G1 X303.4 Y10.227 E10.22979
G1 X303.488 Y9.509 E.02597
G1 X303.72 Y8.83 E.02576
G1 X304.09 Y8.215 E.02577
G1 X304.631 Y7.627 E.02869
G1 X304.866 Y7.24 E.01626
G1 X304.87 Y6.812 E.01537
G1 X304.732 Y6.494 E.01245
G1 X304.483 Y6.252 E.01247
G1 X304.16 Y6.124 E.01247
G1 X303.813 Y6.13 E.01246
G1 X303.494 Y6.268 E.01248
G1 X303.252 Y6.517 E.01247
G1 X303.125 Y6.833 E.01223
G1 X303.1 Y7.009 E.00638
G1 X303.1 Y295.9 E10.37243
G1 F5760
G1 X303.152 Y271.268 E-3.9
{endif}

G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up

The last part is a priming line I draw at the beginning of each print that lies just outside of the 300x300mm print area, and is on the side of whatever extruder is used first.

Filament Change gcode:

;SET the CORRECT bed temperature.
{if is_extruder_used[0] && is_extruder_used[1] && layer_num < 1}
M140 S{max(hot_plate_temp[0], hot_plate_temp[1])}
{endif}

{if is_extruder_used[0] && is_extruder_used[1] && layer_z < 1}
G1 Z3; Raise bed
{endif}

T[next_extruder]; Switch to the next tool

{if layer_num < 2}
M109 S[first_layer_temperature]; Wait for first layer temp
{else}
M104 S[temperature]; Set but do not wait for regular printing temp on other layers
{endif}

End gcode:

G91; Relative positioning
G1 Z7; Raise Z 7mm
G90; Absolute positioning

G1 Y269; Present print
G28 X; Home X
M84 X Y E Z; Disable all steppers
M104 S0 T0; Turn-off hotend
M104 S0 T1; Turn-off hotend
M106 S0 T0; Turn-off fan
M106 S0 T1; Turn-off fan
M140 S0; Turn-off bed

I attached my typical profile full profile for reference. I have others I use for calibration, so I can isolate things like retraction and temperature.