Unfortunately, Carbide Motion doesn’t have support for jog wheels — it would be a nice feature to add, and has been requested, specifically for the Contour Design Shuttlexpress — that latter does work w/ Carbide Motion key assignments though, and using the back / forth twisting to jog is almost as nice as using a jog wheel.
Thank you @WillAdams. When you say that the ShuttleExpress will work with the key assignments you mean that the jog wheel is assignable to be able to move the x, y and z positions?. Trying to understand what is the difference between you saying that “it doesn’t support jog wheels” and “it works with key assignments”.
No, the buttons around the jog wheel, and the outer wheel can have keypresses assigned to the buttons — this allows one to select keys which are match commands one wishes to have push button access to. The inner jog wheel is not recognized unfortunately — the only CNC apps I’m aware of which make use of it are Mach3 and Chilipeppr.
This has been an idea I’ve wanted to see for quite some time. My thoughts were to use an Arduino hooked up to a rotary encoder running firmware to be received on the PC side as a keyboard. Then CM could read it just like arrow/pgup/down button presses… but I never had the time to pursue it. Maybe the Carbide team will eventually come up with something…
The Contour Design Shuttlexpress is moderately popular as a CNC pendant, and as I noted, there is code support for it in Chilipeppr — and now that I think of it, there must be support for it in LinuxCNC — one of the “small” mill companies uses it, and if memory serves, they use rebranded ones as a pendant.
Seems silly not to have something to be able to control the position of x, y and z to be able to zero that operates separate from the computer. I work on a Macbook Pro and have found that bluetooth numeric keypads don’t work well. This is a very basic operational problem that should be implemented soon IMHO. Anyway, today I spend the afternoon playing with something called Touch OSC. It’s a sound and MIDI surface control mostly used in music applications. I created a super simple interface with only push buttons assigned to keystrokes. Here is the basic layout for my iphone:
The Z axis keys had to be remapped since Touch OSC does not use any of the keys that Carbide Motion uses to control it. I found an application called Keyboard Maestro that allowed me to remap other keys to the ones assigned to the z axis. It works well I think. I will test it more in weeks to come and see if there are any connectivity issues. Touch OSC uses WiFi to connect to my Powerbook.
I actually claimed an unused Android tablet of my son’s intending to look into something similar.
The numeric keypads work quite well, and are used quite a bit — I also used a Wii Remote which mapped quite nicely (for the most part) as a user on the Shapeoko forums worked out: http://www.shapeoko.com/forum/viewtopic.php?f=7&t=2543
The Smoothieboard project has gone quite a ways down this path and is standardizing on their boards having Ethernet (operating under the assumption that the machine has to be plugged in anyway, so a second wire isn’t too much of a burden), and then providing a web page which provides pendant functionality on the machine’s IP address.
That said, Windows tablets are affordable enough, that if one sources one with the ability to have power in and a wired USB connection, they “just work”, and Carbide Motion was updated a while back so that the interface scales nicely on a tablet — I just use mine and the UI is nice enough that I don’t usually bother w/ any of the other options. (and of course, the tablet is well-sealed enough I don’t worry about debris/dust)
I included example code for how to bind each rotary encoder “click” to a key press. If there are keyboard bindings you could bind turning the encoder to the corresponding keys. You’d probably want to add buttons to be able to change which axis is currently active.
Thank you @allwinedesigns. Awesome project. I’m waiting for the new version of Carbide Motion to see how the new GRBL implementation changes things. Looking forward to building one.