Friday, 11 May 2012

Calibration - Motors (stepper drivers)

As with all calibration steps you should take your time (as long as you need) and try to be as accurate as possible. Calibration will directly affect the quality of your prints.

In order to calibrate the drivers the printer must be powered on, connected to your computer and requires you to be working very closely with the electronic parts. For this reason I highly recommend you take basic electrostatic precautions before doing this (more information in the notes section).


Calibrating the stepper motors is very straight forward and requires only a small flat headed screwdriver and a little time (the fastest calibration step).
However if you miss this step or wing it you can are likely to have issues with overheating (of the stepper drivers) and/or missing steps.


Ok enough of the disclaimers and introductions.

First get your small flat heated screwdriver (you can use a cross head with official Pololu's, but a flat heat works with both Pololu's and stepsticks) and turn the trim pot (the bit highlighted in the below image) counter clockwise until it reaches home.
Now turn it back 1/4, using PrintRun move the motor attached to the stepper driver you just adjusted.
Slowly turn the trimpot until the stepper motor moves. Once its moving stop PrintRun then turn the stepper driver just less then 1/4 more.

Rinse and repeat with each of the stepper motors/drivers.


For the Y and Z you need the carriage on and hotend installed, otherwise the motor will be calibrated excluding this weight.

Electrostatic precautions;
  • Don't touch the electronics directly (use the screwdriver)
  • Don't do the calibration when wearing socks without shoes, especially on carpet
  • Do ground yourself before doing the calibration
  • Above all don't moon walk on a carpet when wearing wooly socks, trousers and jumper before doing the calibration.

Thursday, 15 March 2012

Slicing and Hosting Software

Now if your new to 3d printing the terms slicing software and hosting software might a bit weird.
A slicing program takes a 3d model and translates it into G-code. Its like a building designer passing drawings to a engineer so they can make plans.
The host program sends all the gcode to the printer.

Slicing software

At the moment there are 2 (as far as I can tell) biggies; SFACT  -the new SkeinForge and Slic3r.

I've personally only tried Slic3r which works very well.

RichRap has an excellent setup and usage tutorial (link) on his blog. He goes through pretty much every setting as well as showing the difference changing the settings can make.

I've heard very good things would SFACT and its parent SkeinForge however I've resisted the urge to give them a real it as I've heard its a pain in the neck to get up and running.

Here a quick comparison of the interfaces.

Yes that's 4 tabs in Slic3r and over 30 in SFACT.

Hosting Software

Unlike slicing software there are quite a few different hosting applications out there all pretty popular. There's ReplicatorG, PrintRun (pronterface), Repetiter and RedSnapper just to name a few.

So far I've used only PrintRun and Repetiter.


I found Printrun very easy to setup and run. The windows file even has a nice .exe file to run which saves downloading and installing the separate Python packages.

The interface is simple and very straight to the point, ideal for testing and calibration.
So far I've had no issues with PrintRun so I'm reluctant to change it for any other host software until I've got a little more experience under my belt.


From the little I've used Repetiter it feels like a more grown up version of PrintRun. There are more options and a more adult interface (no colour coded axis or nice control pad).
One big advantage Repetiter has is the gcode viewer.
The blue object is a visual view of the gcode the slicing software generated. For the object on screen its over 45000 lines of code which would without Repetiter take a lot of time to troubleshoot.

Like SFACT I do plan on taking the time to learn the interface as options, but for the moment I'm just using Repetiter to double check my gcode.

As I get to know the programs more and use different programs I'll hopefully write mini-reviews or setup guides.

Sunday, 4 March 2012


Before our brand new printer can print anything the electronics needs firmware.

There are numerous different firmwares, each with there own advantages and disadvantages. At the moment there are 2 main contenders when it comes to firmware for RAMPS; Sprinter and Marlin.

Sprinter has been out longer and is a little easier to configure and get up and running, so I'll start with Sprinter.

Step 1. Arduino Software

In order to install the firmware we need to be able to talk to the electronics.
To do this we need to use the Arduino software which can be downloaded here.

Uncompress the download and run the program.
Now the programming is running we need to make sure the settings are correct for the electronics.

