Setting up the Software and Firmware

The Arduino and Repetier Software

Before you can startup the printer and run the first calibration tests, you have to install the software needed to run the printer. There are a couple of programs available for REPRAP. I used Repetier; it is easy to configure, and you don’t need to recompile the firmware every time you change something in the settings. Since the RAMPS board is driven by Arduino, you need the Arduino client upload the Repetier firmware to the Arduino board. The Arduino client can be found at Arduino. The Repetier firmware and client can be found at


Configure the Arduino Client

After installation of the Arduino client you need to configure some settings in order to get the Repetier firmware on the RAMPS board.

First select the board type, with a standard RAMPS board, this should be the Arduino Mega 2560


Second, the compiler should be set. Select AVRISP mkII from the tools menu.


Select the appropriate com (or serial) port with which the Arduino should communicate with the computer.


After all is set, you can open the repetier.ino file you just downloaded, and press the arrow icon in the Arduino client (see red circle). The software will compile and upload the program to the Arduino board.



Setting up the Repetier Client

Installing the End Stops

With my eBay RAMPS 1.4 package came 3 optical end stops. The end stops are used by the printer to the software the end (or beginning) of the corresponding axis is reached. Optical endstops are triggered when an obstacle (a so called flag) blocks an invisible beam of light between the two black ends of the endstop. The motor on the corresponding axis will then stop.


A RepRap Prusa I3 printer comes with 3 endstops, one for each axis. They are placed on the axis close to the motor. This is the home position of the printer, if the home button is pressed on in the software the printerhead will move towards this position.

First, you have to mount the endstops on the printed parts.

Parts needed:

3 x M3 nut
1x printed part
1 x M3 x XX bolt
2x M3 x XX bolt


As before, you have to melt the nut into the printed part with a soldering iron (at least I did).


If needed, clear the hole of molten plastic.


My optical endstops came with a nice plug and connector. The endstops have three connectors:

V = + voltage
G = Ground
S = Signal

I had to lengthen the wires in order to attach them to the RAMPS board.


Here, I soldered the yellow wire to the signal output, the other ones (black and red) are ground and + respectively.



The Y-Axis

Place the Y-Axis endstop at the back end of the Y-Axis carriage.




The endstop needs a flag to be triggered. I used a angle profile (a leftover of my aquarium) and glued it on the back of the heated bed board.


Here a view of the flag and the endstop, with the Y-Axis table turned around.



The X-Axis

The endstop of the X-Axis will be placed at the left side of the X-Axis carriage. Again, you need a flag to trigger the endstop.



Here, I glued the flag on the extruder main body.



The Z-Axiz

One disadvantage of using opto endstops is the use of a proper flag that can be adjusted in close enough steps to level the heated bed with the extruder. With mechanical endstops a screw is used to trigger the switch, but this screw won’t fit between the sensor of the opto endstop. So you have to come with some other soltution.


I used two aluminium angle profiles and two springs and mounted them as below:


You now can adjust the distance of the hotend to the bead by sliding the Z-Axis opto up and down the rod, and make micro adjustments with the two screws on the opto-mount.



I cut two 10 mm aluminium strips and mounted them on the X-Axis motor, to be used as a flag for the Z-Axis opto.


Now proceed to chapter 10: The Hot End

Building and installing the E3D v5 hotend

I have a E3D V5 HotEnd. E3D has done an excellent job on their instruction manual, so I keep it short.

Below you see the main aluminium body of the HotEnd. It is heated by a resistor that runs on 12V. A thermistor is mounted in a small hole next to the resistor.

Screw the short end of the head-break into the heater block, like in the picture below



Screw the nozzle into the heater block until it butts up against the heat-break inside the block. Don’t tighten the nozzle right now. That is done later.



Strip the supplied wire and crimp the ends to the legs of the thermistor. First wrap a small amount of kapton tape around one of the legs, and make sure you cover the leg from beginning to the end, on both sides. If the legs make contact the resistance measured will be zero and your HotEnd will not work.

Insulate the other leg of the thermistor and put the head of the thermistor in the small blind hole next to the resistor hole. Secure the thermistor with Kapton tape.


