The TinyG Motion Controller

When you go to a trade show of any kind, you’re expecting cool demos in the booths. At Maker Faire, there were plenty, but one of the most hypnotic was a robot built around Synthetos’ TinyG motion controller.

The demo was simply a large CNC gantry moving a ball bearing around on a string. The gantry moved in the X and Y axes, and the miniature wrecking ball was spooled and unspooled in the Z axis. The ball move around the space, coming to a complete stop without any swaying. There were even a few clear plastic tubes that the ball fell in, and popped out of without raising or lowering the string. It’s the height of motion controller coolness, all made possible with the TinyG.

The TinyG was one of a few motion control and CNC boards found at the faire. In its base configuration, it has 6 axes of motion control, RS485 to network several boards for crazy machine configurations, and a suitably powerful processor to do everything correctly.

31 thoughts on “The TinyG Motion Controller

    1. I have a v7 and they are really great boards I have to say, and Alden and Riley are really responsive on support issues.

      I’m sort of working on a little OctoPrint style web interface to interface with the TinyG and control my Shapeoko via a NodeJS server application. If I ever get enough time I’ll finish it off and get it published.

      In the meantime you might want to checkout Chilipeppr its an entirely web based interface. You install a small serial sender program on your controlling machine then you can connect to that from any web browser and drive you machine via the web interface.

      Pretty neat and very extendable, but I dislike the reliance on my browser to do all my sending (I crash browsers way too often to run a long CNC job with my web browser doing all the control).

    2. Hi there guys! Sweet we made it on hack a day. (Thx Brian!) @matt Yes, its true our past has been a bit tricky to get all platforms supported for the ui. But as Ben points out our buddy John Lauer made this totally rad “Hardware Fiddle” UI to drive TinyG all in the browser (with a small binary running on the host machine). In fact you can go to and see a preview of the workspace now.

      The whole demo I made for the MF was being ran from a Raspberry Pi to TinyG. I connected multiple laptops to actually start and stop the process all over wifi. Chilipeppr is pretty awesome!

      Ben I look forward to seeing more of your code for sure. Also, chilipeppr can buffer your whole job so if your browser dies it does not matter just reload and you are good to go.

      1. Holy crap my post was bad. Sorry everyone. I have a v8 board, which is amazing. I also hadn’t seen chilipeppr before, which looks amazing. I will be getting back to my cnc project at some stage soon, now that I have finished building my house. Thanks Riley and your team for an amazing board!

      2. Hey Riley, when you say chilipeppr can buffer your whole job, do you mean it just saves the state in the browser so you can resume your job from the last line chilipeppr knew about? Or is it actually sending the whole gcode file down to the serial sender and then just ‘monitoring’?

        Things have been hectic here trying to organize the hackaday 10th anniversary party, but I’m hoping after that (next weekend) I’ll have a bit of time to get the code out and into testers hands.

  1. I have been using a V7 and absolutely love it. It (including a PID for thermal control) controls one of my 3D printers and has worked beautifully. I also have a grblshield on one of my smaller printers and havent had a notable issue after years of printing.

      1. Its actually pretty easy as the PID works independently of the TinyG. Just use it to control an SSR attached to your extruder and the 4th axis to run it. I did reconfigure the TinyG to output standard gcode (rather thank JSON) and wrote a rather clunky gcode sender to push my Slic3r generated gcode to it. I will post something to when I get a chance.

  2. Oh additionally if anyone cares to take a look, the TinyG source is really quite nice. I managed to extract some of the advanced motion profile code to use on a spark core for controlling a MeArm robot arm.

    The source code is here :

    Its not perfect, but it works, and the motion of my bot is now so much nicer, none of that jerky servo action at all.

    1. Ben: Any chance there’s some video of the Spark-MeArm in action? I found videos of the MeArm, but not driven with the spark. I am really curious to see the difference in the motion.


      1. I will try and capture it with my mobile phone today, been meaning to get the good camera out and shoot it with that but stupidly enough I’m actually so short of disk space I can’t get the video off the camera!

        Should be able to do a mobile shoot quickly today though so you can see, I’ll also run a comparison with the standard code.

          1. No problem. I am told by Alden that the new code in the current edge branch of the TinyG is better still than the one that I ported. Constant jerk motion is really lovely I have to say and I think is the best argument out there for the shift to 32bit controllers over the more common boards we have been using in 3d printers for the last few years.

  3. My only beef that’s kept me from using it is that it’s TP has only exact stop which won’t work for 3d profiling at all; while LinuxCNC’s new TP is wonderful BUT it’s hardware requirements are past annoying. If they get a good TP that can “round” things with a variable like G64P then I’m in.

  4. Technically the path control modes supported are exact stop and exact path (G61 and G61.1) Continuous mode (G64 splining) is not supported at the current time. Please keep and eye out.

    1. I will since I’m very tired of dealing with finding the “right” PC and not having things very smooth. I might just buy one for my second machine to get it up and running for under $150… I could skip the G540, and the entire mess to get my prototyping machine up to aid the production one.

  5. TinyG Rocks! I remember way back when, I was a beta tester, and asked for the schematic for their board so I could clone their hardware for my own use (I didn’t need the TI drivers; I already paid for Gecko drives for my machine and just wanted their software to give me step/dir signals….) and Alden wouldn’t share the schematic with me. Respectfully, he said they put in tons of time and money into all the revisions to get those TI drivers to play nicely with each other but I couldn’t convince them that it is not in their best interest and it was the _software_ that was the intellectual property…. Well now thankfully they still release their software and now hardware…. and their hardware is being cloned my Chinese….. just Google ‘TinyG’ on ebay. But please don’t buy from them; support the people who did the work! One of these days, when I’m feeling rich, I’ll PayPal them some $$$, even though I don’t currently use TinyG for anything…. (but wanted to….)

    1. Yes, the very same. I’m an ex-X-Teen. The only place we are still online (AFAIK) is on dub dub dub returntocomboland dotcom slash xteens. I love the video of Kitty singing Anyone Can. I’m the computer / synthesizer geek (sorry if this double posts. I tried to reply 8 hours earlier with the actual URL and my reply must have gotten tossed).

    1. It looks very similar but it is not a clone. We did not work from the same designs but did an original design. At the end of the day there are only so many ways you can actually lay out these particular components.

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.