# Which 3D printer controller should I use?

I recently build a 3D printer from scratch and was using an Arduino Mega + RAMPS 1.4 to control it. A few weeks in I installed a heated bed to help my prints stick to the surface. The bed I bought was an Anet bed found on Amazon, I'm told they are prone to causing fires.

About a week after I installed the bed, my the MOSFET on my RAMPS overheated and began to smoke. I could no longer perform without heating up too hot and smoking, so I bought another RAMPS 1.4 to replace it. The same thing happened and I returned it...

After doing some research and finding out the connectors and MOSFETs on the RAMPS 1.4 are typically undersized, I decided to upgrade to avoid the problem and go with a RAMPS 1.6 instead, which was supposed to better handle the current flow. After about a week of using the RAMPS 1.6, the power connection began to smoke and caught fire(Not the MOSFETs like the RAMPS 1.4, the incoming power connector). I attempted to remove the connector and resolder the wires, I couldn't get it to work. At this point I'm looking for advice on which controller to go with. I don't want to buy another RAMPS out of fear of the same thing happening, but I am also wondering if buying a different heated bed would fix the problem. So any recommendations on where to go from here? I've look at a few boards but one thing is some of them can only control 1 Z stepper driver, while my setup has Z.

## Controller boards

Please note (this is not to bash) that RAMPS shields are not the top of the line printer controller boards, investing in a more modern printer board platform (preferably not a clone of a known board), e.g. a 32-bit board might be a better solution.

Any board with at least four stepper drivers should be sufficient (you can use the two Z steppers in parallel or in series), some boards even offer two Z stepper output connectors controlled by a single stepper, e.g.:

No worries if the board doesn't have two Z stepper connectors, you can buy dual stepper breakout boards, e.g. a parallel solution:

Alternatively, an extra stepper driver can drive the extra Z stepper; this requires a board with at least 5 stepper drivers then, the Z2 stepper would then be connected to the E1 extruder driver. The firmware needs to be aware of using 2 stepper drivers, so in Marlin (depending on the version) set Z_DUAL_STEPPER_DRIVERS or assign a value to NUM_Z_STEPPER_DRIVERS .

## Anet heatbed

The Anet heatbed is notoriously known for fire accidents/burning caused by the underrated connectors (the connector itself is not rated for 10 A!), also the connector should require proper strain relief. The best solution is to solder the heat bed wires directly to the backside of the connector (which is what I did on my old Anet A8 printer, I used multiple pins soldered together, both the outer 2 pins on either side), an example from the web (downside is that they only used a single pin) shows this principle (with solution for cable/soldering stress relief using a tie-wrap):

A final notice for connecting heatbeds is to use proper cables; silicone cables of proper gauge (silicone wires are very flexible, e.g. AWG 14) should be used. Also, never solder the ends and put them under screw connectors on the printer board, instead, use ferrules or proper sized fork terminal connectors.

## MOSFET Band Aid

In case the MOSFETs on your boards are underrated, you can use external MOSFET boards to relieve the shield/printer board from the high currents. Note that the bed requires the most current (about 10 A), for the hotend this will not be required, the current draw is much lower, the onboard MOSFETs are rated for those loads.

• Thanks for all the help 0scar! Do you have a specific brand of controller that you know is reliable, I've been looking at smoothieboards, but am not sure. – Jack Hasselbring Apr 2 '20 at 16:53
• @JackHasselbring Unfortunately, recommendations are not allowed on SE, as these are subjective. But, the best thing you can do is to look up a local 3D printing (e)shop and ask them for advice for your budget. You now know where to look for. The low end are Arduino based controllers, the higher segment uses 32-bit microprocessors. The more features the higher the price. – 0scar Apr 2 '20 at 17:08