Tweak Simplify3D GCode End Script

I recently posted about a small tweak to the Simply3D starting script for Printrbots to allow it to home the machine properly at the beginning of a print. I just upgraded to Simplify3D version 3.0.1 from version 2.2.2. I was reminded that there is no GCode to turn off the fan when a print completes. Sometime I print overnight and want to make sure the fan does not run unnecessarily for hours after a print completes.

The edit is simple, just add one line to turn off the fan using the M107 code:

The edited Simplify3D “Ending G-Code” script, which can be found in the Scripts tab in the settings for the printer process, looks like the following:


Tweak Simplify3D GCode Start Script

Initially, I print a lot while tethered to my Printrbot Plus Metal because it allowed me to prime the extruder with plastic prior to printing to make sure my print started properly and also provided a lot of feedback, for example, how much time is left to print a model. And it allowed me to manually home my machine prior to printing by clicking home all.


However, more recently I’ve started to print more often from a micro SD card or via OctoPrint so I don’t have to tether my laptop. Without being tethered, I can run longer prints. I use the OctoPi distribution to run OctoPrint on a Raspberry Pi computer, which I will discuss more in a future blog…

Although for years I’ve sliced and printing using Repetier/Slic3r and Cura, more recently I have been slicing and printing using Simplify3D. I like Simplify3D because it slices better (better final printed piece) and also allows for precise placement (addition/deletion) of support. Although it is possible to use Cura to slice in OctoPrint, I don’t. I do all my slicing with Simplify3D and save/export the toolpath GCode to a micro SD card to print via an SD card or upload to OctoPrint’s website if printing via OctoPrint.

One thing that has been annoying me is that my Printrbot Plus Metal (with the auto Z height probe) is not setting the Z axis properly before it prints using Simplify3D. The issue is that the Z axis is left about 1″ above the bed, which is way too high, and that is the z height where it starts printing, which is obviously makes every print fail. However, the Z height is being set properly when I print with Cura. So, up until recently, when I use Simplify3D, I have to manually home the machine (by clicking home all from Simplify3D’s Machine Control Panel). If I’m printing while tethered, it is not a big deal to manually home the machine by clicking one button, but if I want to print untethered, it is inconvenient to have to plug in the USB cable and connect to the printer just to home the machine prior to printing untethered. And if a print fails while printing untethered, I have to connect again to the printer to home it before restarting a new print.

So I got fed up and decided to investigate how to cause my printer to auto home prior to every print…

I compared the generated GCode from Cura (homes machine properly) and Simplify3D (does not home properly) to see what was different in the initial setup where the printer is homed and prepared to print. The original Simplify3D “Starting G-Code”, which can be found in the Scripts tab in the settings for the printer process, only contained two lines:

I found that I needed to insert one new line (line 2 below: “G28 Z0″). NOTE: this only works for printers where the Z height is set in the firmware or where a functioning Z probe is installed and configured.  Line 1 tells the printer to move along the X and Y axis until the end stops are triggered on each axis. Line 2 (this is the new line) tells the printer to move the Z axis until it’s end stop is triggered, which in my case for the Printrbot printers will be when the sensor senses the metal bed. Line 3 initiates the process to auto level by checking 3 points on the bed.

I updated my “Starting G-Code” script in Simplify3D to add the second line. Now, the GCode created from Simplify3D always has the correct codes to home the machine properly. So whether printing tethered or untethered, I don’t need to manually home the machine.

One last tip, if you are planning to print from an SD card or OctoPrint, it is a good idea to include a skirt that has enough outlines to get your extruder primed prior to starting your print. For large objects (3+ inches in diameter), 2 outlines may be enough. But for smaller objects, you may want upwards of 4 lines or more to make sure your extruder is laying an even bead of plastic when your piece starts printing.

Printrbot Metal Plus – Mandatory Updates & Modifications

If you were lucky enough to get your hands on one of the first versions of the Printrbot Metal Plus printers, model 1504, you are probably a very happy person.


These printers are such a huge improvement from the previous wooden Printrbot Plus versions given their rigidity from the metal frame and experiencing-altering upgrades such as an auto-leveling bed. But, if you have one of these Printrbot Metal Plus printers, there are three modifications that are critical. If you bought your printer in June 2015 or later, these modifications should already be included in your kit or built Printrbot Metal Plus. If you bought your bot prior to June 2015, you should definitely check and order these (some free) upgrades from Printrbot if you don’t have them on your machine! Note that the first two upgrades are specific to the Printrbot Metal Plus, but the third (extruder) upgrade is something that anyone with a metal Printrbot printer (especially the Printrbot Metal Simple) should be looking to do as an upgrade.

