Android CNC controller

[Matt] is the proud owner of a JGRO-based CNC router and he’s been working on a way to control it without a computer. What he came up with is a way to drive the CNC machine using this Android tablet.

A big part of the hack is the CNC controller that he’s using. The TinyG is a board that can take commands via USB and convert them to instructions for up to six axes. In the video after the break [Matt] shows off a direct USB connection as the control method. This is the most interesting part to us, but the system can also be run through the network with the assistance of a computer feeding commands to the TinyG. This second method means the Android controller would be wireless.

A trio of repositories host the code [Matt] is using. From the demo it looks like the Android app has no shortage of features.

Comments

  1. deathventure says:

    Last time I checked, even tablets are computers.

  2. lindsay pubs says:

    That looks cool. Projects like this should really help those trying to rapidly assemble CNC solutions.

    I always say on projects like this – “do you want to build cnc machines or use them?”

    In the bigger picture, I am torn on touch screen interfaces for cnc machines.

    On the one hand, the buttons are custom and dynamic – with custom labels, tags, colors, instant feedback, etc. Something like this would be great for rapid prototyping and development.

    On the other, my dirty fingers are not compatible with easily scratched touch screens. When operating a machine, your fingers get grungy.

    ALSO – the smooth screen lacks the tactile feedback that you get from real buttons.

    I have an older CNC mill and the controls are just great. A keyboard would be a terrible substitute. I’d like to convert the brain on my machine, but retaining good control inputs would be a requirement. And also, the original servos and driver hardware are likely way better than anything commonly available.

    • Matt says:

      Yeah, at the moment I’m focusing on woodworking and so the tablet has an advantage with dust vs an air cooled PC. When I start looking at doing a mill or lathe conversion for metal, I think it’s going to be more of a challenge.

      One possible option is the use of an external USB keypad, or to use a screen protector on the tablet.

      Now that the system as a whole is working fairly well, I’m looking to spend some time using the thing – I want to build some musical instrument prototypes.

    • macona says:

      I have a ELO SAW touchscreen on my cnc mill. The panel is 1/4″ thick glass. It has never been scratched. Fluids, on the other hand, can cause issues. Just need to be sure to wipe the coolant off my hands before touching it.

  3. koniho says:

    This isn’t a CNC per se. The TinyG is actually the CNC controller where as this app is a pendant.

    • Matt says:

      Agreed. The main goal in this project was to get a very compact and inexpensive control system. TinyG is fairly new still, but I think it has the potential to local the barrier to entry for hobby CNC with the right supporting components. The app is one part of that equation. As Reilly mentions, he’s working on a PC-based control system that looks to solve a slightly different set of problems.

  4. rileyporter says:

    @koniho,

    Yup. As one of the creators of TinyG you hit the nail on the head. Matt has been doing some really great work on the android front to control TinyG. TinyG makes responses all in JSON too so writing GUIs, DRO’s (digital read outs) etc is pretty easy.

    I have been working on a JavaFX2 gui to drive TinyG. Its however still a work in progress.

    If anyone is interested in the TinyG firmware code its here:

    https://github.com/synthetos/TinyG

    We are continuously impressed with our user base’s innovations.

  5. engineer says:

    but please remember: Windows, Linux or Android are not good systems for this kind of devices. Imagine that someone build car steering system using this kind of software and it start “system update”… and it will finish with crash.
    CNC needs Real Time Operating System, not Android.

    • rileyporter says:

      @engineer,
      The title of this HAD post is a bit misleading. The Android tablet is NOT the controller. It is however Controlling the actual Controller (TinyG with a RTOS etc..)

      Hope that clears it up.

  6. BLuRry says:

    It seems like TinyG takes the need for RTOS out of the equation. Since TinyG is processing the G-Code directly, you no longer have to fret about interrupt-driven parallel port controllers that NEVER SEEM TO WORK NO MATTER HOW MUCH BLOOD YOU OFFER. (**pant** **pant**… ok, deep breath!) Seriously, I know that the hardcore will shirk this but from my perspective it’s a solution I was waiting for. Looks like there have been recent developments in the TinyG firmware and it’s an active project, so I’m game! Plus, the JSON messaging features look rather intriguing.

  7. Patrick Sawian says:

    Why all the fuss about TinyG when you can use a Microsoft Remote desktop app on your android tab, a wifi connection to the PC and control Mach3 through this wifi connection. Saves us a lot of trouble.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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

Follow

Get every new post delivered to your Inbox.

Join 94,486 other followers