Field Notes

First Fire on the SV08

The new printer powered up. Eight calibration steps later, the input shaper said the stock acceleration was eight times too high, a vendor macro was silently hijacking the bed mesh, and pressure advance turned out to be the wrong lever for our stringing problem. Here's what got tuned and what got learned.

The Calibration Sequence

The Sovol SV08 is CoreXY, 350mm bed, Klipper firmware — a Voron 2.4 in beige plastic. This is the printer that lets Sorted3D scale beyond the AD5M's 220mm constraints. The first product to benefit will be the cooler tray, which gets to grow from 190mm wide to a full 320mm Yeti Tundra 65 width without any bolt-together workarounds.

Before any of that, the printer needs to actually print well. Klipper makes calibration scriptable over Moonraker. The sequence:

Total tuning time, cold printer to ready-to-print: about 90 minutes.


What QGL Said About the Factory Build

Quad Gantry Level converged in four iterations: 1.07mm → 0.23mm → 0.05mm → 0.011mm spread across the four corner probe points. That last number is eleven microns — a hundredth of a millimeter, across the full diagonal of a 350mm bed.

The opening number is the more interesting one. Out of the box, the gantry was tilted by over a millimeter corner-to-corner. That's not a Sovol QC failure — it's just what happens when a machine ships, gets jostled in a truck, and needs four motors to be re-leveled relative to a heavy bed they hold up. The factory ships it close enough that auto-leveling can do the work in two minutes.

If you skip QGL on a CoreXY, every print starts with a gantry that isn't square to the bed. Layer heights come out uneven across the print area. Auto-bed-leveling can compensate for the bed surface but not for a non-parallel toolhead path. QGL is non-optional on this class of machine.


The Acceleration Reality Check

Input shaper analysis is one of the cleaner moments in the calibration sequence because it gives concrete numbers. The output for this SV08:

The Sovol stock printer.cfg ships with max_accel = 40000. The actual hardware ceiling for clean prints, per the input shaper data, is 5,200 mm/s² — Y axis is the limit. The stock acceleration is eight times higher than the printer can actually deliver without ringing artifacts.

This isn't a Sovol-specific problem. CoreXY printers have asymmetric Y-axis stiffness because the gantry hangs off rails and the toolhead drags belt mass along it. It's physics. The stock value is aspirational.

Lesson: input shaper isn't just a quality dial. It's the data you need to set acceleration to a real-world value. Without it, you're slicing prints at speeds the printer can fake but not actually achieve.


The Sovol Macro That Hijacks Bed Mesh

This one was a debugging adventure. I sent the printer a sequence: heat bed to 80°C, run BED_MESH_CALIBRATE, save the profile. The bed temp came back at 65°C when the mesh was probed.

Reading the printer config explained it. Sovol overrides the standard BED_MESH_CALIBRATE command with a wrapper macro that reads mesh_calibrate_target_temp from a global variable and resets the bed to that temp before probing. The variable is set to 65°C by default. So the M190 S80 heated the bed to 80°C, then the wrapper macro saw temp != 65, sent M190 S65, and waited for the bed to cool back down before starting the mesh.

The mesh that got saved is at 65°C. PETG prints at 80°C. The thermal expansion difference between those temps means the mesh is slightly off for actual print conditions. Not catastrophic — bed warp doesn't change drastically across 15°C — but worth knowing about.

If you've got a Sovol SV08 and you're confused why the mesh seems "close but not right," check whether your bed temp during probing matched your print temp. The macro override is silent and the only way to see it is to read the macro definition in printer.cfg.


The PETG Profile Saga (Where I Got Things Wrong)

The first benchy printed cleanly with the stock SV08 PETG profile and a hacky temperature patch (the slicer defaulted to "Cool Plate" and set the bed to 35°C, so I patched the gcode to 80°C). It worked. It looked rough — visible blobs on the cabin, infill bleeding through the back wall, layer banding from the 20,000 mm/s² acceleration the slicer used.

