Print The Porto

A collection of tips about 3d printing.

True print speed

Ever wondered what the true print speed really is when you add in all of the factors. Found this great explination from Solidoodle forums

true print speed = feedrate * layer height * layer width

Print head types:

jhead = 100mm/sec * .3mm * .4mm = 12mm^3/sec
volcano = 25mm/sec * 1.2mm * .9mm = 27mm^3/sec

A Volcano is twice the speed of a standard j-head that printing at high speed. 1.75mm prints faster than 3mm when it comes to Volcano, confirmed by E3D.

Notice: Undefined variable: numCommentsStr in /home/cporto/public_html/print/site/assets/cache/FileCompiler/site/templates/markup/post.php on line 76


Updating your Printrbot firmware to use e3d v6 thermistor

I wanted to update to the firmware on my printrbot simple metal to the latest as of this writing (August 7, 2015), for the Rev F version 5 boards on Mac osX.

Here's a handy download of the simple metal hex file.

There is a excellent write up on the whole process at But for brevity sake here is how to do it quickly on a Mac.

Download the following:

  1. Pre-configured Arduino build environment for compiling Marlin on a Mac with the Printrboard This also requires java, if you don't have it installed go to
  2. Grab the latest firmware files for your board version on their Github page:
  3. Flash tool from Printrbot:

Once everything is downloaded we need to setup the Arduino app.

Start up the app and then go to the menu and choose Arduino > preferences. Next to the "show verbose output:" Make sure to turn on the "compilation" checkbox. Click "ok" to save the change.


Next set up the board that Arduino should use, "Tools > Board:" set to "usbtinyisp".

choose board

Now let's open the file to edit go to the firmware files you downloaded. For my particular case, I went to "Downloads > Marlin-RevF-Version-5 > Marlin" folder and double click the "Marlin.ino" file.

Go to the Configuration.h tab and scroll down to the line that says: #define TEMP_SENSOR_0 1. You want to change that "1" to a "5" So now it should read #define TEMP_SENSOR_0 5.


A few lines below change the max temperature for the hot end to 290, #define HEATER_0_MAXTEMP 275 to #define HEATER_0_MAXTEMP 290.


The last change to do is comment out #define ULTIPANE. Scroll down to line 457 and add '//' to the front of the Ultipanel line, change #define ULTIPANEL //the ultipanel as on thingiverse to //#define ULTIPANEL //the ultipanel as on thingiverse. Make sure to save the file after the changes.


Bonus from a member of the printrbot forum on facebook (Joe Nappi). Go to the tab tha reads config_adv.h and let's turn on the "heat Sanity check" by uncommenting it. Remove the "//" from lines 18 and 19 and save the changes after un-commenting them.

#define WATCH_TEMP_PERIOD 40000 //40 seconds
#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds

sanity check

Go to the language.h tab and edit line 25 #define FIRMWARE_NAME "PB Marlin Rev F v5" to #define FIRMWARE_NAME "PB Marlin Rev F v5 modded 4/5/16" and save the file. This allows you to run the M115 command to display firmware info and ensure you're running the modified firmware.

Lastly, compile the source into a firmware file, by clicking the big checkmark in the upper left corner of the app. On the bottom of the app, you should see a bunch code scrolling by. Eventually it will stop and you have a hex file. The easiest way to get to the file is by using the terminal to copy it to the desktop. Open the terminal app by using spotlight and type out "terminal".

When it is open you want copy the 2nd to last line in the output window of the audrino app (this is the location of the output firmware file) and type the following in the terminal window cp */*/*/Marlin.cpp.hex ~/Desktop/Printrbot.hex

For example I did the following for my configuration:
cp /var/folders/s2/pvmb1wld19j9p8ht3llnpcsw0000gn/T/build3876152333868340870.tmp/Marlin.cpp.hex ~/Desktop/Printrbot.hex

With your new hex file, you can use the firmware update application you downloaded earlier. Please refer to step 3 of You can follow the instruction on there for your machine. But quick overview is to first, make sure to short the boot jumper, which is located in the center of the board. If you don't have an extra jumper laying around, use folded aluminum foil. Start the firmware flash app you downloaded earlier and follow the command prompts from the application.


Categories: printrbot simple metal

Tags: printrbot simple metal, firmware, e3d


How to pause printing to switch filament

In order to do multi color print with one extruder. You can pause the printer at a specific height. Make sure your machine supports the M600 command otherwise just see what they use for said firmware. Just insert the following after the layer height call in the gcode file. For example search for "; layer 5" and add the following after it:

;Pause Code
G91 ;Set Relative Mode
G1 E-5.000000 F500 ;Retract 5mm
G1 Z15 F300 ;move Z up 15mm
G90 ;Set Absolute Mode
G1 X20 Y20 F9000 ;Move to hold position
G91 ;Set Relative Mode
G1 E-40 F500 ;Retract 40mm, this can be commented out if you just want to pause to insert magnets or something.
M300 ;Beep (marlin)
M600 X0 Y0 Z10 E10
G90 ;Set Absolute Mode
G1 F5000 ;Set speed limits, depending on slicer this can be set to your initial mm/min speed or it can be used for the following move only then the next layer will set the speed
G28 X0 Y0 ;Home X Y
M82 ;Set extruder to Absolute Mode
G92 E0 ;Set Extruder to 0

Running on smoothieware, make sure to have the following set up in your configuration file (from:

## for switching filament
leave_heaters_on_suspend true
after_suspend_gcode G91_G0E-5_G0Z10_G90_G0X-50Y-50 # Gcode to run after suspend, retract then get head out of way
before_resume_gcode G91_G1E1_G90 # Gcode to run after temp is reached but before resume - do a prime

Please refer to for more information at

There is also the G4: Dwell command

Example: G4 P200

In this case sit still doing nothing for 200 milliseconds. During delays the state of the machine (for example the temperatures of its extruders) will still be preserved and controlled.

Lastly if you use simplify 3D check this forum post on how to do it from the slicer:

Categories: gcode, tips

Tags: tips, gcode