New Part Day: Smoothie For RAMPS

When it comes to 3D printer controllers, there are two main schools of thought. The first group is RAMPS or RAMBo which are respectively a 3D printer controller ‘shield’ for the Arduino Mega and a stand-alone controller board. These boards have been the standard for DIY 3D printers for a very long time, and are the brains for quite a few printers from the biggest manufacturers. The other school of thought trundles down the path of ARM, with the most popular boards running the Smoothie firmware. There are advantages to running a printer with an ARM microcontroller, and the SmoothieBoard is fantastic.

Re-ARM for RAMPS — a Kickstarter that went live this week — is the middle ground between these two schools of thought. It’s a motherboard for RAMPS, but brings the power of a 32-bit LPC1768 ARM processor for all that smooth acceleration, fine control, and expansion abilities the SmoothieBoard brings.

The idea of a smaller board running Smoothie is nothing new. A few months at Maker Faire NY, we looked upon the wares of Cohesion3D, a company dedicated to building tiny 32-bit printer controllers. Smoothie has even been ported to other microcontrollers, and ST is getting into the ARM game with their own dev kit.

Despite a growing ecosystem of ARM-based 3D printer controller boards, there is one drawback: RAMPS is almost a standard. It’s effectively a breakout board for an Arduino Mega, though, which makes replacing the ‘brain’ of the board with an ARM an easy proposition. Why no one thought of putting a Smoothie-compatible microcontroller on a board designed for RAMPS is beyond me; it’s a mind-numbingly obvious innovation.

The Re-ARM will come with all the features you expect from a board designed to control a RAMPS board. The USB plug is a mini-B instead of the massive B plug from 1998 (an improvement, but bruh, micro USB). One heated bed and two MOSFETS for hotends are supported, and the power supply input can handle up to 30V. Because Smoothie firmware and the SmoothieBoard have a few more features than your standard RAMPS setup, Ethernet is available with a breakout board, and impressive graphic LCDs are a drop-in addition. Of course, like all Smoothie boards, configuration is as simple as adding a text file to an SD card.

Arduino-based 3D printer controllers have been around for as long as Makerbot, and today RAMPS is very close to a standard. There are thousands of printers out there running on a RAMPS board, but 32-bit ARM boards are the future. The Re-ARM gives these printers a rather simple upgrade path, without the cost of buying new stepper motors or the time involved in completely rewiring their printer. It’s a great addition to the current crop of 3D printer controller boards, and we wish this project all the success it deserves.

