Monthly Archives: June 2013

Using Slic3r with the Printrbot Simple and Repetier-Host

Seej Bloxen Flag, Basic

I’ll be using a basic Seej bloxen for my slicing demo. It’s more exciting than a test cube and potentially useful should a vigorous Seej match break out at your makerspace. You can never have enough bloxen sitting around. Grab the model here if you want to follow along.

Open the Object Placement tab and click on Add STL File. Navigate to the bloxen model and Slic3r drops it into your build area. The bloxen should be centered, but if it isn’t, you can fiddle with the translation and rotation values, or just hit Center Object. When you’re done it should look like this:

Added Bloxen

Click the Slicer tab (not the Slice with Slic3r button) and then click the Configure button. We have a few settings to adjust.

This is the point in the tutorial where normally I’d walk you through changing a half dozen parameters. Teach a man to fish, Lao Tzu says, and he’ll eat for a lifetime. Screw Lao Tzu. You want your fish now. You can learn to fish in an hour after your belly’s full.

So I’ve zipped up the settings that have been working for me and put them up for download. You can just swap out whatever default settings showed up with Slic3r with the contents of this archive right here.

On OSX, Slic3r stores its settings in three subdirectories within

~YourUserName/Library/Application Support/Slic3r/

You can copy the archive contents into that directory and you should be good to go.

I have no idea where these settings will be saved in Windows. If you’re on Linux, you’ve already written a shell script to slice models using spare cycles from your video card and can stop reading now.

warningWARNING: The usual warnings about destroying your printer by using the code I’ve provided apply. Use these settings at your own risk. You might think about backing up your old settings in a safe place, just in case.

Once you’ve got the settings installed, click the Slice With Slic3r button. You should have a pile of G-Code in your G-Code panel. I’ve been consistently deleting/commenting out a couple of lines from my code and have gotten good results by really babysitting the first layer of my prints.

Delete this Code

If you comment out the code by putting a semicolon in front of it, the printer won’t use it but it’ll still be there for reference porpoises:

;G28 ; home all axes
;G1 Z5 F5000 ; lift nozzle

This assumes that I’ve manually homed my printer by moving the print bed all the way to the right and the extruder arm as far forward as it will go. The hot end should be over the bottom left of the print bed.

If you’ve manually homed the printer, make sure you hit the Set Home button the the Print panel before you print.

I watch the extrusion carefully on the first layer and adjust the Z-axis manually (physically turning the leadscrew with my fancy new Z-Axis Knob) to make sure I get a good adhesion on the painters’ tape. Once I’m satisfied that the first layer is OK I’ll go wash dishes or something while the printer burbles away.
First Layer

Let’s assume everything turned out more or less OK for you and you’ve got a mostly-perfect bloxen sitting on your print bed. Now would be an appropriate time to learn to fish.

Layers and Perimeters

Layer height: I’ve been getting OK results with .35 mm. This is fairly coarse for a machine that claims .1mm resolution on the spec sheet, but for something as plain-jane as a bloxen it’s probably OK. If you get a .35mm layer bloxen to work, try a higher resolution on a more complicated model. This Magic: The Gathering Beast Token is a great detail test.

Infill

I leave this density at .25 when printing with PLA unless the object’s going to undergo physical stress. If I go much lower I find that the top layer of PLA tends to sag too much for my tastes.

Skirt and Brim

I’ve set my skirt layer height to 0 layers, which effectively turns it off. If you’re not 100% confident in the levelness of your bed, using a skirt can give you a few seconds to nudge your Z-axis before the main body of the print begins. A brim will apparently help your print stick, but I haven’t had to use one yet. Hot PLA and a level platform goes a long way towards sticking to painters’ tape.

Support Material

I try hard to design models that print without support, so I’m not a good source for information on this setting. Keep it off unless you’re printing something that needs it. I keep the raft layers set to 0 as well; no sense in printing more than we have to if things are sticking to the platform anyways.

