Modifying a RAMPS 1.4 board

From RigidWiki
Jump to: navigation, search


RAMPS1 4schematic.png

The RepRap Arduino Mega Pololu Shield (RAMPS) 1.4 design is a popular Arduino shield for controlling 3D printers. Because the design is open source, finished boards are available from many manufacturers, often at very low prices, although the quality and ratings of components on the boards may differ. The RAMPS 1.4 design is based on 12V input to stepper motor drivers, 12V heating elements, and an optional 12V heated bed, while the RigidBot is a 24V design.

The RAMPS 1.4 schematic pictured to the right shows the three power buses in this design.

  • +12v Powers the stepper motors, and up to two extruder heaters, as well as passing through the diode D1 to feed the Arduino regulator. It is provided to the board at X4-3 and X4-4.
  • +12v2 Powers only the heated bed output. It is provided to the board at X4-1 and X4-2.
  • Vcc (5V) Provided by the Arduino's onboard 5V regulator, which itself is powered by the "+12v" bus. It is used for powering the Arduino CPU, thermistors, I2C, limit switches, LCD and other auxiliary devices.

This Tom's Guide video reviews the RAMPS 1.4 in its stock configuration.

Why 24V?

Broadly speaking, for equal wattage applications, higher voltages mean lower currents, and lower currents mean less power lost to heat. For resistive heaters like the heated bed, higher voltage means more wattage/current which means faster heating and higher possible temperatures. For stepper motor drivers, higher input voltage allows the driver to apply more torque in a shorter period of time which can allow for faster operation, although there are other design limitations which may affect the maximum speed. Additionally, in FDM printing, the actual print speed is usually much slower that the maximum speed of the motion control system, so this is a benefit only to non-printing movements. Some would question whether the benefits of driving the stepper motors with 24V justifies the effort required to implement the changes described below. The heated bed on the other hand, particularly on the RigidBot Big, is basically a giant 2.2 ohm resistor, that becomes a 262W heater when driven with 24V, but only a 65W heater when driven at 12V ... it's quite possible that 12V will not allow the Big heated bed to reach and maintain acceptable temperatures as the large surface area makes it easy to cool.

Certainly if you are not comfortable modifying electronics, you should read the rest of this article with only academic interest, and purchase a commercial 24V solution like the RigidBot main board.