59 thoughts on “New Part Day: Smoothie For RAMPS

  1. I’m always one of the first to say, you can do a lot with an 8 bit… but 2D printers have had 32bit microcontrollers for decades… at least the ones you could send a job to and forget about.

    1. Rather quite a few decades: The 1985 Apple LaserWriter had a 12MHz 68000 (32-bit internal, 16-bit bus). 1.5X the CPU and 3X the RAM of the top-end Fat Mac. My officemates still didn’t appreciate me running fractals to the limits of the printer’s resolution on the Postscript engine though.

    2. A big appeal for 32-bit / more powerful controllers is the extra features. — Like the ATMEGAs can barely keep up with the delta printer movements, and it causes those types of printers to be artificially slow. — Other focuses have to do with being able to run their own TCP stack and exist on your network as a Wi-Fi printer (sort of like Octo-print, but without a Raspberry PI), or being able to drive a full touch screen display / run their own slicers, etc.

    1. Also, seriously, a mini-USB port for the printer? — Are you kidding? — That was deprecated in 2007. — Even if you meant Micro-USB — Whhhhyyyyy?

      Even regular printers wouldn’t do that to people. — 3D printers are big, they don’t need those terrible connectors. — The standard USB-B connectors have so many more mating cycles and can take so much more stress than a mini or a micro connector can.

      1. I prefer the full size B connector for regular machines because they’re easier to handle and more durable. Mini and micro connectors are usually surface mount parts. Full B is more likely to be a through hole.

        Also, same reason I prefer full size SD card. Unless the device is so small you really need that space for something else, I really appreciate parts I can handle.

        1. Exactly! Is that 10,000 cycle rating even measured by a human or do they have some sort of connection in/out machine that performs every cycle perfectly. I take care whenever plugging or un-plugging my own equipment but what happens when I let my wife or daughter use it? My wife kills micro-usb connectors so fast she should show up on the USB Wikipedia page.

          Also what about the plugs? I don’t care how careful you are micro and even mini usb plugs are worthless shit. They break so fast they are practically disposable items.

          Personally I would buy a 3/4″ thick phone with full sized USB A, B and HDMI sockets if someone would just build one to sell me. I can see why some people might not go for that though but I am at a loss as to why anyone would want a crappy throw-away miniaturized connector on a 3d printer! You aren’t putting it in your pocket!

    2. The Arduino Due doesn’t work with RAMPS for a variety of reasons. There is even a special version of RAMPS for the Arduino Due, but I hear a lot of bad things about it. For more info on both issues I think searching the reprap forums should work.

      1. Arduino Due and Arduino mega use two different platforms and sometimes things don’t get translated very well to the other. The Due is more capable however most people have spent time making things work for the mega.

  2. “and ST is getting into the ARM game with their own dev kit.”

    WTF? The STM32Fx ARM boards have been around for several years with lots of support code. The Arduino Due is an ARM based board. Do you have ANY idea what’s going on? Do the HackaDay editors not read the posts before they go up?

    This is ridiculous!

    1. I would understand your confusion if the reference wasn’t actually a link to the article introducing ST’s 3D PRINTER CONTROLLER DEV BOARD that came out a few months ago. I know, clicking links is SO HARD!

    2. Kinda seems like an add snuck into this article or maybe an add was turned into an add?

      Interesting story none the less and way better than a Kardashian promoting morning sickness drugs on ig, lest we forget thalidomide.

      +1 to Reg for promoting truth in advertising dot Org …wink wink


  3. TinyG, a different ARM-based 3d printer board very similar to the Smoothieboard, has released a version of their firmware called G2 that runs on an Arduino Due. I have done very limited testing with it, but it does seem to work and has a fairly active github community. I believe the Due has the same footprint as the Mega, would there be any reason why you couldn’t configure a Due running G2 to work with RAMPS?

      1. No, I just downloaded the G2 hex and flashed it to an Arduino Due clone. Then I tested it by sending some gcode commands for one axis. The even make driver shield called g-shield, vaguely similar to RAMPS.

        1. You wouldn’t say they are very similar if you did :) If you are curious go look at the documentation or youtube videos about it. They are both motion control projects and both run on 32bit but otherwise they are very different projects.

  4. I’d like some ready made, simple screw terminal breakouts to plug in place of Pololu stepper drivers for quick and easy hookup of more powerful drivers to RAMPS or anything else that uses them. All they’d need are the Step, Direction and Enable lines. NC pins for the rest for strength.

    1. Do they have to be screw terminals? Something like the MKS SBASE brings out the stepper signals on pins so you can connect external drivers. It’s also Smoothyware compatible, and fairly cheap (circa $50),

    2. The same company (Panucatt) offer drivers based on other chips that stay within the form factor, to enable a few more options.

      But a screw terminal adapter is an interesting idea. Probably hold together better than relying on a wire to hold itself in the socket.

  5. Ok, so I have currently a ramps based printer. From reading this article I’m told that smootieboard is the future but why?
    What will it do that the ramps doesnt, will it interpolate smoother or something? What would drive me to replace my ramps board with this?
    I ask because I dont see the printer has a lot of need for processing power apart from driving the steppers, as the print server which is a beaglebone black does the crunching bits.

    1. It will definitely interpolate smoother, it’s able to move faster, does acceleration and planning better, has a shitton of features, the largest documentation around by far, a large community, very active development, it also works for lasers and cnc mills if you get interested in those later ( you will, likely ), it’s got much simpler configuration ( also no compiling ) and firmware upgrade, ethernet with web interfaces, mass storage device showing you the files on the sd card when you plug it in via USB, and like many dozen other awesome things that I can’t really list here. Go look at, it’s really awesome, and we are really really bad at explaining how, but people who use it very quickly realize it.

      1. Hi Arthur, I’ve already got a 5 axis cnc mill and laser, both fitted with linuxcnc based controllers. I was more curious what would attract me to replacing my printer board with this. I’ve noticed some marks from changes of direction points when printing large circles and assumed it was the board doing g02 and g03’s a little coarsely, and more points of interpolation should eliminate or reduce these marks. I don’t think it will give more speed on what printer hardware I run now as thats a function of the axis hardware and steppers in use, though that might change when I add another two extruders for the controller to deal with and potentially hit speed issues so will bear it in mind as a potential fix for controller bandwidth and maybe improve smoothing on larger prints.

          1. Switching from 8-bit to 32-bit has zero influence on a printers noise. The two most important items to get a printer quiet: a) a proper firmware, distributing steps evenly and b) higher microstepping. At 1/128 or even 1/256 a stepper can indeed become entirely quiet. Like one can’t hear, only see it turning.

            Most likely you had this less-noise experience because you did not only switch the controller, but also the firmware. Smoothie is a more quiet firmware running on 32-bit, Teacup is a quiet one for both, 8-bit and 32-bit. For the board discussed here, noise development largely depends on the firmware it comes with.

    2. You’re correct. If your controller is fast enough, it’s fast enough. That’s why RAMPS is still so popular. That’s why Marlin is more popular than Teacup, which gets double the speed on the same hardware.

      Many 32-bit controllers come with extra features like Ethernet … which are pretty pointless if you have a Beaglebone right next to the controller.

      1. The only reason RAMPS is still so popular is you can get a full RAMPS kit for $15 nowadays ( it’ll burn your house down with your dog in it but that’s a different story ). RAMPS was actually decreasing in popularity right before the very cheap RAMPS started coming out some two years ago, and recently RAMPS is on the decline again ( slowly, while still being the most popular platform, but not by as much as before ). Despite being sometimes 10 times more expensive, Smoothie-based solutions are gaining in popularity steadily for years, with more and more users, and more and more boards from more and more sellers, and more and more printers using it.

          1. Really ? Just talking about the $15 full ramps kits everybody is buying off ali nowadays. Copper too thin, counterfeit components, bad quality production, no testing … the complaints about bad/burnt RAMPS exploded in the reprap community when those came out and have been a constant since.
            But sure, just automatically be against *everything* I say no matter what it is …

  6. On a related topic: what’s the very, very best, price-is-no-object controller for higher-end CO2 laser cutters that uses an open data format? My machine came with the proprietary Chinese “X7 DSP Controller” from LightObject which I have come to loathe and want to replace ASAP.

        1. Aside from the usual utility projects, I want to be able to use the machine as a mathematical art tool. In particular, I want to drive it from parametric code that I write in Excel (which could be converted to Gcode, I suppose), something which is impossible with that damned DSP controller.

          1. One thing that’s attractive about the Smoothieboard is that they make it easy to bypass the onboard stepper drivers. My machine has quite nice driver modules that I’d like to keep using.

          2. You can “bypass” stepper drivers on any board designed for Pololu-compatible stepper drivers, the pins required are right there on the header. It’s just one of these funny 3D printer people recognitions that they prefer a board where they have to ignore/waste the built in drivers over those where external drivers are the normal, unmentioned state of affairs. You don’t have to follow that.

            Having external stepper drivers, no heaters, no temperature sensors, I wonder why you want a board designed for printers at all. Essentially you have to drive a number of pins, only, which any Arduino or ARM development board can do. If you need processing power, the STM32F4Discovery runs Teacup Firmware nicely and has been demonstrated to deliver more than 500’000 steps/second. Others might prefer something running a LinuxCNC derivate, e.g. the Beaglebone.

          3. @Rodney McKay : I believe most boards break out the step/direction pins. Actually, Smoothie allows you to easily define any pin for any of the modules so you can use any of the pins to drive any number of motor, it’s all very modular ( so even if they weren’t broken out, which they are, it wouldn’t be a problem ).

          4. @ Arthur Wolf
            Is smoothieware compatible with the new Teensy 3.5/6 boards? This seems like it would be a great option as it has an onboard SD card. All that would be needed is a breakout board converting the Teensy to Arduino mega pinout.

  7. Wouldn’t it be better to select an ARM with hardware floating point support? Don’t the delta printers require lots of floating point calculations? I would think a HW solution would be much faster that software floating point routines and would leave even more CPU bandwidth for other things.

    1. The LPC1769, even without the floating point hardware, works really great on deltas, the firmware was optimized for it and it just works.
      Smoothieboard v2 ( ) will have a chip with floating point hardware ( LPC4337 ) and will take advantage of it, but it’s not strictly necessary, it’s just bonus leaving more processing time for other stuff.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s