Saturday, September 16, 2017

Blobs when using ColorPrint on a Prusa i3 MK2(s)

Are you experiencing big blobs at color changes during a muti-color print (single mode, not multi-material mode)?
The problem is caused by Prusa's ColorPrint when you have any retraction amount above 0 in the extruder settings of Slic3r PE.  If you need/use retraction, and I almost always use it, you have to modify the gcode spit out by ColorPrint.  Here's how, and why.

Open the gcode file in wordpad

Use "Find" to look for "M600"

The next line after the M600 will look something like this if you have retraction set to .8 in Slic3r

G1 E0.80000 F2100.00000

"E" is an extrude command and the figure after E is the retraction or extrusion distance.  The F is speed.

If the figure after E is positive, it means extrude.  Negative means retract.

So when you ask for a color change at Z1.00, Color Print will insert the following into your original
gcode right after the G1 Z1.0 line:

M600
G1 E0.80000 F2100.00000

There's a problem with this.  The M600 command calls up the filament change subroutine.  It moves the nozzle to the RF of the bed, ejects the filament, sets off an alarm and waits for you to insert the next filament. Once you insert the new filament and click the wheel, it extrudes to clean the nozzle of the former filament. You are then prompted to check if the extrusion is clean.  If you answer yes, (grab that extruded cleanout filament!) the nozzle will immediately go right back to the place where it stopped printing and this is the end of the M600 subroutine....and here's where the problem occurs.

The nozzle is full at this point.  So full that it is already oozing, and the next line of gcode says "spit out .8mm."
This causes a blob on your model where your new color begins!  And it is going to make a blob based on the retraction amount you set in Slic3r, the higher your retraction setting, the bigger the blob! Deleting the line of code in this example (G1 E0.80000 F2100.00000) after the M600 will get rid of the blob.  You have to check after each M600 line, so go back to "Find" in Wordpad and click "next."
Save the revised gcode and you are ready to print!

Saturday, December 10, 2016

Tom's Mostly Printed CNC (MPCNC)

Tom's MPCNC

When finished, this is going to be a 3 axis CNC milling machine.  All the 3D printed parts and the metal bars are finished and this is the mock up assembly to make sure everything went together as expected, and so far so good.

What does it do?  Well, a CNC mill cuts material away from a blank, such as a block of wood, plastic, or aluminum, using precise movements in 3 dimensional space.  A spindle of some sort, such as a Dremel Tool or a router is mounted to the assembly in the center of the machine to drive cutting bits like drills and end mills and the machine moves this spindle left/right (x), forward/back (y), and up/down (z).  This is opposite from a 3D printer which adds material.  Both have undeniable value in the Maker's world.

Now the cool thing about this machine is that the spindle drive motor can be swapped out for a 3D print head, a laser, a hot knife (to cut foam) or a drag knife (to cut vinyl).  And since the machine minus my time to make it costs under $500, it is not out of the question to build several machines and dedicate each to these different tasks.

The software that runs this machine is either totally free or ridiculously cheap and worth every penny.  My design work will be done mostly with Autodesk's Fusion 360, which has a built-in CAM package to create the g code programs that tell the machine how to make the part.  Fusion 360 is FREE for students, hobbyists, and small start up companies.  If you are young and want to get into CNC or 3D printing, you need to learn this program.  There is no doubt in my mind that it is the future of 3D CAD/CAM.

I did not design this machine.  I have only printed the red and black pieces (GA Bulldog Colors!) on my 3D printer and cut the metal bars, which are made from 3/4" conduit.  The other parts and instructions are available on the designer's website vicious1.com.  I am really impressed by the design and how rigid the printed parts are.  I mean seriously, as I'm assembling it I'm thinking to myself, "I could never come up with something like this."  Well not yet anyhow.

The instructions have a calculator that gives you cut-lengths for the metal tubes based on the build area you specify.  The larger it is the less accurate it is.  The size of my build area is 20"x20"x5.5" (x,y,z).  The "z", or vertical travel is a little misleading because the build surface of the table I will make to go with this machine will drop down.  I have not decided how far, but probably 18.5" in half-inch increments giving me plenty of room to work on tall pieces.

The Dremel Mounted to the Z axis carriage.

For anything substantial in size or hard materials, the Dremel is simply insufficient.  It is just fine for testing and learning though.  I intend to eventually mount a spindle that allows CAM driven RPM control and significantly greater power. 

Friday, December 9, 2016

Get A Great First Layer! Original Prusa i3 MK2 Bed Level Correction

The following is my full calibration procedure for my Original Prusa i3 MK2 3D printer.  I'm posting it here because this question gets asked often and I don't want to re-type it again.  Here's my disclaimer.  The following may crash your printer.  If you use the information here, it's on you, not me.

If you are using the standard .4mm nozzle, I strongly advise printing your first layer at .2mm  and start with WHITE PLA because it is the most forgiving and easy to see.  The "0.20mm Normal" settings as packaged in the Prusa Slic3r should work great.