Alternatives to Modifying a RAMPS 1.4

  • If you have a RAMPS or other Arduino shield that can run at 24V, and your only remaining hurdle is that the Arduino itself requires 12V or less, you can use the Taurino Power as a replacement for the Arduino. It can take 12V-35V input voltages to run itself and provide the appropriate 5V power bus (Vcc) for the rest of the RAMPS board.
  • The RUMBA is a fully integrated solution (Arduino + RAMPS on one board) designed for operation from 12V to 35V, and has integrated power regulators for 12V (for fans or other accessories) and 5V (for the Arduino and accessories. The RUMBA has 6 motor channels, allowing for X, Y, parallel wired Z motors, and 3 extruders; or X, Y, independently driven Z motors, and 2 extruders. Unlike the RigidBot board, the motor drivers are installed in sockets and are easily user replaceable. The board has 5 PWM capable MOSFET outputs, allowing for 3 extruder heaters, a speed controlled parts cooling fan, and a dimming light... and 3 of these outputs can be set to main power (12V-35V) or regulated 12V power. One additional PWM capable MOSFET output has a larger heatsink for use with a heated bed. While the RigidBot board is also an integrated design, this board will have a different form factor and different cable connectors, so you will still have to adapt it to suit the RigidBot. It is available for $119 USD here.
  • The RAMPS 1.4 Universal Power Kit for $209 USD is a Taurino and a RAMPS 1.4 board designed for 24V operation, and includes 5 motor channels, removable/replaceable drivers, limit switches for emergency limit stops and hall-effect sensors for homing. It will also require a custom mounting solution and changes to your cables to replace the RigidBot main board.

24V Heated Bed

The easiest "modification" to a RAMPS 1.4 board is to allow the heated bed to be run at 24V. To understand the circuits involved in the heated bed, refer to the schematic above. The high wattage power that reaches the heated bed comes from the "+12v2" power bus, at the input terminals X4-1 and X4-2. The positive voltage terminal connects through the fuse F2, before being labeled "+12v2" (which means every other point in the schematic with this label is electrically connected to this point).

The only other place you will find this "+12v2" label is in the "Heaters & Fans" section. It is connected directly to the heated bed output pin P$1; and it is connected through the current limiting resistor R23 to power LED2 (lit only when P$2 has a clear path to GND through the MOSFET transistor Q3; i.e. when the heated bed is being provided power). To understand the remainder of this circuit, note that D8 is a digital output pin from the Arduino. When it's "on" (equivalent to Vcc/+5V) the MOSFET transistor Q3 acts as an on/off switch that has been switched on, effectively connecting P$2 to GND, and lighting LED2. With P$1 connected directly to the power supply, and P$2 connected to GND through Q3, a heating element plugged between these two pins will be heated. When D8 is "off" (equivalent to GND thanks to R4), Q3 is an on/off switch that has been switched off, isolating P$2 from GND... and without a completed circuit from power, through the heated bed, to GND, no current can flow and the heated bed does not heat up.

So, to run the heated bed at 24V:

 The steps below are theories explained throughout this document, but are as yet untested.  Proceed at your own risk.
  • Replace MFR1100 with a fuse rated for 24V
  • Choose one of the following:
    • Remove LED2 or R23. You will lose the LED that indicates when the heated bed is being powered, but the RigidBot heated bed includes several LEDs around the perimeter of the bed.
    • Replace R23 with an approximately 3.6k ohm 1/8W resistor.
  • Attach a ~300W (~12A) 24V power supply with the positive lead to X4-1 and the ground lead to X4-2

Note: we are assuming here that your board manufacturer used the appropriate Q3 MOSFET, STP55NF06L, which is rated for 60V and 30A or more. To calculate the current flowing through this transistor, take your voltage (24v) and then divide it by the resistance of your heated bed (measured at 2.2ohm for the RB Big) = 10.91A. To calculate the wattage of the heater, multiply the voltage (24v) by the current (10.91A) = 262W.

24V Steppers

Providing 24V to the stepper motor drivers is a more complicated modification to the RAMPS 1.4 design. The components that we're concerned with are:

  • C2, C6 (in the Power section)
  • C3, C4, C7, C9, C10 (in the Stepper Drivers section)

Note: it is generally advisable that these electrolytic capacitors have ratings of at least 2x the operating voltage, meaning these should carry 48V or higher ratings.

The components we shouldn't need to be concerned with, provided the manufacturer is using the correct parts:

  • The A4988 stepper drivers. The Pololu A4988 stepper driver is rated to 35V max
  • Q1 and Q2 (in the Heaters & Fans section). The STP55NF06L specified in the design are rated for 60V and 30A or more
  • MFR500 fuse. The MF-R500 fuse specified in the design is rated to 30V

So, to run the stepper motors with 24V:

 The steps below are theories explained throughout this document, but are as yet untested.  Proceed at your own risk.
  • Verify the voltage rating of all the capacitors listed above to being a bare minimum of 24V, but ideally 48V or higher. Replace capacitors that are underrated.
  • Remove the diode D1. This prevents the "+12v" power bus from being used as the input voltage to the Arduino. If you connect 24V with D1 intact you will most likely permanently damage your Arduino. You will need to power the Arduino with something else (see below). If you are using a Taurino Power instead of a standard Arduino Mega, you will leave D1 intact.
  • Choose one of the following:
    • Remove LED3 and LED4, or remove R24 and R25. You will lose the LED that indicates when the extruder heaters are being powered.
    • Replace R24 and R25 with approximately 3.6k ohm 1/8W resistors.
  • Attach a ~100W (~5A) 24V power supply with the positive lead to X4-3 and the ground lead to X4-4

Finally if you've removed D1 you will need to power the Arduino through some other means. One option is via USB and the +5V regulated voltage and 500mA current it can supply. It is not clear if this is sufficient for the Arduino plus all the Vcc power bus demands of the RAMPS board, particularly with an LCD module being powered. Instead you can provide a 7-12V unregulated (or regulated) input to the Arduino Mega. In either case, the Arduino's on-board 5V regulator will provide the Vcc through the shield connections to the rest of the RAMPS 1.4 layout.

Rigidbot to RAMPs connection guide

This is a guide on how to connect the RigidBot to the RAMPS board.

IMG 9305.JPG

Extruder's Ribbon Cable

  1. Stepper cable
  2. Thermistor cable
  3. Heater cable
  4. Extruder 0 Fan


  • Pin 1 cable is the red wire at one of the ends of the ribbon cable.
  • The polarity of EVERY CABLE MATTERS. The RB connector board uses both the thermistor and the heater to power the Fan1 and Fan2 sockets
2014-10-20 1118.png

2014-10-20 1103.png

Stepper cable

Pins used: 1-4
(+) Pin(s): DNA
Note: When creating the extension for the motor's cable, connect the cables according to the following mapping:
Pin 1 to 1st cable on extension Dupont cable
Pin 2 to 2nd cable on extension Dupont cable
Pin 3 to 4th cable on extension Dupont cable
Pin 4 to 3rd cable on extension Dupont cable

2014-10-20 1122.png

Thermistor cable

Pins used: 5 & 6
(+) Pin(s): 5

2014-10-20 1124.png

Heater cable

Pins used: 7-12
(+) Pin(s): 7,9,11

2014-10-20 1125.png

Extruder 0 Fan

Pins used: 13 & 14
(+) Pin(s): 13

Power Cable


This is the simplest cable to make, just splice one end of the inline fuse holder with a cable with proper gauge (has to be able to handle 24V and 20A). A 10A and a 20A fuses are required.

Heatbed Cable

2014-10-20 1132.png

2014-10-20 1139.png

Simply splice the ribbon using pins 3,5,7,9 to create a single cable and 4,6,8,10 to create the other one. The spliced connectors need to be thin enough to fit in the D8 connector (see picture). The polarity of this cable does matter for the onboard LEDs. For the Thermistor, splice cable 1 and 2 with a 2 pin Dupont cable.

2014-10-20 1145.png

Remove D1 Diode and both Polyfuses

  • Remove D1 (marked in blue).
Note: Some RAMPS boards don't come with this diode at all (see picture). That saves time and it won't hinder usage.
  • Remove Polyfuses (marked in red).
Note: DO NOT REMOVE D2. Only the two polyfuses (yellow and rectangular in shape).

2014-10-20 1151.png
  • Bridge both empty spots for the polyfuses.

Connecting the cables to the RAMPS board

Connecting the power cable

Connecting the heat bed cable

Connecting the extruder's cable