Hardware Interface to GRBL


(Andrew Van Lahr) #1

A few weeks ago I got stranded down at the C3D office when my car wouldn’t start. While normally this would just be annoying, it gave me a chance to meet some of the people down there. One of the things I was talking to Apollo about was a tactile hardware interface for the machine that implements a few features I see as absolutely essential:

Emergency stop
Tool speed
Jog panel
Soft start/stop/pause

I’ve done a lot of arduino development over the last year, and I know the GRBL is at it’s heart is an arduino chip (yes, I realize it’s running different firmware).

However, what I would propose is developing a hardware box, that fits on the front of the machine (should work for any of them using the same controller) It integrates into the machine using the I2C bus. I think there is a port for this on the C3D GRBL board. The device would use an MCP23017 GPIO expander.

The GPIO expander has 16 bits of IO on two 8-bit busses, which means, E-stop, jog, start/stop could all be done on one bus, and a speed control switch (just a toggle switch) can give 8-bits of speed control (0-255)

I can totally design and build the hardware (in fact, I could probably build the hardware this week if there was enough interest) however, I don’t know much about hacking the GRBL software to integrate with this.

Anyone got any pointers?


(William Adams) #2

The community has some notes at: http://www.shapeoko.com/wiki/index.php/Pendant

I’m pretty sure that there was at least one board design on the Shapeoko forums which I bought, before realizing that it would need more than my meager soldering skills — send me a PM if you’d like for me to dig out the board and send it to you to study in exchange for your soldering the components on and documenting it (I can’t even find the forum thread anymore — see, that’s why I put everything on the wiki).

There was one guy over on the other side of the house who did a de-luxe control box which had (if memory serves):

  • all the pins broken out to buttons
  • a USB keyboard module to map all the Grbl controls to buttons
  • a tablet

The speed control w/ Grbl 1.1 would be very, very cool, though I wonder how much of this sort of thing the recently announced Carbide Connect will be doing: http://carbide3d.com/blog/2017/state-of-carbide-3d-2017/

Carbide Connect is our way to embed Carbide Motion into the machines themselves so that a Nomad or Shapeoko can be controlled by any computer on the network (even Linux). Carbide Connect will not require that a computer be connected while the machine is running.

The thing which I’d really like to see would be for Carbide Motion to support the Contour Design Shuttlexpress — one of these days I’ll have to find time to figure out how to get it and a machine plugged into my tablet, guess I need one of those hubs I keep talking about.


(Andrew Van Lahr) #3

I’ll take a closer look at it, and see if it makes sense. From what I can tell on the forum post, a lot of it seems to use the native control ports on the board.

This is the board I would use… http://www.ammomfg.com/products/ACS.html#gpio
(it’s one I designed) it does a lot more than what’s needed, so I would probably do a re-design of it and simplify it for use with the SO3)

If you’d like one of these, I can set it up and document all the pins, or I could set it up as a box.


(Daniel Loughmiller) #4

I posted something just now that seems to overlap with this a lot, and I too am interested in how Carbide Connect is going to change the way we can potentially integrate such projects into our shapeokos.