Filament Settings

Even though your Simple ships with 1.75mm filament, somewhere in a Printrbot setup guide I recall reading that you should set this to 1.70mm. Sure, whatevs.

I’m printing with PLA at 200° for the first layer and 190° for subsequent layers. Go much hotter than 210° and the PLA that printrbot shipped with the Simple starts getting liquid. This seems to work for loading the hot end, but I wouldn’t want to try and print with liquefied PLA.

Printer Settings

I’ve set my Simple to have a 100x100mm build platform, since most of what I’m trying to print is tiny and I usually end up manually homing the printer anyway.

Clearing a Jammed Filament

printrbot calibration fails

In the beginning, One does not know that which One does not know. The Dark Art of 3D printing is shrouded in a miasma of confusion and rage and smug forum posts, and One despairs.

With time, kobolds and goblins and glitches and bugs fall beneath one’s blade as vermin are wont to do, and One’s place at the tavern edges ever closer towards the dim corner where the new Ones timidly approach to receive their quests.

And when One’s troubleshooting reflexes are honed vorpal-sharp, One is a scythe to trouble, or a rapier, or a headsman’s axe, and no issue endures the coming of dusk.


As troubleshooting goes, this is an easy one, but the trick to it is recognizing when it’s happening. This happens on my Replicator, too, it’s just a thing with FDM printing.

The Symptom: The extruder motor pulls the filament in for a few centimeters, and then stops. You can’t feel the motion of the filament between your fingers any more. The extruder motor continues to chug to no effect.

The Problem: A small piece of filament has snapped off inside the extruder, past the drive gear’s ability to move it further. This filament scrap is blocking the new filament from entering the hot end.

The Solution: Remove the hot end from the extruder assembly by backing out the screws that hold it in. Place the hot end on a non-flammable surface and heat it up to 200°C or so. Remove the offending filament with pliers. Let the hot end cool down and then replace it.

Pro tip: an animal-print workspace brings the boys to the yard. Gridded workspaces are sooooooo 2012.

Planting a Flag, Redux

Seej Battle Flag, Basic

About a year ago I designed the Seej Battle Flag, Basic to be printed on my Replicator1. A user on the Printrbot forums was having trouble getting it to print, so I decided to see if I could get it to work myself. Good news! It can be printed on a Simple without any voodoo involved.

It helps if one doesn’t try to print the model all at once, so I’ve broken it into three parts and updated the entries in The Forge and on Thingiverse accordingly.

I find leveling the Simple’s bed along the Y-axis to be a little difficult, especially as the weight of the extruder arm at maximum extension pulls it down in Z. I understand there’s a fix for this, I just haven’t had the chance to apply it yet.

I’ve aligned the parts of the battle flag along the X-axis, which should make them a little bit easier to print individually.

If you’ve never heard of Seej before, check out the rules and give it a go. It’s an Open-Source tabletop wargame based around 3d printing. Have at thee!

Printrbot Z-Axis Knob, Refined

I find myself adjusting the height of the Z-Axis on my Printrbot Simple with every print, sometimes during the print itself. Handling the leadscrew directly can get a little uncomfortable, so having a knob attached to the top of the axis helps a great deal.

Printrbot Z-Axis Knob

downloadThis knob is based off Bill Owens’ Printrbot Simple Z-Axis Knob which is in turn based on jridley’s Parametric hex head screw or nut knob. Circle of LIIIIIIIIFE

This version has some rounded edges for comfort because I’m a delicate desert flower that only blooms once a year and I must preserve my girly hands for stroking my Shih Tzu.

Did you hear about the new zoo that opened in Chicago? It’s only got one animal: a dog. It’s a Shih Tzu.

This knob also has some transitional elements between the two major volumes, and a graceful inverted flare on the shaft. These are completely unnecessary aesthetic changes to the perfectly-usable model made by Bill Owens, but since complexity is free in 3D printing, why not.