The Board option needs to be set to the Arduino chip being used, for RAMPS this is Mega or Mega 2560 (2560 if you using the newer board).
The Serial Port also needs to be correct, as a rule of thumb its the last one of the list.

At this point if you want to quickly test RAMPS copy and paste the code from here into the sketch window then hit upload
All the motors should cycle (turn both directions, one after the other) and the heaters will turn on and off.

Step 2. Configuring Sprinter

Download Sprinter from here and uncompress the file.
Ignore the message in the centre,
simply click either of the links in the red box

In the Sprinter folder there is a file called Configuration.h open it using notepad or a similar program (eg notepad++).

Line 17


Change the number to suit your electronics, in the case of RAMPS 1.4 its 33.
#define MOTHERBOARD 33

Line 26 and 27


Change the number to suit the thermistor your using.

Line 31

float axis_steps_per_unit[] = {80, 80, 3200/1.25,700}; 

If your using 1/8 microstepping stepper drivers half all numbers. If just one of the motors is using 1/8 microstepping just half the relevant number.

Line 51


If your not using a SD attachment you can comment this line out, like so
//#define SDSUPPORT

Line 74

const bool INVERT_Y_DIR = false;

If your using the standard prusa setup with the motor at the front this line needs to be changed otherwise your prints will be mirrored.
const bool INVERT_Y_DIR = true;

Save the file and now its time to upload Sprinter.

In the Arduino software, File -> Open
Select sprinter.pde

Click upload.

Congratulations you've installed Sprinter firmware on your electronics.

Friday, 2 March 2012

Frame and mechanical build - X carriage

Nut traps - page 46

I found it easiest if you get the nuts into the trap then insert the smooth rod (or a section of) then tighten the bolts with the rod keeping the nut from falling out.

Glueing the bushings - page 69

I had found this rather annoying. You need to rest or clamp the X carriage against something when they are drying, otherwise the bushings won't be flush against the bars.
Skip to section 14 (clamping the smooth rods to the top)  then apply the glue, push the 2 parts onto the bushings then tighten the bolts on the underside.
After the glue has set check the bushings jog along the smooth bars, if they don't clamp them back on the top and loosen or tighten the underside bolts.

Z axis threaded rod - page 71

If you don't have the springs for the Z axis you simply need to drop a m8 nut into the top nut trap.
Its very easy to read it as all of step 17 is optional, its not without a nut in the top the x carriage will jump out of align.

X carriage belt - 83

Make sure the belt lines up before fastening them, if its too far away from the smooth rod it will cause the belt to slide off the bearing. This will in turn lead to the belt both rubbing the washer and randomly snagging on the washer.

Thursday, 23 February 2012

Frame and mechanical build - Print bed

Before drilling or preparing the print bed check the sizes are correct.

I asked for my mdf to be cut to 225mm x 225mm and 140mm x 225mm at my local B&Q. For some reason they took it the 225's as 275...

Drilling (corners) - page 39

Its pretty straight forward however if you want to be precise there should be a 42.5mm gap on both sides of the 225mm plate (when drilling the 2nd set of holes).

Drilling (belt clamp) - page 49

First follow the alignment steps from pages 41 to 43.
Once its aligned jump to page 49 and follow the steps.

Doing it in this order means you don't have to remove the print bed with the bushings glued on. Otherwise you have to be extremely careful both when drilling the belt clamp holes and when removing and reattaching the bed.
I had to re-glue one of the bushings on eachof my first 2 removals (the 2nd was due to the bed being the wrong size) which is another step and another wait until its set.

Glueing - page 43

Skip if your not using PLA bushings

I found it best to line the bushings up at either the front or back of the frame. This way when you join the bed and the bushings you can use the horizontal bars to ensure the alignment.

Top print bed surface

Before attaching the top print bed you need to apply some form of printing surface. You could print directly onto mdf or glass however you'd have 2 big issues; damage to the surface (160C+ plastic and the mdf or glass aren't the best of friends) and grip.
To solve this most people with either kapton tape or blue scotch tape.
Kapton is slightly better, but costs considerably more for similar width tape.
Blue scotch tape has a surprisingly good tolerance to heat, is cheaper and is more widely available.

