3D Joystick support for moving cutter


I would like be able to move the cutter using a joystick (http://goo.gl/za01xx), or a 3D mouse (http://goo.gl/0QAaYw). This would save a lot of preparation time. Thanks.


1 Like

For auxiliary input devices, another good candidate is the Jog Shuttle Express.


Here is a video of me jogging the Nomad over the weekend with an Express (Tormach-branded) while I was briefly bypassing the Arduino and controlling the Nomad with Mach3 (step & direction) through the PC’s parallel port for diagnostic reasons


The Express has variable-speed continuous jogging with the spring-loaded ring, and programmable increment jogging with the center spinner. I’ve been using one for years on my Tormach and greatly enjoy it. Choose an axis and move it.

1 Like

This is definitely on the to-do list to have some form of Carbide-supported jogging pendant, since it’s not always possible to have your laptop/keyboard in a good position for jogging while you’ve got your head in/over the machine.

One of my suggestions was just USB Xbox controller support X-D


Might I suggest a Wii Nunchuck, you’ve go the hand controller with it being cheap, and easy to interface with the microprocessor, as it’s i2c communications. (Though, I don’t know if there are any constraints with it and grbl. I think grbl leaves the i2c pins available.

It’s got the thumb joystick for x-y, and 2 buttons which could do Z.

That’s not a bad idea, however:

  1. It’s not a standardized physical connection, and we’d then have to put the connector for it somewhere
  2. We don’t really need to or want to try to run the GRBL directly that often, because there’s a lot of juggling that goes on at the Carbide Motion level of things that is handling work-offsets and a lot of state management, therefore the controller needs to connect to the computer not to the machine at the cabinet/board/GRBL controller level.

Hopefully that clears it up a bit :smile:

A USB cable-connected Xbox controller is $40 bucks at Best Buy or even cheaper online I’m sure, for an off-brand version.


In setting up jobs I do find it important (well, useful…) to have both continuous and incremental movement. On my Tormach and lathe, I have the incremental movement set up for the minimum increment, which is .0001" on both machines. The center knob on the Shuttle Pro has 24 or 32 pulses per revolution so it is easy to move up pretty close to the edge of the part/stock with the continuous jog (having variable speed is really nice too–the farther I turn the ring the faster the axis goes, up to full rapid speed) and then I spin the knob until I get to the actual surface.

How would you do the same with an Xbox controller? Does it have a proportional joystick? I haven’t played a video game for probably 20 years (other than my temporary Mame phase where I built a Tempest simulator) so I’m not familiar with how they work these days. Back in the early Atari days it was just left/right/up/down but at a standard rate.

I know this sounds like a silly suggestion, but I do this for my laser cutter and have found it handy for the Nomad also (poor man’s remote shuttle/jog controller)…

…I have an optical mouse connected to my controlling PC, so I set the increment I want (fast/slow/1mm/0.1mm/etc), and put the cursor over the direction button I am trying to move (X/Y/Z), then lift the mouse up and the mouse cursor stays on the button… now (if your mouse cord is long enough) you can go over to the CNC and get your head/eyes in alignment with whatever you are trying to zero or align, and click the mouse button to advance the cutter … sounds goofy, but it is incredibly useful. Yes… you do need to put the mouse back down if you overshoot and/or need to choose another axis, but it still is a quick way of advancing the cutter to set a zero point or similar without having to keep going back to the keyboard.

The Wii Remote is a Bluetooth device. Link here: http://www.shapeoko.com/wiki/index.php/Pendant

That’s true, so it could be an option! He had said the Nunchuck, so I wasn’t sure if he meant the main controller or the added joy-stick part… which is the part with the non-standard connection.

@Randy The Xbox controller has two analog sticks, one Dpad, a trigger and “shoulder” button on both left and right, and a set of four buttons on the right side, so you’d have X/Y movement at multiple speeds (two sticks) and an incremental (d-pad presses) as well as Z movement at two rates/increments (triggers and shoulder buttons), and then for the buttons you could set zeros per-axis with three of them and still have one button left over to turn the spindle on/off for use with an edge-finder.

That’s my thinking, anyway :wink:

I had meant the nunchuck as they are easy to interface over i2c (and I have one I’ve used for that purpose on a failed self-built cnc machine Mainly failed as I was absolutely brand new, was using wood, insufficiently powerful motors insufficiently braced, you name it. Also, trying to write a gcode interpreter sucks. GRBL rocks by comparison).

I think that the controller over bluetooth would be far better, and eliminates the cord completely. (And a usb hub.-Whomever thought a single USB was a sufficient even for a tablet was clearly not me.)

I’d like to build a ‘control box’ with manual X, Y, Z and spindle speed/direction controls along with readouts so that I can run the machine as a manual mill (the controls would generate gcode). I’m thinking about using Taig or Sherline handwheels along with shaft encoders, hooked to a microcontroller board.

What’s the right place in the ‘architecture’ to plug this in? Should it talk GRBL directly to the hardware over USB, or would it talk to some interface exposed by Carbide Motion?

That’s a question for @robgrz as to where in the pipe you could put it, because I don’t know that you could “borrow” the serial stream from Carbide to send to GRBL directly, nor that you’d want to, nor that we’ve got an interface anywhere in the code you could plug into.

We’ve thrown the idea around of an interface for an integrated controller (hence the speculation as to how to do it/what to do in threads like this ;-)) but to the best of my knowledge Rob hasn’t settled on anything yet.

I am using a USB hub for the Nomad and my 3D printer since they are across the room from the controlling computer (for now). After reading this topic about having local control, I decided to try a simple USB numeric keyboard plugged into the same hub. You cannot select the step increment with it but otherwise I can easily operate all 3 axis while standing at the machine without any modification. Simple enough for an $8 keypad.

A numeric keyboard sounds like a good idea, together with a bit of scripting in autohotkey (autohotkey.com) it should be possible to control everything.

I worked up a control scheme which seemed sensible:

  • cross pad is used for jogging in X- and Y- (mapped to the arrow keys)
  • 1 and 2 are used to jog Z- up and down
  • the + and - buttons are used to switch between 1mm and 0.1mm unit — I’ve been debating using A for slow and B for fast, but I’d liefer use them to toggle between workspaces — if there were keys for increase / decreasing the jog increment that would work.

Really wish that there was a way to initiate homing — pressing the home button for that would be perfect

HI all- I originally posted this request and should have replied long ago. Apologies. I use this http://amzn.to/1W6ulMW which is multi-platform and am very happy with it. I have added a cheap IKEA flexible LED so that I can see the tip of the tool (and its shadow on the stock). I will add a Supereyes Y002 7mm 200X Handheld USB to make the cutter adjustment even more precise and will add a movie to show some action. Apologies again for slow feedback. All the best. -Peter

Not sure where this thread has gone but today I connected an old USB X-Box 360 controller and have mapped the controls for Carbide Motion using a program called XPadder. It would be better if there were keyboard shortcuts in Carbide Motion to associate with zero (x, y, z and all), home, measure tool and start/stop but it works well for initial setup without needing the computer right next to the machine.

1 Like