Now mount the heater cartridge (resistor) in the big hole of the heater block. It should be at the centre of the block and tightened with a small M3 grub screw.



Screw on the heat sink onto the long end of the heat-break. Firmly finger tight is right. If you use a spanner you can snap the thermal break at the construction.



Now the HotEnd is ready. you can mount it on the extruder (see chapter 5: The Extruder)




tekst en fotos

zie ook

voor het betere kopierwerk


Now proceed to chapter 11: Setting up the Software

Installing the power supply

The headbed and the extruder hotend both need a lot of power. A cheap solution is a normal PC power supply. Besides the standard 12V it supplies 5V and 3.3V, which can be used for powering LEDS and other stuff.

I used a Thermaltake Munich 430W ATX 2.3. The cooling fan is silent, and it doesn’t need the 5V resistor as base load.


The ATX pinout of the power supply is as below. In order to switch on the power supply you have to short wire pin 14 (PS_on) with ground (GND).


To make thinks easier I connected an ATX Female pin adapter to the standard ATX male adapter of the power supply.


Then I cut the two wires on pin 13 and 14, and stripped them.


The next step was soldering them to a switch.


To feed the RAMPS, the headbed and the etruder hotend, you need the AMP ATX 12v Power Connector, that is, the wires connected to it. There are four wires on that connector; two yellow and two black.


Cut the wires from the connector and strip the wires


Connect the four wires to the green 12V power connectors of the RAMPS board


Tie-wrap the rest of the cables nicely together.


You can cut all the wires you don’t need, but I chose to bind them together and stack them away under the power supply, for possibly later use.


Take a tiny sheet of plywood, measure and saw.


Drill and countersink the screw holes


Stack the wires under the power supply unit and mount the plywood plank.


An extra LED

You won’t need it, but I thought it would be nice to have some sort of indication my 3D printer was turned on. So I attached a LED to the power supply. A standard LED needs to have a resistor to work with 5V. I used to calculate the resistance of this resistor.

A typical red LED has the following characteristics:

  • voltage drop across LED: 2V
  • Desired LED Current: 20mA
  • Supply voltage: depends, I chose 5V

The resistor then needs to be 180 ohm.



Plaatje van led met weerstand aan pootje


Plaatjes van 5 en 12 volt verdeler.


Now proceed to chapter 09: Installing the End Stops

The RAMPS 1.4 board

Mounting the RAMPS board on the boxed frame

I gave the RAMPS board a nice sturdy place in the frame before connecting the hardware to the board.

Used parts

  • Wood screws
  • M3 bolts
  • Nylon spacers
  • M3 nylon bolts
  • Piece of plywood


Mount the nylon spacers with the nylon bolts, like this. You can use iron bolts, but then you have the risk of short circuiting your Ramps board


Mount board on plywood with the M3 iron bolts



The board tucked away in a nice corner of the printer


Unpacking the RAMPS 1.4 board and it’s components.

Board parts

Stepper drivers with aluminium heatsink. You only need four for the Prusa I3:

  • 1 for the X and Y axis
  • 1 for the extruder
  • 2 for the Z axis


The RAMPS board with the A4988 stepper drivers and heatsinks, below that the Arduino Mega 2560 board.


The bottom side of the RAMPS board, with the connectors for the Arduino


Bag with 15 jumpers


All three jumpers need to be installed under each stepper driver, they control the accuracy of the stepper motor:

jumper 1 jumper 2 jumper 3 Steps
no no no full step
yes no no half step
no yes no 1/4 step
yes yes no 1/8 step
yes yes yes 1/16 step


I’ve installed the LCD 12864 screen with Controller and a SD-Card reader, a rotary encoder and a 128 x 64 dot matrix LCD display.

With this panel you don’t need a pc any more, the Smart Controller supplies power for your SD card. Further more all actions like calibration and axis movements can be done by just using the rotary encoder on the Smart Controller. You can print your 3D designs without PC, just with a g-code design stored on the SD card.

LCD 12864 with Controller

Connecting the board to the printer, introduction.