Here is a brief description of the three mods:

  1. Wire Relief for Printrbot Plus
    What happens when you bend a copper wire over and over and over? It snaps and breaks! That is a fairly common issue with all 3D printers, that wires can break after enough repetitive bending. Wires need to be flexible and move somewhat as the extruder moves in multiple axes. The way to minimize or eliminate this threat of breaking wires is to have your wire bend over a longer length (less sharp angle) and not have a tight bend anywhere that is flexing.wirereliefKitThe free wire relief kit from Printrbot consists of a new bracket that holds your extruder/hot end, z sensor and extruder stepper motor. The kit is a bit time consuming to install as it requires dismantling your extruder completely. The most important part of the kit is a somewhat flexible plastic bracket that guides all wires at a 90 angle from the back of the extruder bracket, therefore eliminating any sharp angles that tend to put stress on you extruder wires. Note that a variation of this kit is already included in the Printrbot Metal Plus dual extruder upgrade kit and contains the flexible plastic bracket to ensure the optimal mounting of wires leaving the extruder bracket.
  2. Spring and screw kit for Printrbot Plus
    Initially, when the bed was heated on my Printrbot Plus Metal, I would hear and see the issue in my prints. The bed would make a crunchy noise as the bed moved along the Y axis (front and back). In the print, I would see the print drifted, meaning aspects of the print that were supposed to be vertical would be printed slanted in about a 45 degree angle. This was due to the fact that the bed would stick a bit and not move along the Y axis properly and was not positioned properly throughout the print and resulted in a slanted print. When the bed was cool, it was able to move along the Y axis (front and back) without any issue, resistance or abnormal sound. Once the aluminum bed was heated, the metal bed expanded the and bed no longer moved freely (without any resistance). When heated, the bed actually was expanding and would catch a bit in the track (on the left and right side) as the bed was pushing against the sides of the brackets and bearings. The original design has the brackets for the bed securely attached to the printer frame. The kit allows the bracket on the left side to move every so slightly when under pressure from the heated bed, therefore allowing the bracket to move slightly to accommodate the heated (expanded) and cooled (contracted) bed. The spring and screw kit (you may need to contact Printrbot support, support at, to get this part as I don’t see it listed on the Printrbot website any longer) consists of 4 longer screws and 4 springs. The spring and screw kit replaces 4 short screws (that connect the bracket to the frame) with longer screws along with a sprint for each longer screw. The springs are strong enough to provide a lot of pressure to hold the bracket firm. However, when the bed expands and pushes against the bracket, the bracket can move a tiny bit as the springs have it secured with a bit of wiggle room possible when the right force is applied. And when the bed cools, the bracket is pulled in a bit. Below is a picture to illustrate the point. In this first sketch, you can see the initial flawed design where the bracket was securely connected to the frame and is not able to move at all with the two screws tightened snug:screwkitbefore
    In this second sketch you can see the fix when the free spring and screw kit is installed. Longer screws are tightened against springs, which still keeps the bracket tight, but allows for a slight bit of movement given the slightly oversized holes in the frame, which allows for enough movement to accommodate the build plate’s expansion and contraction:screwkitafterThe fix only took about 30 minute to install. Most of the time was removing the many screws to take the bottom off the Printrbot Plus Metal. And the repair kit completely fixed the Y axis drifting issue. BTW, this is just an issue for Printrbot Plus Metal printers that were shipped through spring of 2015. New Printrbot Plus Metals that are shipping today already incorporate the spring and screw kit.
  3. Printrbot Alu Extruder V2
    Printrbot upgraded their aluminum extruder (Printrbot Alu Extruder V2) to shorten the distance from the direct drive extruder filament gear to the hot end. And to eliminate unnecessary space surrounding the drive gear. Why? To allow more flexible filaments to work properly in your printer. PLA is rigid enough that it works in just about any printer. ABS is a bit more flexible, but most printers will also work with ABS as they have been tested or were modified to use the PTFE or metal tubing “extruder straw” technique. However, as you move to even more flexible filaments such as NinjaFlex filament, you need to have an extruder that is setup for such flexible filaments. Extruders, such as the Printrbot Alu Extruder V1, have too much room between the filament drive gear (that makes your filament move into your extruder) and the top of extruder. As the filament is pushed down into the extruder, the heat from the extruder makes the filament even more flexible and it will get pushed into a tangled pretzel instead of being pushed into the extruder. With this upgraded extruder, the distance from the filament drive gear and the top of the hot end are made as short as possible and does not allow the filament to get tangled.This is a pictures of the Printrbot V1 aluminum extruder, note the large distance between the drive gear to the metal path to the hot end indicated by a red rectangle. Also note the space under and around the drive gear, where filament can get tangled:extruderv1Below is a picture of the Printrbot V2 aluminum extruder, note the short distance from the drive gear to the metal path to the hot end and no space around and under the drive gear:V2extruder
    There are workarounds to print flexible materials, mostly in the form of guides that provide some rigidity to the filament after leaving the drive gear, but none of them are as reliable as upgrading to this V2 extruder.One fun fact, there is a special version of the V2 extruder that has a shorter top aluminum arm. You can see the spring arm (where you press with your thumb to release the spring and load or unload your filament) is longer on the v2 extruder. I would assume that is longer so it is easier to press the lever on the V2. However, if you have a dual extruder setup, you need to order the special V2 extruder that has a shorter arm so it does not interfere with the tighter dual extruder setup.