3d Printer Tips

I've had my Creality CR-10s printer for a few years now. I wanted to go over some of the setup stuff. When you buy a 3d printer, it takes more than just plugging it in to get the best results. There are several things you should know about. That is what this article is for. I'm not going to go over in detail how to do every little thing as every printer is different. Instead I'm going to describe the basics and you can research how it applies to your printer. Afterall, you don't know what you don't know. Feedrate, PID tuning, dampers... if these terms mean nothing to you then read on. Hopefully this article will give you a head start when it comes to 3d printers.

Pick the right printer

This article applies to FDM printers. FDM stands for "Fused Deposition Modeling". These are printers that take a spools of filament and extrude a melted string of plastic onto a build plate. Make sure you get one with a heated built plate. The heat will help objects stick and not want to warp. Get one with two Z-axis stepper motors as well (one for each side). Printers with a single motor on one side can have uneven layers. The side without the motor will want to sag a little lower. Read a bunch of reviews. Creality or Prussia are popular ones.

Frame Structure

When you buy a printer, the frame will often requrie assembly. This allows for companies to fit the printers in smaller boxes when shipping. When assembling the printer do not just bolt everything together. The bolt holes likely have some wiggle room built into them. So loosely assemble the frame structure first and see how far the brackets wiggle left/right. There may be 1-2mm in play. When tightening a corner use a square to make sure everything is perpendicular. For both Z uprights, make sure they are perfectly parallel to another. If the top of the Z uprights are 300mm from each other, you don't want the bottom of the same uprights to be 298mm or 301mm. You want them as perfect as possible otherwise there could be binding as your prints goes higher.

Stepper Motor Dampers

If your printer does not have dampers, get some. These are rubber isolators that go in between the stepper motors and the printer frame. They absorb the vibration from the motors. Your printer will vibrate less and it will be much quieter. Other people in the house will thank you. A printer typically has 5 stepper motors. One for the X-axis, one for the Y-axis, two for the Z-axis, and 1 for the extruder.

Center Z-Axis threaded shafts

Attached to each Z-Axis stepper motors will be threaded rod. As this rod spins it will move the horizontal bar that the print head attaches to up or down. On the end opposite the Z-Axis stepper motors will be a bearing cap. These caps support the top part of the threaded rod. They are attached by a few allen head bolts. If you loosen the allen bolts the caps can slide around a little in all directions. You want the threaded rod to be as straight as possible. You don't want the bearing cap trying to put tension on the threaded rod in one direction. You want them centered. Do your best to line them up. On my printer there are even guides in the center that need to be adjusted.

Belt/Wheel Tension

Printers are going to have a few tension adjustments. There are typically belts with teeth that will move the build plate forward/backwards and the print head left/right. There are tension adjustments on these. You don't want the belt too loose or too tight. The belt is what what moves the parts, but there are also rubber wheels that squeeze against the rails to keep everything on track. Some of the wheels will be attached with a camber style bolt. Depending on that bolts orientation, you can move the wheel closer/further from the rail. You don't want this too tight or too loose. When everything is adjusted right you can use the finger test on the rubber wheels. Spinning them shoud cause the build plate or print head to move easily with just a tiny bit of friction. If the wheels spin in place and nothing moves, the camber bolt adjustment is too loose. If they move the part, but it takes a lot of effort to do so; the adjustment is too tight.

Build Plate Leveling

I can't stress how important this is. If the build plate is not level, you WILL have issues. Prints won't stick, or corners will lift up. You want to make sure your printer is on a secure level surface. Many printers will come with a glass top. Even though glass looks flat, it often has warping. Use a metal straight edge ruler to test it. If its not flat you need to do something different. Some people will get a mirror cut instead. Mirrors are typically flatter than glass. My personal recommendation though is to get a magnetic PEI sheet. This eliminates the glass/mirror all together. A magnetic sheet with adhesive on the back is stuck right to you metal build plate. Then a thin flexible PEI sheet sticks onto the magnetic sheet. PEI sheets have a few benefits:

I've used all 3 methods. My printer came with glass. I used it for a while before switching to a mirror. I print a lot of ABS and I was having adhesion problems. I'd have to use hairspray which was messy. Between prints I'd have to wash the mirror and then re-apply more hairspray for the next one. Applying hairspray is not as easy as it seems. It works best when it's applied in multiple coats with the final coat being about 1-2 minutes before printing. This means the bed should already be up to temperature before spraying. You can spray hairspray onto the glass while it's sitting on the build plate, but then overspray gets on other components. It also gets sucked into the extruder cooling fan. If you pull the glass off the build plate in order to spray, this can cause your printer to throw a Thermal Runaway error and shut off. When you pull the 80 degree C glass off, coat it with 2-3 coats of hairspray and place it back on... it could have cooled to 65 degree C. This drastic change in temperature will make the printer think there is a problem with the heater and it shuts off. I'd have to restart the printer and re-issue the print job. The PEI sheet makes my life easier. No cleaning of hairspray, no Thermal Runaways, and I can immediately start a new print after one finishes.

