P3Steel Build Log (#19) – Installing All Connections to RAMPS

By ChunkySteveo,

  Filed under: 3D Printing
  Tagged with: , , , , , , , , ,
  Comments: 4

Physical Wiring Diagram For RAMPS

The P3Steel follows the most common RAMPS 1.4 wiring setup, with little to no deviation from that. If you Google “ramps 1.4 wiring diagram” you will get a host of images and guides on how to wire it up. I would advise you get familiar with the diagrams you find at the very least, and understand each component and connection on the RAMPS board. There isn’t a definitive diagram, as each printer setup is different, and you can pick and choose the hardware that you install onto the board.

Moving forward with this build log, and if you have been following along – it has been assumed that we are building a printer with an X,Y and Z axis, stepper motors to control those axis (two stepper motors for the z-axis), endstop switches to define the minimum or “min” points on those axis, a single extruder, a single hotend nozzle and a heated bed. We will be controlling the stepper motors with DRV8825 stepper drivers (the purple ones!). We will also be able to control and manage settings of the printer using an LCD panel and SD card slot. In another post I will go into the additional fan control too – to add in extra controllable fans.

Everybody got that??

Actually Wiring Up The RAMPS Board

So as mentioned above, we have a list of hardware that has mostly been installed and fastened to the printer, and are all left disconnected – awaiting for this fateful day! The RAMPS board is going to get very cramps, very quickly. It’s well designed and thought out in terms of layout, but as you add more and more connections to it, it’s going to get hidden beneath a nest of wires, connections, crimps and fans – say goodbye to your lovely clean clear red board! 😢

Installing The Stepper Drivers

First up are the stepper drivers which are little circuit board driver chips that control the current, and thus the movement, of the stepper motors. They are the nerves of the printer – translating electrical signals from the brain (Arduino Mega 2560 chip) to the muscles (the Nema stepper motors)… if you like?! We are using DRV8825 stepper drivers for the P3Steel printer. They are cheap, and allow up to 32 microsteps per mm of movement. I purchased my drivers as part of a whole Arduino Mega and RAMPS kit, but you can also get the individually. DRV8825 Drivers with heatsinks. I would recommend set of 5 (one spare) with little heatsinks to help with heat dissipation (even though they are being cooled from the wrong side of the chip…). Addition to these drivers, you can also use A4988 stepper drivers which are cheaper – some may say inferior, others would suggest you don’t need anything more for these 8-bit Arduino based printers. The A4988 drivers are considered the workhorses of 3D Printers. Finally – if you can afford them, you can get silent stick TMC2100 stepper drivers (go for the 1.2v blue heatsink versions!) which run more quieter, can offer interpolated 256 microsteps, but are a lot more expensive. You will need to do a lot more config and setup if you go for the TMC2100 drivers though.

Spoiler alert – I am now running TMC2100 drivers after identifying and confirming an underlying issue with DRV8825 drivers and their “dead zone” when printing slow curved objects. If you have purchased DRV8825 drivers, don’t worry – I have had hundreds of hours of prints from them and they are great little drivers – solid as a rock – just needed to improve my printers performance. I will update you in a future post about the full issue, what you can do to resolve it using either an additional piece of hardware, or upgrading to the TMC2100 drivers.

But forget I spoke about that – the following post will work fine no matter which drivers you have purchased and want to install. If you haven’t already fastened your Ardunio Mega to the printer frame do so – and then secure the RAMPS board to the Ardunio.


For DRV8825 drivers (and TMC2100), they point with their little Vref potentiometer to the “left” i.e. pointing to the power connection of the RAMPS board. If you are using A4988 driver boards, I believe you have to install them with the potentiometer pointing to the “right”. The drivers boards will be installed onto the RAMPS board where you can see the large capacitors and three jumper pins per female header pins. Refer to the RAMPS documentation about microsteps per mm and what you are after. I wanter maximum control and went for the DRV8825 drivers 32 microstep option. To do this we need to remove all the jumper pins (if there are any) for each stepper driver.

We have three axis and a single extruder, so that’s four stepper drivers. Install the drivers to the RAMPS board by first removing any jumper pins as per above and then slip them into their header pins – making sure the potentiometer is pointing to the left (if using DRV8825). There is a lower row of three and an upper row of two slots for the driver boards. The upper are for two extruders, so we only install a driver board on the left which is “E0” (Extruder 0). The bottom row is for the X, Y and Z axis, so install a driver board to each slot. After all that – you should have something looking like the below image. The “L shaped” connection to the right is the LCD and SD adaptor. Feel free to install that now if you are using an LCD panel, while the access is easy.

3D printer RAMPS board on Prusa P3Steel frame

If you have some mini heatsinks, stick them to the chips. We will eventually have active cooling on the RAMPS board via some 40mm fans – so these aren’t totally necessary. And the way chips are usually cooled it through the bottom of them, so sticking a heatsink on the top will actually draw the heat THROUGH the chip… but purely for some basic heat dissipation and to keep my mind at ease – I installed my heatsinks to the chips to aid in any potential heat build up. They look cool too…!

Connecting The Stepper Motors

Now we can connect the stepper motors to the stepper drivers on the RAMPS board. My motors (5PCS 45Ncm/64oz.in Nema 17 Stepper Motor 2A 4-wire 1m Cable) came with the cables pre-attached to them, and they do not have a removable connection on them, they do however have a four pin dupoint connection on the end though. For testing and troubleshooting we can easily connect the motors to the RAMPS board. But for final assembly the provided cabling can be too long and look messy – especially for the left hand side z-axis motor, which is only a few centimetre away from the board, yet still has a 1m cable. To resolve this, we’re going to cut the cabling to size once we have routed it through the printer frame. This will keep everything neat and tidy. It will limit the re-use of the motors for other applications, or if one needs replacing, but I intend to leave these motors in, and if a new cable is needed it wouldn’t be too hard to re-solder on a new length.

To do the re-cabling, we could either cut the cable at the required length and then use some dupoint crimpers to re-crimp a new 4-pin dupoint connection on the end. Or as I have done, simply cut about 10 centimetres of cable from the connection end, cut the remaining cable to length, and then re-solder the four wires back together!

Example of this can be seen below for the left hand z-axis. The resulting cable length is about 10 centimetres which is cut and then threaded through one of the holes in the P3Steel frame. The four wires seen below are then re-soldered onto the previously cut connection and the connector inserted into the correct labelled header on the RAMPS board.

You will need to trace the motor cable from motor to RAMPS board – trying to keep the cable neat and tidy along straight paths and using the available wiring loom holes to your advantage to thread them through the frame where needed. Imagine the printer moving to all extremes of it’s axis to make sure you don’t cut the cable length too short! (i.e. the x-axis motor is only centimetres from the RAMPS board, but when the z-azis is fully extended, the x-axis motor is going to be about 200mm further away from the RAMPS board – don’t cut it too short!!

To get a better understanding of the re-soldering of the cables, read on with examples from the end stops.

Connecting The End Stops

The end stops are next. Same setup as the motors – I don’t want masses of spare cable everywhere, so I am going to cut them close to the RAMPS connections (the dupoint connector) and then re-solder them at the correct length once I have routed the wires through the printer frame from the actual end stop location to the RAMPS board. As promised before, check out the step by step process to re-solder the wires back together using multiple sections of heat shrink tubing:

“Oh, what are those white labels on his dupoint connectors?” I hear you say…?! To keep everything easy to access in quick emergencies or when I frantically pull all the cables apart from the RAMPS board and need to get it back printing quickly – you don’t want to spend time visually routing each cable and working out which connection belongs to which hardware! I used a Dymo label printer and printed out what the cable was and attached it to the dupoint connection. There’s just enough room to fit most names.

Heater Cables and Thermistors (Bed and Hotend)

Last things to hook up are the heater cables and the thermistors. This P3Steel has a headed bed, so there are two heater cartridges and two thermistors to deal with. First lets deal with the heated bed. In our last post about the P3Steel heated bed we left it in an installed state, but with it’s cables (for the heating element and the thermistor wires) sticking out it’s back-end like a steampunk style tail(?!). We’re now going to hook these up to the RAMPS board, and keep them safe too.

The bed is going to be moving back and forth, up to 200mm all day, everyday, until the day you (read: wife/girlfriend/partner) decide to get rid of your infernal machine. These cables are going to be moving too, and as they are not fastened to anything, will be the weakest link and most likely to break – either by repeated bending, or being rubbed down and warn out causing a short or failure. We need to beef them up to help them last longer.

In order to do this we are going to secure them to the bed frame with a zip tie, add in some thick heat shrink, and cover them both in some nylon braided cable cover. I went over this cable wrap in the P3Steel core wiring build post. Thread on a long thick section of heat shrink tubing, and then a length of the nylon braid wrap. Then heat the shrink wrap onto the nylon braid.

This will protect the cables from rubbing on anything and stiffen them up at the joint between the cable and the heated bed. If you look the cable round to the RAMPS board and hold it in place. Move the bed back and forth and you may see the cable rub against the back frame or sit on the stepper motor. These are two places that could affect the wiring, so this nylon braid is there to protect the cabling. I intend to leave the bed cables like this – looped round the back and left to dangle down. I believe Toolson looped his bed cables up and then down, which would eliminate this potential rubbing spot. But it’s up to you, and good cable management is half thinking ahead, and half artistic licence.

Back to the heated bed cables, and we have another end to deal with! Similar setup with this end to be terminated with some heat shrink tubing shrunk over the nylon braided cable. Make sure there is sufficient length of the cable to allow you to route the cable out the way, and you can move the bed to it’s full extent either way. Once you are happy you’re limiting the bed movement, cut your cable and tidy up the braided cable and heat shrink. As it turned out for me – the provided cable length was just enough to reach from the back of the bed to my RAMPS board – baring in mind my cable started at the “front” of the bed and went under it’s length to the back.

You will need to terminate the power cable to allow you to insert it into the terminal blocks on the RAMPS board (connection D8 on the PCB). The thermistor will need to reach to the other end of the RAMPS board, so don’t cut it just yet at this point!

Now insert the power cables for the heated bed element into D8 of the RAMPS board, which is the lowest terminal block of the set of three – D8, D9 and D10. You should have terminal crimps on all wiring and not use bare copper cable.. don’t follow my lead on this! The heated bed will pull A LOT of AMPS from your power supply, through the RAMPS board and through the D8 terminal block. If anything is going to fail, especially if you plan on printing ABS with it’s 90°C bed requirements, then the terminal connections for the heated bed will fail. Trust me on this…. they will fail…. 😤 So at very least, make sure the screws on the terminal blocks are clamping down on the cable. Be sure to check polarity, as there is a positive and negative terminal. You should have something like the below.

I was very fortunate, and the length of the thermistor was almost spot on and it did not need to be cut to length (it already had a 2 pin dupoint connector on it). All I did was add a little loop just to take up some of the slack. The thermistor goes into one of the three thermistor connections on the board, labelled T0, T1 and T2. The bed thermistor is the T1 slot, in the middle. There is no polarity, so just plug it in.

Connection the Hotend Assembly to RAMPS

Onto the hotend. Similar setup, we have a heater (cartridge) cable set and a thermistor. In one of the latest build blog post I went into detail wiring up the hotend, and left with the umbilical cord of heater cartridge cables, thermistor wires, cooling fan cable and hotend fan all heading off into the ceiling away from the hotend assembly. Now it’s sadly time to deal with all that mess!

It’s very similar to the heated bed though. Just gather all your cables together. Slip on a thick length of heat shrink tubing and then slowly and carefully thread on some nylon braided cable wrap. The 8mm wrap I bought (https://www.aliexpress.com/item/Free-Shipping-10m-8mm-Dia-General-Wire-Protection-Black-PET-Nylon-Braided-Cable-Sleeve/32431717400.html) just fits all the cables (four sets of wires), but you have to go slow, and do an oddly satisfying (😘) move of pushing and pulling it like you are threading a stretchy plastic sausage snake skin!

The hotend part should look like the below. And the remaining cable should be looped over the top frame support and down the left (if you are looking at the printer from the front) triangle upright frame to the RAMPS board.

When you get to the RAMPS board you will then need to separate the four cables and route them more locally, distributing them throughout the RAMPS board. I actually cut my nylon cable braid and then re-braided it after I had my cables routed better. You can go without any cable management, but I will just leave you at that point, you’re on your own!

If you were smart and read ahead to this point, you would now read that before you push and pull your plastic snake skin up and along your massive length of cable for the best part of an hour (as the other end just gets looser and looser and slowly falls apart into spiky hard nylon doll hair… You should label your cables somehow with either Dymo labels or markings – so when you get to this point, you know which cable belongs to the cooling fans, the hotend fan, the heater cartridge and, well, the thermistor is the thin white cable – i’ll give you that…! A multi-meter continuity test would work well here too, just saying!

The heater cartridge cables go to the back of the RAMPS board, to terminal connection D10 on the PCB. They are also followed with the cooling fan wires which go to D9 terminal block connection. I intend to manage ad control the the cooling fan with Gcode and the Marlin firmware, so they need to be connected to the PWM pins on D9. If you just wanted the cooling fans on – you would need to to connect them to a 12V connection somewhere on the board. But that would be a bad idea, as you don’t want to cool your plastic all the time!

Two wires to go… The hotend fan (as we are using an E3Dv6 with active cooling) needs to go to the RAMPS fan extender which we will get to – that’s at the bottom of the RAMPS board. Finally the thermistor wires go to the T0 thermistor connection near the “right” of the RAMPS board.

That’s it – you’re done! Go print a 3DBenchy…. 👍

Haha – you wish!

Cable Management And Cable Tidy Up

If you have followed my advice, most of your main cable groups will be in nylon braided cable wrap, or at least zip tied together. We can’t leave all the cables just floating around as they could become tangled, rub and wear down and potentially fail. We need to tidy up and make as much of the wiring loom tucked away and secure to the frame.

Zip ties are your friend here, and you should go ahead and zip tie the cables secure to the frame where you can. The less the cables can  move, and the more they are out the way – the better.

The big elephant in the room is the umbilical cord that services the hotend assembly. This cable group needs to move left and right with the x-axis, and up and down with the z-axis. This can however all be done from when the cable loops over the top of the frame. At the back of the printer the the cable can be locked down to the frame and secured into place, and away from potentially falling onto the print platform mid print.

There’s is however nowhere to secure the cable to the frame from the top to the back of the printer. This is where these come in handy:

They are small zip tie clips that fit onto the 3mm steel frame one end, and allow a zip tie to be used on the other. They are by Toolson and can be found here – http://www.thingiverse.com/thing:1052270. Print several out and line them up going down the upright frame to the RAMPS board.

Now you can zip tie the hotend assembly cable down to the RAMPS board and secure the cable to the frame. Nice and neat!

That is all the wiring for now. We’re going to touch on the LCD panel and the RAMPS fan extender in a future post, but for now, we’re done with the main wiring! If you’ve got something not connected – best of luck to you!


  Comments: 4

  1. Leon van Kesteren

    It’s shaping up nicely! Can you post the bushings you printed for the motor cables? I’ve used thick tape for it but hate the looks of it and your printed bushings look way better.

    In terms of upgrades, I’ve recently bought the Re-Arm for RAMPS which upgrades your processor from 8-bit to 32-bits and 100Mhz of computing power. It runs smoothieware. I’ve bought mine here: http://www.panucatt.com/Re_ARM_for_RAMPS_p/ra1768.htm and is a drop-in replacement for the Arduino.
    The TMC2100’s are also on my RAMPS board running in 1/256 inerpolation spreadcycle mode to run the steppers as quietly as possible.

    • Hey Leon,

      Thanks for the comment! Ah yes, do you mean the little plastic grommets in the holes? If so, they were on Thingiverse, here – http://www.thingiverse.com/thing:1563881 I have since installed them on all of the holes on the printer, as it breaks up the black and just helps to accent the printer part colours too!

      Great link about the “Re-ARM” board – did not know about this. I was aware of all the “smoothie-boards” and various 32bit boards, but not a drop in replacement for the faithful old “Mega”! Will definitely have a read on this! And ditto on the TMC2100’s, running 1/16 – 1/256 interpolated in spreadcycle too. I have a YouTube video almost completed and blog post half written about this upgrade. Was a pleasant and worthwhile update!



  2. Love the build log, im going to be building my first 3d printer using pretty much exactly what you did, I wanted the xl printing volume and from your work, I know that the toolson parts will work with it! Did you ever happen to make a list of screws and bolts needed to build it all? Also, did you ever reprint in PETG did that stop the cracking? Sadly im probably going to have to buy all the 3d parts one at a time as most hubs want well over 110$ for just the prints

    • Hey Jonathon!

      Best of luck with your new build, you will enjoy it!! I haven’t got a BOM list yet, but you will need a load of different sized M3 bolts, including about 60 M3 12mm for the frame, and about 80 M3 Nyloc nuts. You will also need some M4, M5 bolts for bearing axles and the x-axis assembly. I will (promise!!) get round to actually counting up what bolts, nuts and washers were used, it’s been asked before.

      I am in the middle of printing all the parts in PETG. I was going to print them all and do a video and blog post showing the printer tear down and re-build with the parts, but as parts break or crack, I have been slowly just replacing them in PETG, so there’s no real “big reveal” yet. I would advise PETG over PLA. The issue I had with Toolson’s parts in PLA are gone in PETG – it’s just naturally more stronger and won’t break or crack on the first sign of pressure.

      It took me months to buy all the parts, so the cost for me was spread out. I had a smaller 3D printer so was able to print my own fortunately! 3D printing services are not cheap (compared to the raw cost of the plastic), so i’d agree that getting parts slowly will work well – just stick with one user so they know what you are up to, and hopefully they will keep the parts printed in the same way, probably the same roll of material too.

      Best of luck!


Your feedback