Read Prusa's 3D Printing Manual!  The calibration info beginning on page 15 is important to do first.  Also, look at the bottom of page 22 for a photo of how the first layer line should appear.





  1. Write down all present settings as the new ones will likely be close. 
  2. Clean the bed with acetone and don't put anything on it.  PLA will stick.
  3. Reset live z and bed level correction to 0.
  4. Run the full xyz calibration on the LCD panel.  Assuming x and y calibrate OK (your printer as-built is square), move to step 5.
  5. Run the V2 calibration g code file that came with your printer over and over, adjusting live Z to be as good as possible. A more negative number moves the nozzle closer to the bed... so -.500 is closer than -.200.If your PINDA probe is set properly, your live z will be closer to -.500. You only have 1mm of adjustment here so if your number is more negative than -.850, I suggest resetting the PINDA closer to the bed and go back to step 3.
  6. Download the 30mmx30mm calibration squares file and print it, adjusting live z to get all the squares as good as possible.
  7. Using bed level correction on the LCD, adjust each square's setting about 20 microns at a time until all squares are as good as they can be.
  8. If that is not good enough, reset the LCD bed level correction numbers to 0 and alter your starting gcode as shown below....obviously with your own settings.





    You can adjust +/- 50 microns under calibration>bed level correction on the LCD. OR you can adjust +/- 100 microns in the G80 line of your start g-code. You cannot do both and 100 microns is the limit. (Machine will report an error if you go more than 100) In Slic3r, the start g-code is in the "Printer Settings" tab under "Custom G-code"


    If you have not adjusted your G80 line, it should read: G80; mesh bed leveling


    My G80 line reads: G80 L-90 R-100 F100 B50; mesh bed leveling


    You MUST have a G80 line in your start g code. If you don't you WILL crash your nozzle into your bed!


    What mine "says" is move the nozzle 90 microns closer to the bed on the left side(L-90), 100 microns closer on the right side(R-100), 100 microns away from the bed on the front (F100), and 50 microns away on the back (B50). The baseline from where these moves are made comes from your live Z adjust position.


    Once dialed in, write down all your settings just in case they get deleted. If your bed is warped beyond this guide's scope, you may have mounting issues or require a new bed.

I Make Stuff!

I make stuff.  There is little that I have ever done in my life that brings me greater satisfaction than coming up with an idea, drawing and designing it, and 3D printing and/or fabricating/machining it into a real life thing.  The tools available to achieve this are nothing short of amazing.  After the napkin drawing, I use Autodesk's Fusion 360 3D modeling CAD/CAM (Computer Aided Design/Manufacturing) software to create a 3 dimensional model. Fusion then allows me to either export a 3D print file called an .STL file, or I can use Fusion's CAM capabilities to create a file for a CNC (Computer Numerical Controlled) milling machine or lathe.  The finished items are often pieces of assemblies that are screwed, glued, or snapped together, often containing electronics.

My 3D Printer is an Original Prusa i3 MK2.  It is a FDM or "fused deposition modeling" printer that super heats plastic filament into a semi-liquid state and then precisely extrudes the plastic onto a print bed, building layer upon layer.  I can make just about anything that will fit in the 250mm x 210mm x 200mm build space from a variety of printable materials.  Materials range from flexible rubber-like to high temp wax (to create mold negatives for lost casting) to common plastics like ABS, PLA, Nylon, and PETG.  There are even materials infused with carbon fiber, and wood.  If you want to get into 3D printing, this printer is a great way to do it as it uses induction probe technology to get the printer calibrated.  Most of the challenge to 3D printing is laying down a good first layer and proper calibration is key to achieving this.  Another first layer issue is getting the extrusion to stick to the bed.  The MK2's bed has a sheet of PEI laminated to it and this solves the sticking issue for most common print materials without the need for glue.  This printer was named the best desktop printer of 2016 by Make magazine.

If you are interested in having me make something for you, visit my 3D Hub:

3D printing is not that tough, but there is a learning curve and if you aren't going to be making a lot of parts, it is likely cheaper and easier for you to use a print service like my hub.  Ready-to-print .stl files of myriad designs are readily available on the internet on sites such as Thingiverse.  Or you can hire someone like me to draw your idea.  There are also print-on-demand repositories like Shapeways where designers upload their designs for you to order.  The service prints and ships you the part and the designer gets a cut.  So you don't have to learn design.  If you are good at design but don't want to deal with physically printing things yourself you can make money by uploading your designs to these print-on-demand sites for you and/or others to purchase.  Point being, you can wade in to this.

Prior to printing, the .stl file must be loaded into a slicer program which slices the 3d model into the layers that are stacked upon each other vertically by the printer.  This program also defines other printing parameters such as layer height (resolution), extrusion nozzle and print bed temperatures, feed rates and speed, and print density (infill %).  My printer has a .4mm diameter nozzle and can produce layer heights as thin as .15mm.  I can go even thinner, but it requires a nozzle change.  For most purposes, a .2mm layer height provides the detail I'm after.  The slicer program produces the g-code file that the printer runs to actually make the part.

I find myself helping folks on forums and Facebook and this help eventually ends up getting lost in the information overload of these sites, so this blog is my solution.