Now the PEI sheet sticks to a magnetic layer. That magnetic layer adheres directly to the metal build plate (what your glass originally sat on) of the printer using a strong 3M adhesive. What if the metal build plate of your printer is not level? I have this problem. My metal build plate seems to dip in the center. I use 3 small pieces of aluminum foil (A 2" square, 4" square and 6" square) stacked on top of each other to help get rid of the dip. I decided to put the aluminum foil ON TOP of the magnetic material vs under it. When I remove the PEI sheet the aluminum foil stays put.

There are a lot of videos on bed leveling. They will have you adjust the Z-offset in the middle of the build plate. The Z-offset is what tells the printer where the bed is. When the printer thinks it is at 0 on the Z-axis, the nozzle should be just above the build plate. They they will have you disable the stepper motors and move the print head around to all 4 corners of the bulid plate. Using a piece of paper between the nozzle and bed, you'll turn the bed knobs so that there is a little bit of friction in the paper. Meaning if you wiggle the paper forwards/backwards, the nozzle should be trying to pin the paper to the bed. You want to feel the friction. If that area of the bed is too low there will be no friction. If it's too high the paper will not want to move and may buckle when you try to slide it forward. You want to feel friction. You will do this a few times. If you are going to stick with glass/mirror, mark a corner with a sharpie. This way you are always putting it back the same way as it was when you leveled the bed.

Taking it a step further, I would recommend getting a BL Touch or CR Touch. This is an add-on to most printers, but some are now coming with it. A BL/CR Touch is a special needle that attaches to the print head. As the head lowers the needle will touch the build plate. This serves as the new limit switch instead of the one that is on one of the Z-axis uprights. Since the needle is attached to the print head, it means the machine can now measure distances anywhere on the build plate. This can be helpful in two different ways:


OctoPrint is very powerful web application that can communicate with most printers. I have it installed on a Raspberry Pi. I no longer have to mess with a USB thumb key or microSD card to move files to my printer. Instead I can directly send them via OctoPrint. It does much more than that. I can start/stop jobs, monitor jobs with a webcam, control the printer etc... There is even a timelapse option if you want to take a picture after each layer. There are a ton of add-ons for it as well. One is Bed Visualizer like I described in the bed leveling section. If you are printing 5 things and one part unsticks from the bed, there is no need to stop the job and ruin all 5 prints. You can make an on-the-fly change so that it will only continue printing the 4 items that are still stuck. OctoPrint also gives you a terminal where you can directly type GCode commands to the printer. This is very useful when doing PID tuning.

Adjust Feedrate

You do not want to have under extrusion or over extrusion. When your print job sends 20mm of filament out the extruder, is it really 20mm? Use a marker or piece of masking tape to put a mark on the filament 130mm ahead of where it enters into the extruder stepper motor. Using OctoPrint controls, you can tell it to feed 100mm of filament through the exruder. Afterwards retake your measurement. If its 30mm then it means the feedrate is perfect. If it is 28mm it means it extruded 2mm more than you wanted. If its 32mm it means it was shy 2mm. You can calculate as a percentage how much it is over/under extruding. There may be a place on your printer to compensate for this. If not you can certainly do it in the slicer GCode. Slicer applications like Cura and PrussiaSlicer will have a "BEFORE PRINT" and "AFTER PRINT" GCode section. In the BEFORE PRINT section you can add the gcode to send this compensation before every print job. In my BEFORE PRINT section I added this code to compensate: M92 E101.064

PID Tuning

PID tuning can be done seperately for the heating element in the extruder and the bed. When you ask the heater to get to 80 degrees C, you want it to get to temperature as fast as possible, not overshoot your target temperature and to remain that temperature. The PID values stored in your printer are calibrated to achieve this. Every printer you buy should of already had PID values configured from the factory. However there are times where this needs to be done again. Maybe your printer is in a cooler environment. Maybe it is now in an enclosure and runs warmer. Maybe you upgraded your fan shroud and now your extruder has more air hitting it. Maybe the bed PID was setup for the factory 1/4" glass. Now you run a thinner PEI sheet or a thicker 3/16" mirror and it heats up at a different rate. After any major adjustments like this, you should do PID tuning. It can be done by running commands in the OctoPrint terminal. There are commands to see the current PID values, commands to calculate new values and commands to save the new calculations to the printer. The firmware that came loaded on my Creality CR-10S printer allowed for PID tuning on the extruder, but had it disabled for the bed. I had to download the source code, enable it in the code and then build my own custom firmware. This sounds more complicated than it is. It was really 1 line of code I had to uncomment (line 631 in photo). Then once I did the PID calculations I set them in the source code (lines 649-651) so if I ever made future firmware changes I wouldn't need to repeat the PID tuning afterwards. Here is a good video on doing the PID tuning: https://www.youtube.com/watch?v=q01P6bCo6S4


Most people start out printing with PLA plastic. This is easy to work with. It prints fast and sticks well to the bed. If you left something you printed in PLA in a hot car, it would start to shrink and deform. ABS is a good alternative but it is a lot harder to work with. It needs a hotter temperature and it does not stick well to a bed. For PLA I used 205 Degrees C for the extruder and 60 degrees C for the bed. For ABS I use 250 Degrees C for the extruder and 94 Degrees C for the bed. If using glass you need hairspray with ABS. It also has a strong odor. For those reasons I'd recommend an enclosure. It keeps drafts away from the print, and helps hold the heat and smell in. I ended up building my own enclosure ( See it Here ). If you think you'll need an enclosure you may want to see what is out there when deciding on a printer.


Hopefully this article was helpful for you. It contains a lot of tips I wish I knew when I got involved in printing. I just purchased a resin printer which is a different animal. I'll be making a similar article for that in the near future.