Joystick for my Maslow

Howdy yall, I was playing pacman the other day and decided that my maslow is in need of a joystick for manual controls. Has anyone tried this? Would it be hard to do? Please help!
Ive decided its a must :smiley:
If i can get it to work…it might just convert me to a clear sled too…

https://www.amazon.com/WINGONEER-Gamepad-Joystick-Expansion-Arduino/dp/B06XHHYDXL/ref=sr_1_17?ie=UTF8&qid=1522949208&sr=8-17&keywords=joystick+arduino

5 Likes

In theory with 3 free pins on the arduino board.
1 for ground and 2 for 2 potentiometer readings.
Read the values and translate to g-code for moves.
Done :grimacing:
I like the idea!

2 Likes

I like the idea :slight_smile:

2 Likes

those playstation controller style joysticks have a button in the middle if you push down, seems like a waste to not use every input. Looking forward to this, i still got 10 of those little joysticks lying in the “buy in bulk and save money” bin :s

But wouldn’t it be more practical to just plug a usb joystick (or a wii nunchuck) in the pc, and have groundcontrol take care of it?

2 Likes

Yeah I was totally planning on using the joystick through ground control. it already has buttons in the gui…just need to see if i can get GC to cooperate with joystick inputs…

What about a nintendo wii nunchuck? one handed has a joystick and a couple of buttons and interfaces to an arduino over i2c

Ben

2 Likes

How about GC buttons mapped to keyboard shortcuts? (ie: extended key number pad to jog the machine)

no need to reinvent the wheel… I found a number of grbl compatible “MPC Pendants” (thats what they’re called in CNC parlance) here: https://duckduckgo.com/?q=grbl+mpg+pendant&atb=v104-2&ia=web

The 1st step would be to make sure that GC and the Maslow firmware has implemented all the appropriate signals. I think the best place to start for that is here: https://www.shapeoko.com/wiki/index.php/Pendant

3 Likes

There are also nunchuck to usb converters, so you can just pkug it into your pc, and it recognises it as a joystick

Or maybe just 2 potentiometers, so you can make your maslow into a giant etch-a-sketch

Wouldn’t it be easier software wise to just plug the joystick into the pc and have groundcontrol link those movements to the arrows?

3 Likes

I think that’s probably the best approach, the Arduino Mega is pretty busy already :grin: without watching for switch and potentiometer inputs from a jog controller. Adding keyboard jog support to GroundControl might allow a lot of options.

3 Likes

There are a couple proclems with pot based systems

  1. what resolution can you get (if you twitch, how far does the machine move)

  2. centering. I’ve seen cases where setting a joystick on it’s side is sensitive
    enough that gravity acting on the handle starts moving things.

As a result, I prefer arcade-style switch based systems instead.

If I do want a dial for something, I want to have a rotery encoder, not a pot

something like the following is pretty common for controlling CNCs

https://www.aliexpress.com/item/CALT-products-TM1474-Hand-Encoder-CNC-Pulse-Generator/32252514948.html

or use a different arduino/teensy/etc to watch the jog controller and feed the
data into the computer. Such a controller can look like a keyboard to the PC and
change the joystick movement to arrow key presses (so potentially, no software
changed in GC)

David Lang

1 Like

I think we would have to associate some keypresses with the GC arrows, at the very least. To get per-axis control as most of the jog controllers seem to do GC would need something additional, maybe along the lines of a commandline gcode mode that the jog controller would access as if it were the system keyboard. I would very much like a commandline ability in GC :grinning:.

I think we would have to associate some keypresses with the GC arrows, at the very least.

we should do that anyway, hitting the keyboard arrows should be mapped to the GC
arrows (at least unless you have a text input window selected)

To get per-axis contorl as most of the jog controllers seem to do GC would
need something additional

yes, they would need something

, maybe along the lines of a commandline gcode mode
that the jog controller would access as if it were the system keyboard. I
would very much like a commandline ability in GC :grinning:.

I agree!

1 Like

No, i definitely want two rotary dials, i want a router etch-a-sketch :smile:

2 Likes

something like this? that would be awesome!

1 Like

with a 1k potentiometer I get 0-500 is left and 500-1000 is right. With a 2k I can double that. Any resolution I desire.

Actually 0-450 and 550-1000 you need a “dead zone” but then again, resistance doesn’t have to be a whole number.

the problem is that ‘normal’ pots turn 270 degrees and are not always linear.

If you can adjust the little knob to 1 degree, that 1 degree would move
the maslow ~1cm

a pot based joystick is doing good tohave90 degrees of movement, so 1 degree of
joystick movement will be almost 3cm (just over 1") of movement

Logitech game pads were pretty common common for LinuxCNC, had one on my router some years back.

At our low speeds they might get tedious if moving more than a few inches/cm.

1 Like

Looking at the thread, I wanted to emphasize more broadly in favor of making sure GC incorporates as much ‘standard flatbed CNC’ capability, parity, standardized operation, terminology, functionality, etc as is possible.

I’d oppose any meaningful effort to ‘one off’ or jury rig, functionality that doesn’t fit logically into the larger world of similar CNC machines.

IMHO, MaslowCNC and GroundControl should be focused on adding identifiable and standard functionality to the machine such that new users gain understanding of concepts operations and functionality that is directly applicable to more complex machines and experienced CNC users are able to use all their skills on a MaslowCNC.

I assume at some point (as has already been demonstrated with the Raspberry PI forks) GC will become integrated into a ‘controller head’ along with the rest of the hardware and electronics and the more standards brought to bear, the easier it can sit alongside other machines.

4 Likes