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.
Features
It has provisions for the cartesian robot and extruder.
Expandable to control other accessories.
3 mosfets for heater / fan outputs and 3 thermistor circuits.
Fused at 5A for additional safety and component protection
Pololu boards are on pin header sockets so they can be replaced easily or removed for use in future designs.
I2C and SPI pins left available for future expansion.
All the Mosfets are hooked into PWM pins for versatility.
Servo style connectors are used to connect to the endstops, motors, and leds. These connectors are gold plated, rated for 3A, very compact, and globally available.
USB type B receptacle
SD Card add on available -- Available now made by Kliment - Sdramps
LEDs indicate when heater outputs on
Option to connect 2 motors to Z for Prusa Mendel
Safety Tip
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!
Inspection
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)
Cut the pin headers to 8 pins long so that they fit each side of the stepper driver.
Insert the pin headers into the sockets on RAMPS
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 A4988/A4983 chip using the provided pad of double-sided adhesive.
Opto Endstops
Cut the 26awg 3 conductor cable into 3 length.
Note: you may want until you've built your machine to cut the cables to the perfect length.
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.
RAMPS End
SIG (S)
GND (-)
VCC (+)
Endstop End
VCC (+)
SIG (S)
GND (-)
Mechanical Endstops
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:
Connect S (top row, labelled to the left) on RAMPS to NC on the switch.
Connect GND on RAMPS to C on the switch.
Note: The latest firmware such as Marlin seems to use NO as the default pin on the switch. Otherwise you may need to invert the endstops in the firmware. You can use M119 to check your endstops status.
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
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.
This section assumes you are using Pololu, but there are other options. 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 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.
Wiring
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.
Warnings
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 source should be rated a minimum of 5A.
The pair of connectors above marked 11A power a Heated Bed, or other output (D8). The source 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, will NOT power RAMPS and will not provide power to the stepper motors, heated bed, etc.
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
[1]
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.
The 3 pins next to the reset switch are meant to optionally connect to your PSU.
The PS_ON pin is intended to switch your power supply on and off. Many firmwares support pulling this pin low with M80 command to turn the power supply on, and M81 to turn it off. This behavior is desired for ATX power supplies and can be modified in firmware to support 5V high power supplies like those borrowed from an Xbox.
Without D1 installed, or when the 12VIN is not connected, the Arduino gets its power from USB. If you want your kit powered without USB connected you need to solder in D1 OR connect VCC to your PSU.
The VCC pin can be connected to your ATX's 5Vsb to continuously power the Arduino from your ATX power supply. You will want to make sure that D1 is not installed or cut out. The Arduino is not designed to be powered directly on the VCC rail and the VIN pin at the same time.
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.
Assembly
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
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.
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.
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.
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.
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.
If you want to use the extra pin outputs, now is the time to solder on the rest of the headers.
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.
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, or the power is not absolutely clean, otherwise you may damage your ramps.
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.
Since the fuses are the tallest parts, it is simpler and more convenient to solder them last. From this point on, solder the rest of the RAMPS in order of bottom pins, reset switch, terminals, mosfets and then fuses.
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.
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.
Note: you may want until you've built your machine to cut the cables to the perfect length.Close up of endstop connection on RAMPSClose 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)
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:
Connect S (top row, labelled to the left) on RAMPS to NC on the switch.
Connect GND on RAMPS to C on the switch.
Note: The latest firmware such as Marlin seems to use NO as the default pin on the switch. Otherwise you may need to invert the endstops in the firmware. You can use M119 to check your endstops status.
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
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.
This section assumes you are using Pololu, but there are other options. 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 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.
Wiring
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.
Warnings
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 source should be rated a minimum of 5A.
The pair of connectors above marked 11A power a Heated Bed, or other output (D8). The source 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, will NOT power RAMPS and will not provide power to the stepper motors, heated bed, etc.
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
File:D1D2.jpgWhere to find the D1 diode (note that D2 is shown at the left, not D1)
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.
The 3 pins next to the reset switch are meant to optionally connect to your PSU.
The PS_ON pin is intended to switch your power supply on and off. Many firmwares support pulling this pin low with M80 command to turn the power supply on, and M81 to turn it off. This behavior is desired for ATX power supplies and can be modified in firmware to support 5V high power supplies like those borrowed from an Xbox.
Without D1 installed, or when the 12VIN is not connected, the Arduino gets its power from USB. If you want your kit powered without USB connected you need to solder in D1 OR connect VCC to your PSU.
The VCC pin can be connected to your ATX's 5Vsb to continuously power the Arduino from your ATX power supply. You will want to make sure that D1 is not installed or cut out. The Arduino is not designed to be powered directly on the VCC rail and the VIN pin at the same time.
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it
directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.
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. Arduino MEGA 2560 Rev3 requires Arduino software version 0023.
Sprinter and Marlin are popular and stable firmwares for RAMPS as of 3/28/2012. Pronterface is a cross platform printer control program that can be used for testing/printing.
Working preconfigured Marlin firmware can be downloaded at
http://www.mediafire.com/?un8s4i2lvdgd875 . is for mecanical endstops, for optical endstop need to reverse the logic of endstops from the configuration.h shell, the language of display is in italian, but can easy be canged from the shell language.h
Others (Need pins set in Firmware as below):
mechanical endstops (now the default ultimachine.com option) require #define OPTO_PULLUPS_INTERNAL 1 to be added to configuration.h if not there by default.
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 (This list is incomplete and has missing or incorrect quantities.)
In order to get rid of the USB connection between RAMPS and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.).
Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:
AT OK
AT+BAUD8 OK115200BAUD (set baud rate for RAMPS/Arduino Mega)
AT+NAMEPRUSAI3 OKsetname (optional set name, default: linvor)
AT+PIN0000 OKsetPIN (optional set pin, default: 1234)
More details about the configuration you will find here [[3]]
Wiring
On RAMPS/Arduino Mega the UART level are 5V but the BT module supports only 3.3V input. Therefore the TxD level has to be divided by resistor. This passive solution is fast enough for 115kBaud. Overall only 4 wires have to be soldered.
Connect via Bluetooth
Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.