I built a Sorted3D PETG profile to fix all of that. Three perimeter walls instead of two (kills infill bleed). Acceleration capped at 5,000 (matches what the input shaper said). Slower outer walls for cleaner finish. Tighter retraction.

I also bumped fan speeds up. That was the mistake.

The v2 print came out with what looked like layer fusion failure — separated extrusion lines visible on the deck, walls that didn't appear to bond. I called it as a fusion problem and built a v3 profile with much less cooling.

The owner of the printer pushed back: "I personally think the 2nd print looks much better, but I also don't really know what I'm looking at."

He was right. I was looking at photos and over-calling artifacts that weren't really there. The "rope-like" deck pattern I diagnosed as fusion failure was actually just normal PETG layer texture, amplified by glossy lighting and a low-angle camera. The part in his hand was fine. Photos lie. Hands don't.

I let v3 run anyway because we'd already kicked it off, and v3 turned out to be objectively better — smoother, glossier, fewer minor artifacts. But v2 wasn't broken; it was a difference of taste, not function.


Pressure Advance Wasn't the Silver Bullet

After v3 still showed some stringing between features, I sold pressure advance tuning as the last big win. The pitch was clean: PA controls extruder pressure at direction changes, an under-tuned PA causes ooze that drags into strings, the SV08 came set at 0.025 (a PLA value), PETG wants 0.04–0.08, set it right and the strings vanish.

I set PA to 0.045 empirically (the calibration tower I printed didn't give a readable signal — that's a separate story about the wrong tool for the wrong filament color). Printed v4 with the new PA.

Owner's feedback: v4 had more strings than v3, and v2 had the least.

That data is unambiguous. The string count tracks with cooling and nozzle temperature, not with PA. PA fixes the corner overshoot kind of stringing — blob and pull at sharp direction changes. It doesn't help with travel ooze, which is what shows up between separate features when filament stays hot during long moves.

v2's "bad" cooling that I'd flagged as a fusion problem was actually killing strings during travel by solidifying the ooze before it could form. The tradeoff was real: more cooling = fewer strings + worse layer fusion.

Production decision: stop iterating, accept v3's minor stringing, ship.


The Production Profile

Sorted3D PETG is now in the project repo and in OrcaSlicer's user dropdown. The numbers that matter:

A 60mm benchy prints in ~47 minutes. Dimensions are accurate. Hull surface is smooth and glossy. Walls are opaque. Minor strings on travel moves between cabin and bow — the kind of thing that clips off in five seconds with flush cutters.

For Sorted3D's actual products — ice fishing organizers, sled mounts, cooler trays — this is more than good enough. Functional gear that fits its target hardware to half a millimeter, prints reliably without supervision, and looks good in product photos.

Tips
Calibrate before you trust the spec sheet.

Stock printer profiles ship with optimistic numbers. The input shaper data on this SV08 said the real-world ceiling was 5,200 mm/s², not 40,000. That's eight times less aggressive. You can't slice for performance the printer can't actually deliver.

Read the macros, not just the config values.

Vendor firmware can hijack standard commands silently. Sovol's BED_MESH_CALIBRATE wrapper resets bed temp before probing. The only way to find out is to read the macro definition. If a calibration result doesn't match what you expect, look for the layer of indirection.

Photos lie about surface quality.

Glossy filaments look more textured in photos than they feel in hand. The fingernail test, light transmission, and physical flex tell you about layer fusion. Visual judgment from JPEGs systematically over-calls problems on shiny PETG. When the operator says "this looks fine in hand," trust the hand.

Pressure advance fixes one specific kind of stringing.

If your strings appear during travel between separate features — toolhead lifted, no extrusion happening — that's travel ooze. The levers are cooling, nozzle temp, retraction, and travel speed. PA doesn't help. PA earns its keep at sharp corners during continuous extrusion.

Stop iterating once "good enough" is good enough.

We had a perfectly serviceable PETG profile after v3. The PA chase was 90 minutes of additional time to discover it wasn't the right lever. The cost of locking in "good enough" is low. The cost of chasing a perfect calibration that doesn't exist is real.