Here’s a perfect demonstration of how the Creative Commons license fosters creativity. First, in need of a knob, jridley throws together a parametric design and shares it on Thingiverse. Now anyone can adjust a few numbers and get a printable knob.

Standing on the shoulders of that giant, Owens refined the basic design until he got a knob he could use in his particular situation. He puts it up on Thingiverse where dozens of Printrbot Simple owners download and start using it.

I don’t know much about OpenSCAD, the software jridley used to design the original knob. But I can take the output into software I’m familiar with and edit the geometry to fit my needs.

All legal, all free, no ethical quandaries or patent fights. All we have to do is give each other credit where credit is due.

I found Owens’ knob to be a little loose given the crop of nuts grown in my part of the world, so this model might be a little tighter or looser for you.

You will need a pair of 5/16″ nuts to use this knob properly. Put one nut on your z-axis leadscrew, attach the knob, and then tighten the second nut.

The model is also available in The Forge along with assorted other baubles.

Calibrating the Printrbot Simple

printrbot calibration fails

As a barebones 3D printer the Printrbot Simple needs a little bit of software love before you can reliably print stuff. You’ve gotten your printer together, the X-Y fishing lines are tight, and it’s plugged in. You’re satistifed that despite your hamfisted build process, the bot won’t catch fire, and it’s time to get it calibrated so you can get started on your adventures in 3D printing.

First things first, download and install Repetier-Host. I’m using Version .56 on OSX, but the clicky points should be pretty much the same no matter what OS you’re on. If you’re a TL;DR type, skip to the starting gCode settings at the end of this post and proceed from there.

Repetier-Host desperately needs a name change. In the hierarchy of 3d printing software names, MakerWare is clearly the hep cat, followed by ReplicatorG. Pronterface sounds like a schoolyard insult, and Repetier-Host is the foreign exchange student who eats his own scabs.

Connect to the printer with the button on the top left of the screen. Assuming you get something cryptic in the log at the bottom like:

5:37:47 AM: FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1

You’re connected and ready to go. First, let’s calibrate the X-axis.

The plan here is to find the difference between how we’re telling the bot to move in software and how it’s actually moving in hardware. Variance in motors, line tension, humidity, gear slippage, localized tachyon concentrations, sunspots, Lindsay Lohan, all these things contribute to unpredictability in the Simple’s motion.

Once we find the difference we’ll write a little bit of simple gCode to correct for it.

The first thing you’ll do is set a default value for the X-axis steps per mm. I’ve been using 114.20, but any number in that neighborhood will work for this step. You’ll likely change this value later, so don’t worry too much about it.

Go to the Print panel and enter the following gCode in the G-Code field (inside the Print Panel tab) and then click Send:

M92 X114.20

Not much will appear to happen, but Repetier-Host has silently told your Printrboard to set the steps per mm of the X-axis motor to 114.20. We’re off and running with the calibration process.

Now move the print head all the way to the left. I do this by disconnecting the power supply to disengage the motors and physically sliding the print bed to the right, as if it were an old-style typewriter carriage.

warningWARNING: It looks like physically moving the X-stepper this way generates a current, which you’ll see lights up the status LED on the Printrboard. I’ve done this dozens of times with no apparent damage to the bot, so I’m assuming there’s a diode in there somewhere protecting it. Manhandle your bot at your own risk.

Once you have the X-axis homed, move the Z-axis up just enough that you can slide a ruler under the print head. I’ve covered my print bed in painters’ tape to help prints adhere, which also makes a handy writing surface. Record the start position of the print head with a mark on the tape.

marking the first line

Remove the ruler and click the X +10 button 5 times, for a sofwtare move of 50mm. Record the position of the head again and measure the distance between the two points, in millimeters. Mine was 46mm in this case, but yours may be different. In the unlikely event that your hardware move already matches your software move, congratulations! You’re done with X and can skip on to calibrating your Y-axis.

