I thought I’d type up my setup and calibration procedures for future reference since I haven’t seen too much of this information in a single place before. Hopefully this is useful.
There are other introductory posts worth reading such as:
The first thing I did was update to the latest firmware, change the auto bed levelling to 5x5 grid, and do an auto level. I’m impressed with this process, it works pretty smoothly. Looking ahead, I’ve found out of the box auto levelling is great for medium and fast prints, but my bed varies in height too much to print high quality (<.1mm layer height) prints, as it will result in layer shift 90% of the time. More on that later.
The first print I did was Benchy with Luban as the slicer with medium default settings. It printed fairly well, but there were some bridging issues, some stringing, and some infill-to-perimeter issues, overextrusion at the edge, underexstrusion in the middle (K-factor issues)
I like this printer calibration set of tools: https://teachingtechyt.github.io/calibration.html. As always: be careful running presliced gcode, and when in doubt download the STL files and slice yourself. I’ll be going through my results from each step of this procedure:
PID Autotune: Skip this, I learned that the PID Autotune command will essentially lock up the controller and not complete, and forum posts confirm that’s the case (such as PID autocalibration fails in SnapMaker 2.0 (A-350))
First Layer: I didn’t have any major issues with the auto bed levelling, so I skipped this
Baseline Print: I saw some weird over/under extrusion issues that ended up being dealt with later in the Linear Advance section. Otherwise, dimensionally, the print was fairly accurate, not too bad.
Extruder E-Steps Calibration: Like many people in the forums, my extruder was underextruding (90mm instead of 100mm).
a. My final E-steps turned out to be 242.3
Flow calibration: This step is important, but I somewhat disagree with the Teaching Tech steps here. While it’s important to calibrate the slicer flow rate there’s a couple places you can do that:
a. You can change the Extrusion Multiplier / Flow in the slicer
b. You can change the filament diameter
c. During a print you can use the M221 S<percent> command to override the flow percentage (for more see here: https://marlinfw.org/docs/gcode/M221.html)
I adjusted, in order:
- Filament diameter, by measuring with calipers. My filament was 1.72mm (which will extrude 3.4% too little filament vs the standard 1.75mm!). Make sure and measure in many places and at several rotations along the filament and average them. My filament was slightly oval shaped.
- At this point my test cube printed acceptable, the walls were about 0.02mm off the slicer’s wall thickness, perfect! If yours doesn’t print well, then I would consider adjusting the extrusion multiplier / flow in the slicer.
- If during a print you notice serious under / over extrusion and don’t want to stop the print, consider using M221 to on the fly change the amount extruded. Just remember to set this back to default when done using M221 S100 (or power cycle the printer!)
Stepper Motor Drive Current: Skip this
Retraction Tuning: The Snapmaker 2.0 default retraction settings are 5mm @ 60mm/s, no Z hop. My first retraction tower I varied retraction distance from 0mm to 3mm, in 0.5mm steps. The next tower I varied Z hop from 0mm to 3mm in 0.5mm increments. My prints were best at:
a. Retraction: 1mm @ 60mm/s
b. Z hop of 0.5mm
Temperature Tuning: The factory default temperature was 205C. I varied my tower from 190C to 210C in 5C increments, first layer 200C.
a. Initial results were not brilliant: I was unable to get any bridges to form like they should. That turned out to be a combination of a massive under-cooling issue as well as a linear advance issue. I put a 7" desk fan next to the build plate which helped with the cooling, and I had to pause and skip to linear advance to get close on that before returning to finish temperature calibration!
b. After fixing the cooling and linear advance, my best results were at 205C (considering both surface shininess and layer adhesion).
- EDIT: Improved part cooling helped with bridging by adding an additional fan. See mod here: 3DP Part Cooling Fan 5015 Replacement
Acceleration Tuning: The Snapmaker 2.0 default acceleration is 1000mm/s^2 and the default junction deviation is 0.02mm. My best results were:
a. Acceleration: 750mm/s^s
b. Junction Deviation: 0.02mm. Increasing didn’t seem to hurt much, but I did see some artifacting around 0.05, so I left it at the default value.
Linear Advance: Many online guides, including Teaching Tech, list 0.2 as a good starting K value for direct drive. In fact, the Marlin default value (and also the Snapmaker’s default value) is K=0.22. However, I found this to be way too high. My best results were at:
a. K factor of K=0.07
I also measured the axis backlash and found all 3 of my axes could benefit from a small compensation. More detail here: Is there a better way to calibrate?
I use Simplify3D, and took the Snapmaker provided FFF files, and modified them to do the following:
- Manually enable backlash compensation before the machine homes (YOU WOULD DEFINITELY NEED TO EDIT THIS IN THE STARTING GCODE SECTION)
- Incorporate the calibration data I measured for my machine
- Modify the default heating behavior to begin heating both the bed and extruder simultaneously, then waiting for both to reach temperature. By default S3D will wait for the bed to heat first, then begin heating the extruder; a waste of time!
- Incorporate a small amount of extruder priming into the pre-print, and add retraction after print completion
- Combine the Fast, Medium, and High quality profiles into a single profile, utilizing Simplify3D’s Auto-Configure Quality drop down.
I have attached my current FFF profile, feel free to use as a basis, but please save a copy and modify your bed size and verify all other parameters!
A final word on bed levelling: I measured my bed with a dial incidator using a custom fixture for my Grizzly dial indicator. I think some carefully placed shims could greatly improve the flatness of the bed. As it stands, I cannot print layers as thin as the default High quality print settings suggest the machine is capable of.
- Dial Indicator Mount: https://www.thingiverse.com/thing:4610639
- Alternatively, @Tone has a great mount on his Wiki: SnapLinks -- Wiki
I also printed more things to improve the printing experience:
- Filament guide to stop the filament from wrapping around the tower: https://www.thingiverse.com/thing:4504481
- Spool holder: https://www.thingiverse.com/thing:4463794
- Bearings for spool holder: https://www.thingiverse.com/thing:3506177
- PTFE Tubing and bushing to pass through the enclosure and reduce filament friction: https://www.thingiverse.com/thing:4610656
Good luck, and others who have had similar or wildly different setup results, please share what you learned!
Brent’s A350.fff (12.1 KB)