P3Steel Build Log (#12) – RAMPS and Arduino Mega (aka The Brain!)


TL;DR, in a nutshell – For this printer I will be using the standard and simple setup of an Arduino Mega and a RAMPS 1.4 board. The Arduino Mega is the brains of the printer and will process all the g-code instructions from the .gcode files from either an SD card or over USB and tell the printer how to move, heat up, extrude filament etc by signalling all the motors, heaters and sensors on the printer which are connected via the RAMPS board, which in turn is connected to the Arduino Mega via the GPIO pins.

Using RAMPS and an Arduino Mega is the quickest and cheapest way to get your 3D printer up and running. You can purchase them together as a kit (usually) or separate components. There is a wide variety of quality of boards available, but you should be looking around £5-10 for the RAMPS board, and anything from £5-15 for the Ardunio Mega. I’m on my second Mega board, as the first one burnt up on the second use just while testing (the 5V regulator burnt up) so I went from a clone version to a “fake-real” Arduino Mega. I knew the one I bought would be a fake of the original, but due to it trying to be a fake – the components will be a little bit better than the dirt cheap ones (or at least that was my thinking?!!). Either that or I got an incredible bargain?! 🙂

AliExpress Product Listings

I initially bought a whole “RAMPS kit” from seller A+A+A+ which is here – https://www.aliexpress.com/item/3D-Printer-kit-1pcs-Mega-2560-R3-1pcs-RAMPS-1-4-Controller-5pcs-DRV8825-Stepper-Motor/1948360826.html which included pretty much all you need for the main RAMPS setup, including the optional (but highly recommended!) 2004 LCD and SD expansion board, DRV8825 steppers and even the jumpers to set the stepper drivers to whatever micro-stepping you require.

This kit however went sour after the 5V regulator burnt up (literally in a puff of magic smoke and smoldering red glow!) and it also seems to kill the LCD panel too. I went for a standalone Mega from one of my favourite Ali stores – All ELECTRONICS MALL, just search for “Freeshipping Mega 2560” on their store. I also had to get another LCD controller from there too – “3D-P 3D printer reprap smart controller”

Mounting To The P3Steel Frame

You can if you like just leave the Arduino and RAMPS board just lying around, or mount it in a box by the side of the printer, but ideally you will want to attach it to the frame so it is a more compact unit and easily portable if needed to move. Thankfully the frame of the P3Steel has mounting holes on either side of the large “triangle” uprights for just this. There are mounting holes near the base which are drilled to line up with the mounting holes of an Ardunio Mega board.

I went ahead and printed the mount frame from Toolson’s files, as per below, and I opted for the updated files which reduce the amount of plastic used and probably help in cooling too (somehow?!). You can see more on my make here – http://www.thingiverse.com/make:229275. We’re using these mount brackets for two reasons – to easily mount the Arduino to the frame and to give an gap between the frame and the board. And to give an offset to the mounting holes to allow the LCD adapter to be fitted.

Once printed I drilled out the M3 holes with a 3mm drill bit and then press fit some M3 nuts into their spaces in the back which will help secure the Arduino board to the mounts.

However… on test fitting the brackets to the Ardunio and then to the P3Steel frame the mounting holes just did not line up, not even close.- the mounts simply did not line up with the mounting holes on the frame. Other users who printed this from Thingiverse (here) also commented how they thought the holes were not quite right. On closer inspection it appears the 2.5 DXL laser cut frame seems (may?) to have it’s electronics mounting holes in a slightly different configuration than the 2.0 and 2.01 frame.

To resolve this, I decided to design my own frame mounts, taking Toolson’s design as inspiration.

New P3Steel 2.5 DXL Frame Mounts

Using Toolson’s design dimensions I measured up the mounting holes on the steel frame and also on the Mega board. They were indeed not the same as the 2.01 mounts. So a used Tinkercad and knocked up a similar mount using the new dimensions I got from the frame. Tinkercad is great for little projects like this, and you can quickly create complex mounts and brackets. You can see the time lapse video below, and some accompanying shots of the mounts. I opted to go for both the full frame mount and also the cut down one, which you can find in my make here – P3steel 2.5 – RAMPS Offset Mount. The differences are subtle, but when fitting to pre-drilled holes in 3mm steel – it matters!

You may notice on the images (below especially) that the mount sticks out of the frame slightly. Also – one of the reasons for using the frame mount was to give clearance to allow you to fit the LCD adapter on the RAMPS board. There was still a lot of spare room between the adapter and frame – so I could afford top move it further back into the frame – solving the little overshoot issue seen below!

Improving the Arduino / RAMPS Mount for P3Steel 2.5 DXL Frame

A new set of mounts were designed from my original Tinkercad files which is now only had a 10mm instead of 15mm offset – shifting the Arduino inwards just enough to not stick out. This new design also has even more trimmed off it to the bare minimum needed to mount the Arduino to the frame. You should be able to see in the image below one of the frame mount holes actually overlap the Ardunio “raised” mount parts. That’s fine, but shows just how much space has been chopped off! The LCD adapter is still accessible and works fine.

Once printed I repeated the whole drilling, reaming and M3 nut pressing exercise again and then mounted them on the frame.

Looking at the two images below I am not 100% sure I got my dimensions correct, they seem misaligned, and fitting the Arduino was also a bit of a squeeze. Oh well – it fits and works!

(You may notice a small heatsink on the Arduino Mega in the image above. I don’t know if it’s necessary – but I have had the 5V regulator burn up on a Mega board before, and I saw a picture on the internet of someone who had one attached – so I thought “why not?!”. I don’t think it will do any harm, and if it does help with heat dissipation from the regulator, then all’s good!).

You can see the LCD adapter below on the far right. Just enough clearance to fit the two cables, and you can see the top left mount is flush with the frame edge. My OCD can sleep happy tonight – and we’re done!


I’ll get to the stepper drivers and the whole wiring loom in due course!


7 comments on “P3Steel Build Log (#12) – RAMPS and Arduino Mega (aka The Brain!)

  1. Hi Steve!

    really liked the detailled description of what you’ve done and which problems you’ve encountered in this and the last few blog entries 🙂

    My printer is becoming “something” too. I tested the movement of the axis for the first time today. I have to admit that it was quite an awesome feeling to see the printer moving around on it’s own :’D

    Just a question regarding the part where you say that you drill out the holes in the parts. What kind of drill do you use? All I have is a huge electric drill but that thing in your picture seems to be something like manual drill holder?

    Best regards, Anil

    • Hey Anil,

      Good to hear your printer is coming along. It is very satisfying to power it up for the first time and as you say – to make the axis move you have turned it from a pile of plastic parts and random rods and electronics into an actual working machine (which works too!).

      Drilling out the holes is just to make it easier for the M3 bolts to slide in. When you print a 3mm hole, usually it’s about 2.7-2.8mm in diameter – so when you try to insert an M3 bolt it won’t go unless you turn it. Sometimes you want this – as you are tapping out the threads with the bolt into the plastic. But usually this can also stress the plastic and cause it to crack or split. So for the M3 holes I use a 3mm drill bit, M4 is 4mm… etc! You can use an electric drill no problem, especially if you have speed control and you can go slow – you’re just drilling out the tiniest amounts of plastic to clear out the hole. I use some manual drill bit holders to do the job. They give you a little more control so you can’t end up ‘wizzing’ the part round on the end of the electric drill!! They are 3D printed parts, and I find them super helpful on lots of projects. You can find them on Thingiverse, and my make is here – http://www.thingiverse.com/make:220376. I’d highly recommend you print them out, handy to keep in your toolbox. I wouldn’t recommend the 8mm version – when you’re drilling out M8 holes you do need some power, so a drill is recommended here (unless you don’t mind blisters on your palms!!)


  2. Hello!

    I just wanted to thank you! I finished to build my printer, and it’s working like a charm. I’ve got to say that your posts made the build process very easy, since everything is well discribed…

    Any way, thanks again!

    • Hi Paralax!

      Thanks for the comment, and well done of finishing your build – we need to see it! Glad the blog helped you out and was of some use. I really (really!) need to finish off the rest of the steps and post them, I hope the rest of my build log matches what you did!



  3. Hi Steve
    First thanx for this blog so helpful and a lot of information, I’ve just purchased a Chinese 3d printer kit and it’s up and running ready to print the p3steel parts.
    I have 2 questions:

    Do you use only PLA? Even for the Hot end mount? I know PLA is not comfortable with heat; but i’d like to youse only PLA as it’s much easier to print.

    How do you find the brass bushings? I was thinking to use Igus ones, what do you think?

    Thanks a lot for all the info and time you dedicate to share with us your experiences.

    • Hi Francesco,

      Thanks for the feedback, best of luck with your new printer!

      The P3Steel was printed in PLA, only as I did not have a heated bed to print anything else. The PLA works fine and the hotend is far enough away not to cause any issue with the PLA. You only really get droop and warp with PLA when something really hot is in direct contact with it. As the hotend is suspended in air, the mount and fan shroud are fine, and have been. I am however re-printing all the parts in PETG to make the whole printer stronger and to improve it’s temperature resistance. PETG is stronger than PLA. If you can do the parts in PETG – I would recommend it over PLA, but PLA will work.

      The brass bushings are fine for the x-axis, but I have found my bushings seem to have worn a lot on the heavy y-axis. They are super silent, but I have experienced a lot of vibration. Currently testing runs with LMU88 bearings on the y-axis to see how that goes – so far there’s a lot less friction, but more noise. Never tried Igus ones, but I have heard a lot of good reports about them. They are cheaper to buy now too, so it’s always worth a go. Once you have your printer running – you will find it’s easy to print some brackets and try different bearings and setups.

      All the best, and thanks for the kind words!


      • Thanx for your reply I’ll see if I can get some petg or it’ll be PLA galore AL the way. Looking forward to your next post to see and read all the steps. Very informative and very entertaining.
        All the best mate. Keep up the good work.

Leave a Reply

© 2024 Chunky Media

b4st theme for WordPress