Smoothieboard, The Be-all, End-all CNC Controller

A while back we took a look at electronics boards for 3D printers, going over the cost and benefits of the most common electronics boards for printers, laser cutters, and mills. One of the most impressive boards was the Smoothieboard, but finding a supplier back then was a little difficult. Now, the Smoothieboard is up on Kickstarter, giving everyone the opportunity to get their hands on this very cool CNC control board.

While most RepRap and 3D printer controller boards use an ATMega or other 8-bit microcontroller, the Smoothie uses a 32-bit ARM chip in the form of an NXP LPC Cortex-M3 chip. Not only does this allow the Smoothie to do some very cool things with your machine – native arcs and circles, for example, but this better hardware also allows for Ethernet, drag-and-drop firmware, and exposing the USB port as both a serial port or mass storage device.

The Smoothie comes in three flavors, with either 3, 4, or 5 stepper motor drivers. These Allegro A4982 drivers are good enough for any 3D printer, laser cutter, or small mill, but the broken out pins allow for stepper drivers supplying more than 2A of current.

Everything on the Smoothieboard is modular, meaning this board is equally capable of powering a RepRap, mill, laser cutter, or plotter. There’s even a planned control panel called the Smoothiepanel, making this a great choice for your next CNC build.

74 thoughts on “Smoothieboard, The Be-all, End-all CNC Controller

  1. Just want to say, I have a hacked-together Smoothie on a protoboard, and I freakin’ love it. Drag-and-drop flashing and uploading of Gcode files is really handy, the simple terminal shell is much easier to use than remembering a million gcode commands, the motion is nice and smooth, and adjusting config values in a cleartext file rather than re-flashing or using eeprom saves a lot of time in setup and upgrades.

    One thing to note, though, is that the ethernet pad is there, but it’s not supported in software yet. Over on the IRC it sounded like they don’t expect that to happen any time soon, but a Raspberry Pi and Octoprint (or a fancy panel) can do the same thing.

    1. I have the beta smoothieboard and it’s one step awesomer than my smoothie on a breadboard. Wth the non breadboard version I can adjust the driver current mid-print via M907 – no more futzing around with adjusting the pololus.

      Granted I don’t need to change the current all that often, however when I’m testing out a new extruder I can easily play around with the current going to the motor to see where it starts to skip at what speeds.

  2. Anyone else want to start a betting pool site where we bet on how long projects like these will be delayed?

    Have ANY major kickstarters finished on time? Or even within a month?

    All these people with whiz-bang electronics need to do it the right way – convince a distributor to fund them. There’s no reason something like this can’t be done through Sparkfun or Adafruit, for example.

    1. Actually, Smoothie folks did try that on a small scale–they used to sell boards through TrinityLabs, but from what I’ve gathered, that went poorly (I don’t know the gossipy details, I just know that lots of people are badmouthing TrinityLabs on the reprap forums and Arthur Wolf, the Smoothie creator, said he would rather not go through that again). The boards have been in use for a while, and are totally functional, and manufacturers and assemblers are all lined up–no “we were going to hand assemble them then there were too many orders” issues. Delays are possible, but those involved are not novices to manufacturing this stuff.

  3. Okay i can see the advantage of one of these for 3d printing. But for CNC or lasers, you can buy all in 1 boards that are 5 axis with full end stops and spindle control, emergency stop etc for about £18 (yes from china) that usually come with a copy of Mach 3. How come no ones just tried to get one of these boards to work with opensource software?

      1. Ah okay that makes more sense if you want it to run as a stand alone unit. For me i never really use a printing unit/cnc without a pc/laptop on next to the unit. So i just turn it on and let it do it’s stuff while i go make a cuppa or start work on another design while im waiting. There are a couple of boards i’ve seen on ebay that have started to use an ARM on them to handle coms. so you only need to use a usb input instead of a parallel port.

        1. Does your office printer has a computer next to it?
          Did you know I work at Ultimaker, and about 80% of our Ultimaker kits get sold with an Ulticontroller so it can run stand-alone?
          Your “I never use the printer without a computer next to it” does not match real world use. Our 3D printers, and the laser-cutters in our local FabLab see a lot of “remote” use. No special dedicated drivers required.

          The biggest mistake a lot of nerds are currently making is thinking that the rest of the world works the same as they do. “Vi is NOT a good interface.”

          1. No office just a shed with power. I’d love to get an Ulitmaker but i can’t afford one, so i built one from scratch ages ago, i built it as i wanted to understand the way the system worked but at the same time i wanted to try and improve the design in my own way from the standard at the time i.e rep rap. I built a small pc system with a repurposed laptop lcd screen that runs the printer as well as sketchup and autocad to adjust files before or after printing.

            It’s the same with my cnc, that was a scratch build built from stuff i had either lying around or parts i could get cheap. It too has a little itx pc with a laptop screen/mini keyboard thats built into the unit. Like i said im not knocking standalone systems. I appologise if my way of thinking is a little outdated.

          2. “Does your office printer has a computer next to it?
            Did you know I work at Ultimaker, and about 80% of our Ultimaker kits get sold with an Ulticontroller so it can run stand-alone?
            Your “I never use the printer without a computer next to it” does not match real world use. ”

            I take great issue with this statement especially in the CNC world. lets take haas for example. you might say that there is no pc at the machine itself, however this is a large misnomer, the controller is a PC. So I would argue that in the CNC world any real production line machines and even most of the hobby ones (mach 3 or linuxcnc) run with a pc attached at a controller. So a 3d printed model on an ultimaker that can’t handle tolerances at all might not need a real time controller there but in the real production world they are there.

          3. Here’s my response to that:
            So you work at Ultimaker? Well I’m Zorg, ruler of Saturn. I have a panel for my printer and i use it solely for printing overnight to save power. There’s no slicing connected to it so you STILL need a PC to slice the files, put them on an SD card and put them into the control unit. It’s inferior to having a computer next to it. I’m pretty sure the “remote” use you see is a computer at the final destination.

            The biggest mistake a lot of companies are currently making is thinking that the rest of the world works the same as they do.

          4. @h_2_o: Using a PC as CNC controller is a huge waste unless you had a spare laying around. Great for hobby machines, but if you are selling full blown machines with everything in it you cannot argue for a $400+ machine vs a $100 controller board.
            The printer-port controllers used for CNC milling are simply dated tech. They work, but they are hardly the best solution for the job. They work, I give you that. But so does a steam engine car, but for some reason you no longer see those around (a lot)

    1. they would work just fine* with this: http://www.linuxcnc.org/ but you will need a real parallelport they are not exactly common anymore, it requires hard realtime so you shouldn’t use the computer for anything else and afaiu MACH3 tell you not to use a laptop because the lowpower feature mess with the timing.

      *many of the cheap chinese driver boards have been throughly torn apart on various forums, the design is usually horrible and tend to blowup

      1. Or get a Mesa 5i25.

        As long as your computer is fast enough you can use it for other things while the machine is working away, it does not need to be dedicated. There is a program that comes with it to measure latency which comes in to play when you setup linuxcnc.

        If you use one of the 5i25 boards you dont even have to worry about that.

      2. Parallel port boards are not uncommon today. As far as people wailing about imported driver boards on forums goes I don’t think the hardware was the problem. A combination of the documentation and the end users themselves were the problem. Had that documentation been better, or those users known what they were doing there would have been a lot less crying going on.

      1. I got a copy of mach3 with both boards i’ve had delivered. It also came bundled with some cam software as well. Maybe they have distribution license? But it is definately a full version of it. It’s been running my cnc for the last 3 years.

          1. Yep i know how much it costs. But how do you know the company thats selling those boards doesn’t have a distribution license that lets them give copies out with their boards? Also you can after all use these same boards with linuxcnc as well. So it is pretty convenient, to have options to use it or not.

          2. I know the company thats selling those boards doesn’t have a distribution license because it’d be pretty dumb of Artsoft to offer their software for a fraction of what they charge regularly. Why would anyone pay Artsoft their license fee if they could buy the board with software for a sixth what the license costs? They could simply throw the board out and pocket the difference.

    1. Because when they’re standing up, it’s easier to bolt heatsinks to them!

      The “feature” that baffles me is the soldered-on stepper drivers. If I’ve learned anything from fixing boards for friends, it’s that these chips are the most abused part of any machine, and they should really be as modular as possible.

      1. Actually, at least in the reprap world, that reputation of drivers being easy to fry comes from older generation chips used on the pololu breakouts. The chips we use on Smoothieboard are more protected, and have much better heatsinking, making them much harder to fry. Pretty much the only way you will fry them is by disconnecting or connecting them while powered on. And even then most of the time it will not fail.

      2. SOICs with a ground slug. If you have to replace them, you’re gonna have a bad time.

        I know everyone gets ragey over separate driver PCBs, but at ~$12 from Pololu and cheaper elsewhere it’s not worth risking the whole PCB if you smoke one channel.

        1. Wow SOIC is my choice for easiest-to-unsolder SMT part. They practically fall off the board.

          Read any spec sheets lately? Soldering to a copper ground plane has much lower thermal resistance than “heatsink heatsink heatsink”.

          Failing parts are a symptom of a BAD DESIGN.

    2. Screwing a proper sized heatsink to TO220 is a lot easier than to add a
      heatsink effectively to a D2pak with its tab soldered to the PCB. You want
      to make contact to the metal tab that the die is attached to and not the
      molded case.

      You would want a more efficient way to get heat off a TO262 (D2PAK) when
      you need to dissipate more than the usual 2-3W of power.

      Having said that, it seems that those a MOSFET that are acting like high
      power switches. So if they picked the MOSFET correctly, they shouldn’t
      be generating too much heat in the first place.

      Blindly putting heatsink on anything and everything understanding its
      thermal requirement is not proper engineering.

  4. Why are the stepper driver chips soldered onto the board? They claim this:

    “Stepper motor drivers are cooled by the PCB with wide copper areas which allows you to get more out of your board than with normal off-board drivers”

    …which is complete BS! Even a smallish heatsink will beat copper pour cooling in every scenario. Even then, stepper driver chips go bad. The RepRap community learned this lesson a long time ago, and Makerbot (in a shocking display of common sense) copied this design cue for their MightyBoard printer controller.

    What’s so difficult about installing a simple pin header socket with a Pololu-compatible pinout? That’s the direction where almost every design is going, and for good reason.

      1. That still leaves the problem of user error, especially for a product aimed at the DIY market. What’s the point of trying to DIY using this board when you know that frying a single driver chip means have to buy a whole new board?

    1. If you read A4988 or A4983 datasheet you will see recomended board layout. Pololus are to small to act as a heatsing, and most of heat is transfered throu thermal pad to PCB, addidnt heatsink is just way of dealing with bad board layout.
      Soldering chips directly gives better results. Most of Pololus was burned becouse of they were overheated.
      Also pololus dont support setting current digitaly, in smoothie setting current of driver is as simple as changing value in text file. No more measuring V ref, and thats second most common failure of drivers, when someone shorts something with screw driver.
      Thrid most common issue is disconnecting motors while they are enabled, and bot pololus, are integrated driveers wont solve that issue.
      Pololu drivers have trouble running higher currents than 1.6A, and stepsticks are limited to 1.5A. And ive been running my smoothie on 1.8A without any problems and without active cooling.

    2. Do you have real experience? From an electrical engineering standpoint that is?

      The failure with the Pololu steppers happens at the POT, a bad connection here can blow the chip. At Ultimaker our new Ultimaker2 machine features a new board with on-board-steppers, cooled with copper cooling like this. And software defined power levels, so no pot failures. Even the datasheet of the chip recommends cooling with copper areas! Using a cooling fin on top of the chip is not recommended at all, because the heat is generated at the bottom of the chip, and with cooling at the top you’re getting less effective cooling.

      We’re running the Ultimaker2 with 5 steppers at 1.3A per stepper without active cooling. With pololu’s this is impossible. We’ve had boards like these running for almost a year now in full-time testing. Not a single failure. Ran it in temperature chambers at 45C, no problem with overheating steppers.

      Pin header design is horrible, it also generates a lot of electric noise, which makes the CE and FCC not very happy. The design has uses in the tinkerers market segment, but for a proper operating board that you just want to use, it’s a bad design.

      1. I stand corrected! My head’s stuck in PDIP-land, where there’s no thermal-pad on the underside of the chip. That does make sense now that I think about it.

        Even if that heatsinking is more reliable, DIYers (the target for this product) are still gonna continue blowing up driver chips. Modules on pin headers solve that problem, but I hear what you’re saying about EMC. Maybe the solution is to teach more hobbyists how to rework SMT chips with thermal pads. :)

      2. “Do you have real experience? From an electrical engineering standpoint that is?”

        Yes. Do you have any experience with the concept of analogies? I didn’t say they should use Pololu boards. I said they should make their stepper drivers modular and field-serviceable.

    3. Pololus are simply very bad design. The community has suffered from their limitations a lot.
      Those chips are designed to be cooled by large copper areas. Smoothie is a 4 layers board with a large area dedicated to cooling those chips. I can run stepper motors at 1.9A with Smoothie, *without a fan or heatsink*, try doing that on a pololu, even with cooling.

      1. You used a horrible example. I would use the smoothieboard as good example. If you blow up the chip or need a stronger stepper, they have the stepper pins broken out. So you can actually connect different steppers on there if you want, but the default is sound and not so problematic as the pololu’s

      2. For around $80 you can get yourself a cheap hotair station on ebay. I bought myself one after having a few dead pololu drivers. I have (to date) replaced a total of 10 A4988 chips on pololus via this cheap hotair station, and only one had to be done twice (total 11 replacement chips). Cost of the chips are 2,70 each, cost of a full pololu is 10. So for 29,70 in chips (plus 80 for the tool) and I’m a few cups of coffee away from breaking even, plus I learned a new skill.

        If anyone blows their drivers (I have yet to blow mine on my smoothieboard, and I am rough on my electronics) they are easy to replace. If you don’t trust yourself with the hotair, as daid303 said, the pins are all broken out so you can easily attach an external.

        1. I’d recommend a nice soldering iron and a drag solder tip. A desoldering wick can help remove an old chip. I’d recommend the iron over hot air because of the versatility of an iron. Drag soldering is a cake walk.

          1. I’d recommend staying away from surface mount components, especially power components. Get through hole tabbed parts. That surface mount stuff is crap for power dissipation.

  5. Might be a misleading title to this article.

    for a 4 color extruder head, plus a 4-arm delta cnc 3dprinter,
    that is 8 stepper motors to control. How is this the “end-all,be-all” board?

    even if you back up to a 3 arm rostock style printer and a 4 color extruder, you need 7 steppers. So which is the be-all end-all board for that.

    This board is great, and I like it, I’m just saying it is not the be-all do-all board that the title says it is.

    1. Even if someone did a 8-axes board, there would be somebody unhappy it doesn’t have 9 :)
      5-axes will accomodate the vast majority of users. Others are in a situation when external drivers probably make more sense ( and you can connect those to Smoothie ).

      I think what is meant by be-all, is that the Smoothie firmware can drive several different types of machines : laser cutters, 3D printers, cnc mills etc.

    1. We have put more than 200 beta smoothieboards into the world, and we have had very very little problems with drivers dying.
      More common problems are things like people shorting 12V to endstop inputs and such. Should we opto-isolate every pin ?
      Price is very important for the DIY market, and in order to keep it down, you have to set the bar somewhere.
      Smoothie is apparently not the board for you, but it has made many people very happy so far.

      I also hear that Azteeg is preparing a board with pololu sockets, maybe that is more what you would want ?

  6. I guess the market will tell if the product makes sense or not. A fully funded kickstarter certainly says something. And it seems both demonstrated engineering expertise and direct experience are on the side of the mounted drivers being a successful decision.

    But 0c, perhaps you can demonstrate your technical chops for us all and put together a better high-performance DIY controller board complete with field replaceable motor driver for a competitive price. I’m sure HaD would be happy to cover it.

    As a guy who has designed, manufactured and shipped product, I think these guys have done a reasonable job in all regards. Nice to see another option available. Best of luck.

  7. As someone with little electrical experience this would save me a huge amount of headache. I will definitely consider this as the brains of 3D printer build. I am very impressed with its simplicity to use.

  8. Can anybody comment on the galvanic isolation features of this design? As best as I can see from looking at the kickstarter pictures and BOM from Github there isn’t any (are there any PDF format schematics available?). While it might not be a necessity to isolate I/O from the microcontroller, I would certainly want complete isolation between the Smoothie board and my computer if connecting via USB.

    1. There is none. Smoothie descends from other electronic designs that do not feature isolation of the USB part, and for which this has not turned out to be a problem.
      Lots of people are using it and nobody has reported any problems.

      Do you have an unusual/specific use case in mind ?

      1. I don’t have a specific case in mind, but IMO it’s just good practice to have some kind of isolation between the PC and electrically dirty components like motors. Particularly in this kind of DIY configuration where there’s always the possibility of the user doing something foolish which could end up sending a moderate voltage up the USB cable. It may be unlikely but it’s definitely possible. I know I’d certainly pay a few dollars more for the machine controller as cheap insurance against damage to my $1k+ PC.

        While traditionally the isolation occurs between the machine controller and the I/O (steppers, home switches, etc.), using USB like this I guess there’s no reason why a part such as the ADUM4160 couldn’t be used to isolate the USB signal itself. Alternatively one could just opt for the ethernet connection (once it’s developed fully), since ethernet inherently provides galvanic isolation…

  9. I have not had any issues with the stepper drivers on my rambo board. For all of you who are talking about heat issues, I have not had any problems and I am running @ 24V.

    I have been interested in the smoothie board for a while and talked with a few people about how it compares to the Rambo board. It’s a shame they have been associated with Trinitylabs (who still owe me a large sum of money). I hope that doesn’t prevent them from considering others to sell their product (hint hint I’m interested). I think that my main problem is that the site, although informative, is daunting for the non engineer. Documentation is key for a project like this, as well as simple to follow guides or tutorials. A website wizard that makes sure you get the most up to date firmware that is designed for your needs would be great. ie. it first asks you what application you want to use your smoothie board for, then it asks details about that application, finally it gives you a link to download the exact firmware you need. This firmware could possibly be semi preconfigured by the selections you make in the wizard. Arduino based solutions have a bit of a lead here due to the fact that the community has created so many useful guides. I am sure with time the same will be able to be said about smoothie.

    As a reprap there are a few things I have noticed that we could use in the industry. If you are looking for ideas that could improve things for the next generation let me know.

    Keep up the great work guys. I plan on trying one of your boards when I build my next printer.

  10. How about a CNC dedicated version minus the hot end control and leave off the little driver chips? That would be less cost for driving a mill or lathe using high power stepper drives. Cost matters, even with multi-thousand dollar machine tools. Having parts on the board that won’t be used is a waste for those.

    The PCB wouldn’t need any changes, simply offer one minus the parts not needed for bigger CNC machines.

    1. There are setup charges to do a production run, minimum quantities for a
      board run and tying up cash flow for different board builds in inventory.

      If the volume is low, to make a special board specifically for your
      segment of the market might not necessarily be cheaper.

      1. Simply not sticking a few parts on isn’t “make a special board”. The electronics industry has done this for decades – design a device with a whole bunch of features, then simply leave various parts off to create other product versions that sell for less.

    2. There are also price discounts at certain volume for parts and
      production. e.g. If you have to make 400 of board and 100 minus some
      parts, you might be better off making 500 of full board because the
      factory and/or parts vendors might gives you some extra discounts.

    3. We are planning a 0-axes board, it would be a different PCB, would have additional pins, and a few other cool features specific to using external drivers.
      But we do not have a freeze on the features yet ( like should we add RS485 to talk to spindles etc … ).
      Coming soon though :)

  11. I take offence at the “be all end all” title (What? No v2.0?), but I love smoothieboard and everything it stands for. Its about time we moved away from grbl and outdated 8 bit garbage.

    How much g-code is implemented?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.