From RepRap
Revision as of 21:59, 19 November 2011 by Cdaringe (talk | contribs)
Jump to: navigation, search
Version specific info
RAMPS 1.7 | RAMPS 1.6 | RAMPS 1.5 | RAMPS 1.4.4 | RAMPS 1.4 | RAMPS 1.3 | RAMPS 1.2 (RAMPS 1.2 old) and older
Crystal Clear action run.png

Release status: Working

RAMPS1-3 fin.JPG
RepRap Arduino Mega Pololu Shield Arduino MEGA based modular RepRap electronics.
CAD Models
External Link


In RAMPS 1.4, the resistors and capacitors are now surface mount to fit more passive components. This does add another set of steps to assembly, but we stuck with larger sizes to make it fairly painless.

Safety Tip


Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop smoke detector. Got no smoke detector? Get one!


Component Soldering

Required Tools

You must have: Solder iron, solder wire, good tweezers You really need: Solder wick, solder sucker, flux pen Optional methods use: Solder paste, hot plate or oven

Shield Assembly


Soldering RAMPS 1.4 includes both surface mount and through hole soldering.

The surface mount can be done a few ways. Since all the SMT components on this board are large 2 pad parts you can do pin by pin soldering pretty easy with normal soldering equipment. Start by putting a small amount of solder on one pad. If you have flux, coat the soldered pad. Use the tweezers to hold the component down in position and heat the solder to tack the component into place (make sure the entire solder blob flows so you don't get a cold solder). Then solder the other pad. Also popular is using solder paste for pad by pad soldering, Oven Reflow (need link), and HotplateReflowTechnique

Solder the SMT components first. Then the PTH on top of the board. Finally solder the pin headers on the bottom.

C2 - 100nF capacitor

RAMPS1-3 100nF.JPG

This can be placed in any orientation.

LED1 - Green LED


Place these with the end having green dots away from the + mark on the PCB.

LED2, LED3, LED4 - Red LED


Place these with the end having green dots away from the + mark on the PCB.

R13, R14, R15 - 10 Ohm resistor

RAMPS1-3 10r.JPG

These can be placed in any orientation.

R12 - 1K resistor


These can be placed in any orientation.

R23, R24, R25 - 1.8K resistor

RAMPS1-3 1-8k.JPG

These are marked 1K on the PCB, but we are using larger ones to accommodate higher voltages. These can be placed in any orientation.

R1, R7, R11, R21, R22 - 4.7K resistor

RAMPS1-3 4-7k.JPG

These can be placed in any orientation.

R16, R17, R18, R19, R20 - 10K resistor

RAMPS1-3 10k.JPG

These can be placed in any orientation.

R2, R3, R4, R5, R6, R8, R9, R10 - 100K resistor

RAMPS1-3 100k.JPG

These can be placed in any orientation.

C1, C5, C8 - 10uF capacitor


These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB.

C3, C4, C6, C7, C9, C10 - 100uF capacitor

RAMPS1-3 100uF.JPG

These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB.

Reflow SMT soldering

RAMPS1-3 placed.JPG
RAMPS1-3 smtSoldered.JPG

If you are doing oven or hot plate method, now is the time apply heat (add links here). If you used a solder iron, you have probably already soldered all these components.

Make sure to inspect the SMT soldering at this point since it will be harder to rework after the headers are on top.

Top pins

RAMPS1-3 tpins.JPG

Solder 1 1x6, 6 1x4, and 7 2x3 pin headers on top of the board. The long post should be standing up to take a connector. Solder one leg on each one to tack them into place. Then re-heat the joint and push on the component until it is perfectly situated. Then you'll want to solder the rest of the leads. You will get burnt if you touch the other side of the pin you are soldering.

Driver sockets

RAMPS1-3 DrSockets.JPG

Place the female headers for the stepper drivers on top of the board. You can use the 1x8 and 1x6 pin headers to jig them straight. Turn the board over and solder these pins.

D2, D2 - Diodes


These must be placed in the proper orientation. The band on the diode must be turned the same way as the mark on the board.

Definitely solder D2 in. D2, F1, and F2 are shown installed here.

D1 should only be installed if the 5A rail is powered by 12V. It can be omitted and the Arduino will be powered from USB. You will want D1 installed if you add components to print without a PC. To reiterate, D1 MUST be omitted if you are powering the 5A rail by more than 12V.

F1 - MFR500 Fuse

This is the smaller yellow fuse. This can be placed in any orientation. When soldering the fuses it is best to use a piece of 3mm filament or something similar to keep the ceramic coating on the pins from blocking proper solder along the through hole.

F2 - MFR1100 Fuse

This is the larger yellow fuse. This can be placed in any orientation.

Q1, Q2, Q3 - Mosfets

RAMPS1-3 mosfet.JPG

These must be orientated as in the picture. The tall heat sink part of the mosfet needs to be turned the same as the mark on the board.

Mosfet Terminal

RAMPS1-3 6pos.JPG

This must be oriented where the wire holes are turned towards the edge of the board. Solder a pin on each end and make sure the component is flat on the board and solder the middle pins.

Power Terminal

RAMPS1-3 4pos.JPG

This can only be oriented in one direction.

Bottom pins

RAMPS1-3 bpins.JPG
DSC 0148.JPG

Place these on the bottom of the board with the long post out to plug into the Arduino MEGA. You can plug them into the MEGA to hold them in place while you solder. Do not overheat the pins while in Arduino or you may damage it's connectors.

Reset switch

RAMPS1-3 rst.JPG

This can only be oriented in one direction.


RAMPS1-3 fin.JPG

Inspect your work.Clean any solder bridges and suspect solders.

Stepper Driver Boards

    • Jumpers need to be installed under each stepper driver:
 jumper   Yes/No  step size
 1     2    3
 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

For now the default is 1/16 micro stepping (all jumpers installed under drivers)

  1. Cut the pin headers to 8 pins long so that they fit each side of the stepper driver.
  2. Insert the pin headers into the sockets on RAMPS
  3. Fit the stepper drivers onto the pin headers and solder. Only heat each pin for a few seconds at time to avoid damage to the socket.
    • Glue the heatsink (if used) to the top of the A4983 chip using the provided pad of double-sided adhesive.

Opto Endstops

Ultimachine opto board instructions can be found here

    • Cut the 26awg 3 conductor cable into 3 length.
      Close up of endstop connector on endstop.
    • Note: you may want until you've built your machine to cut the cables to the perfect length.
      Close up of endstop connection on RAMPS
      • crimp and solder a female connector to the ends of each wire. (solder not necessary with proper crimp tools)
    • use the 2.54mm 1x3 housing.
    • Connect at least the minimum endstops.
SIG (S) White
GND (-) Black
VCC (+) Red
Endstop End
VCC (+) Red
SIG (S) White
GND (-) Black

Mechanical Endstops

MechSwitches 2Wire.JPG

The recommended firmware will provide a configuration to use mechanical endstops with just two wires.

Find the area labelled "endstops" in the upper right corner of the board and for each of the X, Y, and Z pairs of pins (label should be below each set) do the following:

  1. Connect S (top row, labelled to the left) on RAMPS to NC on the switch.
  2. Connect GND on RAMPS to C on the switch.

Put the connectors on the motor wires

    • solder a female connector to the ends of each wire.
    • use the 2.54mm 1x3 housing.
    • Shown is the type used for servos in RC projects. See Stepper Motors for info on motors.

Thermistor Wires

Use a 2 pin 0.1" connector to terminate the thermistor wires.

    • Connect the cable so the 2 wires go to T0
  1. Connect the 2 heater wires to D10 (E0H on older boards) and the + connection above it.
    • If changing to an unverified firmware it is best to verify heater circuit function with a meter before connecting heater to prevent damage to the extruder.

Pololu carriage


This section assumes you are using Pololu, but there are other option. Insert two 1x8 pin headers into the board. If you bought a kit with one 16 pin header, simply cut it so that you have two 1x8. Make sure that the side with the labels has the long ends of the posts, and the side you want to solder is the side with the heat sink. Doing this backwards will cause you not to see the labels and will most likely not fit. Remember to apply a heat-sink to the largest chip on the back.

Final Setup

Pre-Flight Check

If you think you may have mistakes you can install only one stepper driver during initial testing and risk only one stepper driver.

The trimpot on the stepper drivers controls the current limit. Turn it all the way down (counter clock wise) and back up 25%. Be careful to not force the trimpot, it is delicate. You will need to fine tune the current limit later. Note that it is allways giving the motors that much power, even when not moving, so if your stepper motor drivers are getting hot, you may want to turn it down slightly.

Connect the minimum endstops for X,Y, and Z

Connect Motors (Do not disconnect or connect motors while powered; if the connection is loose, this will cause the motors to spazz and possibly kill your stepper driver.)

You may want to use this code to test all the electronics before installing any of the suggested firmwares.

Install firmware (More info below). Firmware flashing can be done without 12V power supply connected.


It is relatively simple to wire up the RAMPS. Just add the extruder heating coil wire to D10, the thermistor to the two T0 pins on middle right right, and wire up the steppers and endstops. From left to right, wire all of the stepper motor's wires as red, blue, green, and black or red, green, yellow, blue into the pins next to the Pololus. When you connect the wires to the endstops (if you are using 3 endstops, plug them into the MIN (-) slots), make sure you match the labels.


Note that tesla & tonok firmware use d9 and sprinter and johnny/tonok use d10 for the extruder hot end.


Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard.

Incorrectly inserting stepper drivers will destroy your electronics and cause a fire risk. Always make sure power and USB is disconnected when removing or adjusting stepper drivers. Always make sure to insert drivers in correct orientation and in the socket correctly.

The endstop pins are Signal - GND - VCC, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.

Connecting Power

Connect your 12V power supply to the RAMPS shield.Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard

The bottom pair of connectors marked 5A power the stepper drivers and Extruder heater/fan (D9,D10). The power supplied to these should be rated a minimum of 5A.

The pair of connectors above marked 11A power a Heated Bed, or other output (D11). The power supplied here should be rated a minimum 11A. (If both power rails are connected to the same supply it should have a minimum rating of 16A)

The barrel connector on the Arduino MEGA is not used for our application.

The power connector plug may not be obviously labeled, looking at the power connection the positive is on the left and the negative is on the right of the plug.

Power Supply

RAMPS 1.4 uses RAMPS is quite happy with the 12 V line from PCPowerSupply. Or you can hack up a 12V laptop power supply, or other 12 V "wall wart" power supply. Be sure that the power can output 5A or greater. Additional 11A may be needed for heated bed support.

See Connecting power above.

Maximum Input Voltage

Power Supply without diode

The 1N4004 diode connects the RAMPS input voltage to the MEGA. If your board does not have this diode soldered in, you can safely input as much as 35V. (The pololus can do up to 35V)

Power Supply with diode

If your board has a 1N4004 diode soldered in, do not apply more than 12 V to it. Original flavor Arduino Mega are rated to 12 V input. While Arduino Mega 2560 can take 20 V, it is not recommended.

Firmware and Pin Assignments

RAMPS 1.4 uses the same pin definitions as 1.3.

You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega.

Working preconfigured firmwares are available at:

Preferred: (Need pins set in firmware as below)

https://github.com/tesla893/Tonokip-Firmware - Tesla893's Tonokip-Firmware fork, works w/ RepSnapper and Skeinforge - Added Features over original Tonokip but not as up to date as Klimentkip

https://github.com/kliment/Sprinter - Kliment's Tonokip-Firmware Fork with Acceleration, PID, SD support, and other goodies - Updated frequently, with many active developers/hackers/users. Note he also has an older version at https://github.com/kliment/Klimentkip

Others (Need pins set in Firmware as below):

https://github.com/johnnyr/Tonokip-Firmware works excellently with RepSnapper and Skeinforge - Not as current

https://github.com/ramps/FiveD_for_RAMPS_GCode_Interpreter for use with Host Software or ReplicatorG or RepSnapper

  • mechanical endstops (now the default ultimachine.com option) require #define OPTO_PULLUPS_INTERNAL 1 to be added to configuration.h

There are predefined pins for FiveD_on_Arduino in git master, but support is experimental. Programming works following the instructions in the wikipage.

Here are the pin definitions for this board.

// For RAMPS 1.4
#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_MIN_PIN           3
#define X_MAX_PIN           2

#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#define Y_MIN_PIN          14
#define Y_MAX_PIN          15

#define Z_STEP_PIN         46
#define Z_DIR_PIN          48
#define Z_ENABLE_PIN       62
#define Z_MIN_PIN          18
#define Z_MAX_PIN          19

#define E_STEP_PIN         26
#define E_DIR_PIN          28
#define E_ENABLE_PIN       24

#define SDPOWER            -1
#define SDSS               53
#define LED_PIN            13

#define FAN_PIN            9

#define PS_ON_PIN          12
#define KILL_PIN           -1

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8
#define TEMP_0_PIN          13   // ANALOG NUMBERING
#define TEMP_1_PIN          14   // ANALOG NUMBERING


File:ArduinoMegaPololuShield.zip Eagle Files These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.) media:ArduinoMegaPololuShield.zip
File:RepRapjr.lbr Eagle Libraries The components used in this board are here. see Eagle_Library media:RepRapjr.lbr

