Recommendations For Successful Prints

Hi all,

I was in the process of writing this up as a reply to another thread when I realized that this would be better as its own here. I have been using 3d printers for a few years now and wanted to share some not so obvious things that definitely help get great prints out of SnapMaker and other printers. Many of these things are stuff I wished someone else had told me about when I got my first printer.

  1. Use a different slicer. Do not get me wrong, SnapMaker3D is pretty good when you are just starting, but there are tons of options in other slicers that it just lacks. Those options can make a big difference to your prints. Hopefully SnapMaker3D will catch up to other slicers fairly quickly. I personally am having great luck with the latest Cura (probably because SnapMaker3D is using the Cura Engine behind the scenes). You can find info on configuring Cura here:

  1. Double check your extruder was built properly. Take the sides off and visually inspect that nothing looks out of place or is loose. Nothing against SnapMaker, but defects happen and issues get by quality control. Especially when you are trying to get an initial product offering out the door. My extruder was missing four bolts that hold the extruder together. Amazingly it was still able to print while missing them. That says quite a bit about their design. After replacing them my prints got much better.

  2. Calibrate the extruder’s steps per mm. The settings in the firmware that come with SnapMaker are fairly close, but they have to set it to what will work for every printer that comes out of their factory. There are many factors though that go into this value that vary from printer to printer. Things like how much force the spring is pushing onto the extruder’s hobbed gear with. This determines how deep the hob sinks into the filament when it grips. The more it sinks in the smaller the effective diameter of the hob is which ultimately determines how much filament is pushed out per step. To calibrate it you will need a micrometer. You can get a cheap one at Harbor Freight in the US which will do just fine. There is a great walk through on the RepRap wiki on how to do so. You can find it here:'s_Calibration_Guide#E_steps

I used the console in SnapmakerJS to send the Gcode commands to the firmware.

  1. This one is mainly for PLA. Add a part cooling fan to your printer. I designed one here:

This makes a big difference especially when printing small layers. It helps the plastic to solidify before printing the next layer. I recommend starting the fan after printing the first few layers though.

  1. Get Kapton tape and wrap the heater block in it. This is especially true if you use a part cooling fan. It insulates the heater block a little bit so changes in the air around it do not cause temperature changes in the block. To make it easier to do so I wrapped my spare block in Kapton tape and then swapped the blocks out. I am in the process of designing a mold for making a silicone sock for SnapMaker much like the one for the E3D hotend. It will do the same thing.

  2. Adjust the PID loop settings for the hotend after insulating the heater block. Now that your block is insulated the PID settings will need to change. This effects how the hotend heats up and maintains temperature. Now that more of the heat is staying in the heater block it will heat up more when the PID loop tells it to. This results in the temperature going too far above your set point. The PID loop will then kill power to the heater so it will cool off. This causes the temperature to drop below the set point and the process repeats. This temperature swing is not good for prints. If you are using OctoPrint with your SnapMaker it will graph the temperature and you can see what I am talking about better. You want the temperature to reach the set point and only swing up and down by a degree or two. After I insulated by heat block but before adjusting the PID loop it was swinging by 5 degrees or more.

  3. Get the bed calibration perfect. Seriously spend a bunch of time tweaking this. Also any time you switch from 3D printing to say Laser or CNC, redo the calibration. Also if you can find one get a 0.09mm feeler gauge. A piece of paper is decent for this, but the feeler gauge is spot on.

  4. This is also for PLA. Use glue stick on your print bed. Combined with the heated bed and the bed surface PLA almost sticks too well. If SnapMaker did not come with that part removal tool, I would have a very hard time get PLA my parts off.

  5. For printing ABS, use ABS slurry on your bed or some other bed adhesion solution. WolfBite3D is a great one. This helps a bunch.

  6. Use a brim when printing. This gives more surface area for your part to stick to the heated bed with. This is especially true with smaller parts.

  7. Spend time with each spool of filament that you get dialing in the print temperature for it. You want strong layer adhesion while still getting good detail from the part. The temperatures listed by the manufacture are a good place to start, but each printer’s hotend is slightly different. It is very hard to know what the exact temperature is within the heat block. Your thermistor might be in a slightly different position than the next guy’s. As such it may be off by a few degrees from theirs. Also variances in manufacturing can effect the temperature a spool will print at. Two identical spools from the same manufacture from different lots might have a slightly different make up. As such one might print better when heated 2 degrees hotter than the other. Also if you mess with the heater block at all, throw out all your spool temperature settings you already have. Your thermistor is in a different spot now.

  8. Print the first layer or two 5 degrees hotter than the rest of the part. Higher temperatures give better adhesion to the print bed.

  9. Up the extrusion multiplier by 5% to 10% in your slicer for the first layer or two. This extrudes a bit more plastic and helps squish the plastic into the print surface which makes it adhere better.

  10. KEEP YOUR FILAMENT DRY AND OUT OF HUMIDITY!!! Filament prints best when it has very little moisture in it. Unfortunately it also likes to absorb moisture even out of the air. Once it does so you will get very inconsistent prints and at times hear faint popping sounds. When H2O boils it expands by 1700 times. If this happens in your heater block it will cause the filament to expand which changes how much gets extruded. The H2O content of the filament will vary along its length too so this expansion is not consistent. Once the plastic leaves the heater block this expansion is no longer constrained by the metal of your hotend and it can cause a mini explosion of the filament (the popping sound). This results in a rough texture. As such as soon as you are done printing, take your spool off the printer and put it into a sealed container with desiccant. Or better yet build a dry box and connect it to your printer via a PTFE tube. This way your filament is only exposed to the air while it is in the print head. With a dry box I am able to print in my uninsulated garage in Florida (super humid) without issues.

  11. Heat the heated bed to 70 degrees and then tighten the thumb screws that hold it in place with a pair of pliers. Be sure not to over do it though. The heat from the heated bed is causing the holes for the thumb screws to expand a little. This causes the thumb screws to loosen over time. By tightening them when the bed is hot you ensure that they are well seated.

