Joystick jogger

Hi there. I’m not completely comfortable with cohesion3d laserboard and lightburn as yet, so forgive if my question sounds stupid.

I love the upgrade from nano to cohesion3d, but the interface ‘jogging’ wise is a bit ‘meh’. Has anyone connected up an old console analog joystick to the laser yet? I’m thinking of using a cheap webcam aimed at the exact point the laser hits the job so I can jog the laser with the joystick to a precise position on the job and then fire the laser (for touch up work). This might also be nice with a pen operated tablets where the pressure translates to laser intensity etc. etc.

Any thoughts?

Smoothieware does not yet support jogging via joystick, however this feature is in development. Look at the ‘jogger’ and ‘joystick’ modules on the smoothieware website for more information on them:

http://smoothieware.org/jogger
http://smoothieware.org/joystick

To this end, I’ve considered building a microcontroller-powered Thing™ that connects to the board via USB/Serial and sits between the board and the controlling computer. This device’s job would be to accept jog inputs from a hardware controller and pass through all the commands sent to it/received by it, and also provide jog functionality via standard gcodes. I haven’t put any serious effort into it, though.

Unfortunately, we don’t have any thermistor inputs broken out since the LaserBoard is not a 3D Printer controller.


It might be possible to set up basic jog-some-set-amount buttons using the switch construct in the stock config file, no firmware changes. You’d just have to be really careful never to press those buttons during a job.

The “spare” inputs 1.30 and 1.31 are supposedly ADC inputs, and broken out on the GLCD header. If you’re not using the GLCD these might be usable for this purpose.

Thanks all.

I think I’ll wait and see what comes up in the future. Meantime, I will put a plugged hole in my control panel - when I get around to designing it.

I thought the jogging support was pretty lackluster when I looked at it, too. My laser (a modified Full Spectrum Laser Muse Core) has a camera module permanently mounted on its laser head, with an 8mm lens. I use it to locate drill holes and/or fiducials on PCBs. So I need to be able to jog precisely.

None of the jogging options seemed very compelling, but SimpleShell::jog() works pretty well in practice. So I’m issuing jog commands via the shell interface (via the network and/or via USB). I wrote some software to bridge between this and a CNC pendant. In Smoothieware, the functionality is exposed as the $J command (the help text is “usage: $J X0.01 [F0.5] - axis can be XYZABC, optional speed is scale of max_rate”).