When applying it to the top print bed on mdf its best to apply a few layers in criss cross pattern. One layer horizontal, followed by one vertical. About 3 or 4 layers should be enough. This stops the tape peeling the mdf or removing the tape below when removing prints.

Attaching the top print bed - page 101

If your springs are fairly weak its best to have at least 5mm of thread sticking out. Otherwise as the bed sets in there is a good chance it will sink on one or more of the corners.

If you have m3 nylock nuts this is definitely the time to use them. I found standard nuts loosen extremely easily during printing and the bed will need constant levelling between every (even the small ones) print.

Friday, 17 February 2012

An oops and quick update

The oops

For what ever reason my last 2 posts where back to front.
The tools sections should have been released before the frame build tips/tweaks.
When I came to give a quick update I noticed the tools post was marked as draft.

Anyway I apologise if it confused anyone.

Quick update

I've managed to calibrate my Prusa and I'm getting good prints all round (well not round as Sprinter doesn't like circles much :-p).
In light of the halfway decent prints I created a Thingiverse account which can be viewed here.

I still have a lot I want to write up as information from a newbies point of view is still pretty hard to come by.

My current list is;
  • Build part 2 - X axis and print bed
  • Slicing and Hosting software
  • Calibration part 1 - Axis, extruder and levelling print bed
  • Calibration part 2 - Printing and troubleshooting

Don't worry I made notes and kept all my failed prints.

Thursday, 16 February 2012

Frame and mechanical build - Tools

Personally I found building the frame, extruder and print bed fairly simple. I did however run into a few issues (hence the delay) as well as making a few notes as I went along.

I've broken this down into two sections; the frame and extruder, and the print bed and X axis (plus carriage). The frame and extruder can be build separately and don't rely on any other parts. The print bed and X axis rely heavily on the frame and the X carriage requires the extruder.

Tools - Frame/Extruder

Required tools are the ones you can get by with, recommended makes the build a lot easier.
This is for a Prusa using a standard Wades extruder. 


Hex (allen) keys or Torx keys Note 1
M8 sized spanner
Measuring device (ruler, tape measure, etc)
Plumb (or some fine thread and a nut)
Levelling device (spirit level, phone with an levelling app, etc)

Note 1 the thingfarm prusa kit requires torx. You can use hex to tighten torx however you can't remove them easily and you can't tighten them as much.
Note 2 a bomb style fishing weight attached to some fishing line makes a very cheap and effective plumb. The weights sell for as little as 30p and include a swivel, its a lot cheaper then official plumbs (£2+)


A second M8 sized spanner
M3 sized spanner (6mm works)
Plastic parts cleaning tools:
  • Craft knife
  • Files
  • 8mm drive bit
  • Drill

Tools - Print bed and X axis (plus carriage)


Adhesive (glue)
3mm drill bit
Hex (allen) keys or Torx keys (see frame/extruder notes)
Measuring device (ruler, tape measure, etc)
Levelling device (spirit level, phone with an levelling app, etc)


M3 sized spanner (5.5mm)
Plastic parts cleaning tools:
  • Craft knife - if using a hot glue gun its highly recommended
  • Files
  • 3mm and 4mm drive bits
  • Drill 

General notes

Depending on where you get your printed parts from the cleaning tools may be essential.
Cable ties (zip ties) help a lot with the wire management as well as for a few hacks.

    Saturday, 11 February 2012

    Frame and mechanical build - Frame

    At this point you've got the tools mentioned in my previous post and you've got the parts required for the build.

    For the build itself I highly recommend you use the visual guide by Gary Hodgson, its a very nice piece of documentation.

    The purpose of the build posts is not a how to guide its merely notes or tweaks I made while building as well as tips.

    Y axis motor bracket - page 17/19

    The visual guide gives you the following image.

    The optional section isn't optional, but at the same time doesn't work for every motor.
    If you don't use the washer, nut, washer, washer combo the M3 bolt will push against the large washer and cause it to slant.
    If you use the combo and have a short shaft on the motor the pulley won't reach over the bearing.

    The solution is to attach the motor with pulley to the Y motor bracket then slide it onto the rod. Make sure it lines up correctly then remove the motor.
    For reference the motors I used, SY42STH47-1684A, 3 washers seemed to be the sweet spot.

    Y axis motor bracket (part II) - page 47

    If you followed the above tip you should be able to mount the pulley the opposite way around.
    This should prevent the belt slipping (it also helps a lot when you come to tighten the Y axis belt).

    Z axis motor mounting - page 73

    Don't bolt the motor to the Z motor mount.

    If you do you'll have issues with the Z axis wobbling, they need to have some movement so that they can counter any wobble in the Z threads.
    Attach them using cable (zip) ties, 2 medium sized ones coupled or 1 long one either side. Remember to leave a few mm gap from the motor shaft.

    End stops - 89/91

    If your using RAMPS 1.4 and Sprinter the Y endstop is on the wrong side for the default settings.
    RAMPS will try to home the opposite direction and it requires some tweaking of the configuration file.

    Its much easier to just fit it on the motor side. Although I'll post which lines to edit in a later post just in case you've already made the same mistake as me.

    UPDATE the endstop for the Y axis should be on the opposite site to the motor. You need to change the following line (line 74) in configuration.h
    const bool INVERT_Y_DIR = false;
    const bool INVERT_Y_DIR = true;

    If you don't all your prints will be mirrored as the Y is going in the wrong direction.

    Sunday, 5 February 2012

    Wiring - crimps, joining and endstops

    The mechanical side of the build (frame, extruder and print bed) is fairly straight forward as long as you have the correct tools and parts. As there isn't much too it and its pretty well documented I'll post that later.

    I used 0.1inch crimps and connected housings from Hobbytronics, see my Connectors, crimps and wires post (link) for full details.


    To crimp the connectors I used a small nosed pair of pliers, as opposed to spending £20+ on an official tool.
    Nophead outlines the method in this video.

    Motor connectors

    This are very straight forward, if you brought your stepper motors from Zapp you don't even have to strip the wire.

    Crimp the 4 wires then insert them in order (link to wiki page about wire colour) into a 4 way housing. In the case of the SY42STH47-1684A is black, green, blue, red.

    Endstops (mechanical)

    Firstly you need to solder or connect (using a crimp on the wire) your 2 wires to the switch.

    On the above image I've marked which legs of the switch to join the wire to.

    I highly recommend you use 2 different colours or styles of wire for this. Keep the left wire one colour or style and the right wire another. In my case I used a network cable for the wire so the left was solid with the right using white striped.

    Crimp the other end of the wire then insert into a 2 way housing.


    This is the trickiest bit of wiring you have to do, its tricky as solder is fairly pointless and its fiddly.

    Remove a crimp (0.1 inch) from the reel then cut across the red line marked above.

    Now insert one of the transistor legs into the right side (the side with the longer wings). Using the same pliers you used for the standard crimps close the wings tightly around the wire (so it doesn't move).

    Do the same with the wire on the left side (this holds easier).
    The above image shows roughly what it would look like (well when its not been crimped), the blue wire going to the electronics board and the green wire doing to the transistor.

    Slide over some heatshrink tubing and shrink (the air vents on a soldering iron work nicely) to add an extra layer of support (and a little safer).


    As its a small single (note I wrapped the rest of the wire in kapton tape) wire I merely soldered it to a multicore wire, added heatshrink tubing and shrank it. I then crimped the other 2 ends and inserted it into a 2 way housing.

    I'm not 100% sure this is the correct way to wire and join the thermistor so stay on the side of caution if you choose to copy me on this one.

    I'm back

    Firstly sorry about the massive lack of posts. Christmas was busy this year (when isn't it) and I got dropped with a big project at work when I got back.

    Luckily I'm nearly complete with my build.

    Its not been pretty and its not been as easy as I'd have liked. While I'm waiting for another stepper driver to arrive (it doesn't seem to hold torque when moving...) and I'll back date my build log and tips/tweaks I've done.