I think that about wraps it up for my suggestions. Please comment with other suggestions below. Lets help everyone here get awesome prints.

EDIT - 04/20/2018 Added point 15


Wow Michael. Those are some great guidelines! Some I’ve done, but many I have yet to do. Thanks for taking the time to share!

1 Like

Thanks for your effort to put all this together!

Thanks for tips. Maybe you can share your Cura settings? I still cannot tune Cura for the same quality, as Snapmaker3d (


Hi @mixanoid

Doug the newbie here. What Stmapmaker3D print quality are you talking about, Fast Normal or High. The setting for these can be mimicked in Cura

Cura has a number of selectable print qualities, plus you can over-ride settings



@mixanoid @doug I found these settings on the Snapmaker Facebook page that a fellow user (Михаил Морозов) has posted there. These are what i’ve been using as a base and been tweaking to suit my needs. (4.1 KB)

1 Like


Thanks for those, I shall plug them in and have a look

Have a great weekend


I asking about profile, that @CthulhuLabs used. For example: I print a little detail and this detail has little “ear”. And Cura don’t want infill this “ear”. But when I slice this detail in Snapmaker3d, the “ear” is filled and first layer looks more “solid”.

I change my settings for each print I make based off the model and what I am trying to get out of it. In other words if my current settings worked well for this very specific section of this model it would because of dumb luck. I also think that it was dumb luck that Snapmaker3D’s settings worked well in this situation. The problem you have is one of fine detail printing. Specifically this little detail is too narrow for the green shell to squeeze in between the red shell. You either need to widen that little detail enough that the green shell can fit (and it does not look like it would take much) or you need to decrease the width of the shells so that they can fit into one another in that area. Try messing with the Wall Thickness and the Wall Line Count in Cura.

1 Like

Hi Michael:

Thanks for sharing your excellent suggestions.


1 Like

A couple more suggestions:

a. Open the end cap on each linear module opposite the end with the cable and apply Loctite 243 to the screws that hold down the plastic lead screw retainer. There have been reports of these screws working loose and causing print quality issues. Mine were not very tight from the factory.

b. Use Loctite 242 or 243 on all other screws except the thumb screws and function module mounting screws to make sure everything remains securely assembled.

Hi, I’m exploring my Snapmaker capabilities and now I need to print in Nylon or ABS for a car part replacement. The thing is that with nylon I couldn’t get it to stick to the bed correctly, with ABS I got better results and as I write I’m going for a try with the actual 5 hours print (on ABS). The thing is that after more than 250 hours of PLA printing I got it my way and never used nothing extra but parameters to get good prints and bed adhesion. Right now I find this limitation on this new materials and I feel using glue on the bed special surface will degrade it ruing it and forcing me in a short time to buy a new one. Is there a way to attach a glass bed on top or something where more convectional usage won’t mess up the original machine items? like a piece of glass on top or a hot bed the same size with more output temperature?.

Hi, did you choose ABS from the snapmakerjs 3D Printing panel? It should be able to print with ABS when using this setting. Attaching an extra glass sheet onto the heated bed, increasing the height of the platform, might cause a hit between the nozzle and the platform due to the default homing process.

I’ve been looking around. I’m pretty sure the Snapmaker heater block is a copy of the V5 heater block. That heater block is 16mmx16mmx12mm. The block on my Snapmaker measures out to be 16.2mm x 16.3mm x 11.9mm tall, so it might be close enough… I’m not sure what tolerance the socks are made with, but it’s worth a few bucks for me to try if I can find a source for socks that size.

Any luck with your custom mold?

Edit: V5 Heatblock specifications:

0.1mm tolerance on each side in one dimension, 0.15mm tolerance on each side on the other dimension, with a zero or very slight tolerance on the vertical dimension should be a perfect fit for the sock.

Even better! No reason to reinvent the mold, as it were. Here you go:

I’m going to be printing that as soon as my printer is available. (It’s busy.)

End up making the mold?

Looks like the cura settings image is gone from the page. Can someone provide their CURA settings?

here is my cura configuration, the snapmaker provided one is erroneous

This is for a snapmaker A350, other sizes would need different values.

Start G-code:

;M104=print temp, M140 = bed temp, 109 = print temp wait, 190 = bed temp wait

M104 S{material_print_temperature_layer_0} ;Start heating extruder

M140 S{material_bed_temperature_layer_0} ;Start heating bed

G28 ;home

G90 ;absolute positioning

G1 X-10 Y-10 F3000

G1 Z0 F1800

M190 S{material_bed_temperature_layer_0} ;Wait for bed to reach temp before proceeding

M109 S{material_print_temperature_layer_0} ;Wait for extruder to reach temp before proceeding

G92 E0

G1 E1 F200 ;extrude 1mm @ 200mm/s feedrate (prime)

G92 E0

End Gcode:

M104 S0 ;extruder heater off

M140 S0 ;heated bed heater off (if you have it)

G90 ;absolute positioning

G92 E0

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G28 X0 Y0

M84 ;steppers off


Measure your filament for the material diameter, or make it 1.75 anyhow.