If your print bed doesn’t move or moves haltingly, there’s a good chance that you don’t have enough tension in the X line. Tighten it up and try again. The first few times I adjusted the line I was being way too gentle and got unpredicatble movement in the print bed, especially before the motor took up the slack on one end. Really pull hard on the line, like you’re trying to land a walleye.

A note to our international readers: a walleye is a type of North American antelope traditionally hunted with tethered harpoons.

We need a little bit of math to figure out our steps per mm. The Magic Formula is:

(old steps value * software move) / hardware move = new steps value

So plugging in our values we get:

(114.20 * 50) / 46 = new steps value

Which evaluates to 124.13 for my bot. Put your value into the gCode field like this:

M92 X124.13

And hit Send again. Test your X calibration by moving the print head back to the left with the X -10 button and recording the position. Repeat as needed until you’re satisfied that the print head is moving precisely enough for your needs. I’m OK with a little slop in my calibration because I’m trying to have fun with this machine and not get obsessive about print quality. It’s not like I’m printing jet engine parts here.

Repeat this process with the Y-axis, except swap the X for a Y in your gCode. I calculated a Y-value of 114.58 this time.

M92 Y114.58

The process is very similar with the Z-axis. Measure the distance from the top of the leadscrew to the extruder head, Z-move the extruder in software, and measure again. I’ve got one end of the ruler resting right on the plywood, sandwiched between the leadscrew and the head of a hex nut.

UPDATE 6/3/13: Read Bill Owens’ comments below on Z-axis calibration.

measuring the leadscrew

Plug your measurements into the Magic Formula and calculate. Calculate like the WIND!

After you’ve got the motion motors moving the way you think they should be, the next thing to do is calibrate the extruder motor. You need to make sure that the motor’s feeding enough filament to the hot end, but not so much that you spaghettify your print bed during a print.

The process is pretty straightforward: wrap a piece of tape around the filament, 10 centimeters up from the extruder.

filament

Set the extruder temperature to 220°. Repetier-Host won’t let you extrude with a cold hot end, so while you’re waiting set the extrude distance to 10mm. It shouldn’t take more than two or three minutes to go from room temperature to 220°.

If your hot end gets up to around 80° and stalls, check to make sure the power supply is plugged in. USB power will get you to 80° without the power supply, which can be deceptive.

After the extrusion is done, measure the distance to the tape again, and use the Magic Formula one more time.

Once you think you’ve all four motors calibrated, it’s time for a test print. You’ll want something simple and small, so that you can iterate quickly through test prints and really home in on the correct settings for your printer.

I’ve been using a 2x2x0.5cm test lozenge, which you can download right here if you’re not into 3d modelling yourself. The lozenge is nothing fancy, no bevels or geegaws. I keep the gCode for it handy so that I can quickly calibrate after a mishap or hardware adjustment. Do not suck the lozenge.

I’ll be exploring Slic3r and test printing in a subsequent post. For now just accept the defaults, hit Slice with Slic3r, and cross your fingers.

Before I print, I put my calibration setting into the Start gCode dropdown. If you’ve never done this before the dropdown can be a little hard to find:

start gCode

Here are the values that have been working well for me lately. They’ll be decent default settings for a Simple, but more than likely you’ll be tweaking them for your own bot. Note that these are a little different from the values I calculated above– there’s been some adjustments done to my bot since I originally started measuring things.

M92 X112.20 ; calibrate X
M92 Y112.58 ; caibrate Y
M92 Z2387.0719 ; calibrate Z
M92 E450 ; calibrate E

Assuming your print bed is mostly level you should have a printed lozenge in short order. Check the dimensions with a pair of calipers and adjust the print settings repeatedly until your OCD is satisfied.

Once you’re reliably printing lozenges, head on over to The Forge and grab a more complicated model to try out.

Also! Pledge fealty to The Horde to receive the latest Zheng3 models along with assorted other useful giblets like this calibration guide.

printrbot calibration fails