Below an overview of connectors on the RAMPS 1.4 board.



Detail of the end-stop and thermistor connectors




Adjusting voltage output

You have to adjust the Pololu Stepper Drivers before you can attach the motors. The low voltage Nema 17 Stepper Motors which can take a maximum current of 1.68A at a 2.8V. The Polulo A4988 Stepper Driver can drive up to 2A, this is far higher than the level required, resulting in the stepper motors running a lot cooler.

The best starting point is about 0.6x the rated current, this is the maximum current the stepper driver can output before requiring a heat sink ( n.b Heatsinks are already fitted).

You can calculate the approximate required Vref Voltage value by making the following calculations :

Vref = Stepper Motor Max Current x Factor Current x 0.4
Vref = 1.85A X 0.6A x 0.4 = 0.44V
So now select DC Current on your Multimeter to two decimal places.

The output voltage can be measured with a voltmeter on the pins shown below


You can adjust the output voltage by gently turning the potentiometer, it should be between 0.40 and 0.50V. If you want to raise the output, you have to turn the potentiometer clockwise, to lower the output turn counter clockwise. If the pololu board needs to drive two stepper motors (like the Prusa I3 Z-axis motors), you have to double the vRef output (eg 0.8 to 1V), otherwise only one motor will turn, or both motors won’t move at all.



Adding an extra USB connector

Because I think it is inconvenient to have a USB cable connected direct to the Arduino board, I have added an extra USB plug to the printer frame, as a strain relief. It is a 30cm USB 2.0 B Male to USB B Female Socket Printer Panel Mount Extension Cable, which is for sale on eBay for a whopping $ 1.54


Step 1. Plan


Step 2. Drill


Step 3. File


Step 4. Mount


Ready !


Now proceed to chapter 8: the Power Supply


Building the Extruder

The Idler

First, collect the parts needed to build the Idler.

Parts Needed

  • Printed Idler
  • 1x 308 bearing
  • 8mm smooth rod or threaded rod 20 mm
  • 2x M3 standard nut
  • 1x M3 25mm Bolt


Place the axis in the bearing and push the bearing firmly into the idler, it should ‘click’ in. When fully seated there should only be a small amount of the axis above the side of the idler.



  • Wade Extruder Body
  • 3x 608 ball bearing
  • 1x Hobbed bolt
  • 2x Springs
  • 1x M8x20 mm grub screw
  • 4x Ø8 mm washer
  • 1x M8 nut
  • 4x M4 nut
  • 2x M3x60 mm screw
  • 3x M3x30 mm screw
  • 4x M3x14 mm screw

Placing the M4 nuts into the extruder body can be a bit of a hassle. If they don’t fit, use a soldering iron to gently heat the nut whilst pushing it into the nut recess. Do not force the nut in the body because you will risk splitting the extruder body.


Here a picture of the M4 nuts after they are melted into the extruder body.


Next, take the 25mm M3 Bolt and the two nuts, and mount the Idler on the main extruder body as per the pictures below.

untitled-4961    untitled-4842

Don’t tighten the bolts too tight; the Idler has to hinge freely on the extruder body.


Mounting the motor and the small gear

Needed parts:

  • Small printed gear
  • 3x M3 bolt for motor
  • Stepper motor
  • 1x small M3 bolt for axis


The small gear can be a very tight fit onto the stepper motor shaft. In order to ease the installation I used a g-clamp.


Clear the holes of the mount base of the stepper motor and screw the stepper motor on the extruder body. Don’t tighten the bolts too much, you may have to adjust the motor position after you mounted the big gear.


Putting it all together

Needed parts

  • 2x 308 bearing
  • Big printed gear
  • Hobbed bolt
  • 1x M8 Nyloc nut
  • 1x M8 normal nut
  • 4 or 5x M8 washers


First, place the two bearings into the bearing recess of the extruder body. You may have to remove some plastic if the bearings won’t fit right.


Slide the hobbed bolt into the bearings and make sure that the hobbing of the hobbed bolt lines up with the filament guide in the extruder body. Tighten up the Nyloc nut and keep an eye on the line-up between the filament guide and the hobbed bolt.