Bill of Materials

ID Description Quantity Part Number Reichelt Order Number Digikey Part Number (Description)
U1 Arduino Mega 1 2560 or 1280 N/A
U2,U3,U4,U5 Pololu A4983 carrier 4 A fifth one can be used for a 2nd extruder or extra axis N/A
C2 100nF capacitor (0805)(> highest planned voltage) 1
C1,C5,C8 10uF capacitor (153CLV-0405)(>5V) 3
C3,C4,C6,C7,C9,C10 100uF capacitor (153CLV-0605)(> highest planned voltage) 6
R1,R7,R11,R21,R22 4.7K resistor (0805)(1%) 5
R2,R3,R4,R5,R6,R8,R9,R10 100K resistor (0805) 8
R12 1K resistor (0805) 1
R23,R24,R26 1.8K resistor (0805) 3
R16,R17,R18,R19,R20 10K resistor (0805) 5
R13,R14,R15 10 ohm resistor (0805) 3
Q1,Q2,Q3 N-channel Mosfet 3 STP55NF06L ZXM 64N035 L3 497-6742-5-ND (MOSFET N-CH 60V 55A TO-220)
D1,D2 Diode 2 1N4004 1N 4004 1N4004FSCT-ND (DIODE GEN PURPOSE 400V 1A DO41)
F1 PTC resettable fuse (30V, Hold5A, Trip10A) 1 MF-R500 PFRA 500 MF-R500-ND (FUSE PTC RESETTABLE 5A HOLD)
F2 PTC resettable fuse (Hold11A) 1 MF-R1100 RGEF1100-ND (POLYSWITCH RGE SERIES 11.0A HOLD)
J2 5.08 Eurostyle screw terminal (Min 11A per position more is better) 1 282837-6 AKL 101-06 WM7857-ND (CONN TERMINAL BLOCK 6POS 5.08MM)
LED1 Green LED (0805) 1
LED2,LED3,LED4 Red LED (0805) 3
S1 Push button switch 1 B3F-3100 TASTER 3305B (should fit footprint also, but button will overhang board edge) 450-1648-ND (SWITCH TACT RA H=6.35MM)
X1 Power jack (Plug and fixed receptacle)(Min 11A per position more is better) 1 MSTBA 2,5 and MSTBT 2,5 (5.04mm spacing 4 connector) WM7847-ND (CONN HEADER 4POS 5.08MM R/A TIN) & WM7953-ND (CONN TERM BLOCK 4POS 5.08MM R/A)
2 x 3 pin header 8 3M9459-ND (CONN HEADER VERT DUAL 6POS GOLD)
4 pin header 5 SL 1X36G 2,54 (3 of these) 3M9449-ND (CONN HEADER VERT SGL 4POS GOLD)
6 pin header 3M9451-ND (CONN HEADER VERT SGL 6POS GOLD)
2 x 18 Pin Stackable Female Header (non stackables can be used with plated through holes) 1 MALE: SL 2X25G 2,54 (2 of them, shortened with a saw or pliers) S7121-ND (CONN HEADER FMAL 36PS.1" DL GOLD) - Not Stackable
8 Pin Stackable Female Header (non stackables can be used with plated through holes) 5 S7041-ND (CONN HEADER FEMALE 8POS .1" GOLD) - Not Stackable
6 Pin Stackable Female Header (non stackables can be used with plated through holes) 1 S7039-ND (CONN HEADER FEMALE 6POS .1" GOLD) - Not Stackable
24 Pin Female Header * Note * 2 Required to carry enough current for motors S7057-ND (CONN HEADER FMALE 24POS .1" GOLD) - Rated @ 3A / Pin
8 Pin Female Header * Note * 4 Required to carry enough current for motors S7041-ND (CONN HEADER FEMALE 8POS .1" GOLD) - Rated @ 3A / Pin
0.1" Jumpers 15 A26242-ND (SHUNT LP W/HANDLE 2 POS 30AU)
Circuit Board 1 v1.4 N/A

Note * You can use Female Headers which are not the exact size, but they are hard to break/cut so in this case buy some extra! (one wasted header per cut)

A BOM for sourcing the RAMPS components from Mouser is also available in this google spreadsheet

Shopping lists for v1.3 are available at RAMPS1.3 if you change the capacitors and resistors to match v1.4 please replace this line with the updated info.