Place 4 to 5 M8 washers on the right side of the bolt, this depends on the line-up of the small and big gear


Place the M8 nut in the big gear. If it won’t fit, again use a soldering iron to gently push it in.


Screw the big gear on the hobbed bolt.You may have to adjust the position of the stepper motor with the three bolts. The big gear should turn without too much friction.


Mounting the springs on the Idler


  • 2x M4 50mm threaded rod
  • 4x M4 washers
  • 2x M4 wing nut
  • 2x Spring 25mm long, 8 mm diameter


Mount the washers and nuts as shown above and below. You can test the hobbed bolt grip by inserting a piece of filament in the extruder.


untitled-4971 untitled-4984

Mounting the extruder on the X-Axis silder

Clean the holes on the front of the extruder and take two M4 x 30mm bolts.


Slide the bolts through the holes in the extruder base plate. They should go approximately 15-20 mm in.


On the backside of the X-axis slider place two M4 nuts and tighten the bolts.


 Mounting the Hot-End on the extruder.

If your Hot-end is ready (see chapter 10) you can mount it on the extruder. Get two M3 15 mm bolts, screw them both in until the end of the thread is just seen in the hot end opening.


Push the hot end firmly into the extruder body and align it squarely. Tighten the Hot-End with the two M3 bolts.


Mount the Hot-End cooler and secure the wires with a tie-wrap to the extruder body.


Now proceed to chapter 6: The Heated bed

The Heated bed

My heated bed came packaged together with the RAMPS 1.4 board, the endstops and a whole bunch of wires. The board’s type is MK2b, and can be powered with both 24 and 12 volt. Since my power supply only provides 12V, I chose the latter.


Here a close-up of the empty contacts. P2 is for the NTC. Solder pad 1, 2 and 3 are for 12V, ground and ground respectively. If you are using 12V, you have to connect solder pad 2 and 3 together, otherwise you will only heat half the board.


Below the contacts for the NTC (thermistor)


Place the thermistor. Tape one of the thermistor legs to the board with Kapton tape. Make sure the legs do not connect with each other.


Solder the legs to the heated bed and isolate the other leg, and the thermistor with Kapton tape as well.


I chose to place the power indicator led on the plywood board instead of fiddling with a SMD led on the heated bed. A standard led won’t work with 12 V, you have to use a resistor to lower the voltage (see also chapter 1)



Mounting the Heated Bed on the plywood board

Needed parts

  • 7x M4 Nut
  • 4x M4 Threaded rod xx mm
  • 13x M4 washer
  • 3x Spring, length 20 mm, outside diameter: 10 mm, inside diameter: 8mm
  • 3x M4 Wing bolt



Mount a threaded rod on one of the corners and tighten with nuts. This will be the fixed point of the board.


Place the threaded rods on the other three points, mount the springs and washers. Don’t install your wing screws like this; they can collide with your hot-end .


Now proceed to chapter 7: The RAMPS 1.4 board.


Assembling the Z-axis

Needed parts

2 x Z-Axis top bracket
2 x Z-Axis motor holder
2 x NEMA17 motor
2x 5 x 5 mm aluminium Z Motor Coupler
6 x M3x10 bolt
2 x 430 mm M5 threaded rod
2 x 450 mm, smooth rod, diameter 8 mm
8 x 3.5 x 25 mm wood screws



  • Mount the stepper motor on the printed piece and and align it all with the frame.
  • Drill into the side of the frame through the hole and attach a wood screw.
  • Remove the motor and hold the printed piece against the frame aligned, and drill the second hole.
  • Add a screw. Do not over-tighten these two screws or you will harm the part.


Mount the stepper motor to the frame


Take the two 5 x 5 mm aluminium Z Motor Couplers


Attach them to the 5mm axis of the stepper motor, and tighten the two nuts.


  • Take the two 5mm threaded rods, screw them all the way through the M5 nut on the X-Axis carriage.
  • Adjust the threaded rods so that the X-Axis carriage is horizontal.
  • Tighten the two nuts in the motor couplers


Now proceed to chapter 5: Assembling the Extruder