Git Product home page Git Product logo

snes-jog's Introduction

SNES-Jog: Making a UGS CNC Jog Controller from an SNES controller

Code and Instructions for adapting an "SNES Classic mini" gamepad for use as a CNC Jog Controller with fabulously free & useful Universal GCode Sender. I learned everything in the code from trial & error, plus reading through this file. After doing all that, I discovered that there's a library that also handles this stuff living written by another fine specimen of Kevinhood with the handle MadHephaestus. I'll probably go steal some stuff from that library before I'm done here.

Good luck! Feel free to open issues.

In Action

Click here for the UGS stuff to verify before each use

To see a full video of it in (one handed) action, click here

Jog Controller details

Operation Controller Combo
Enable/Disable pendant Left Bumper + Start
Motion
X/Y Motion DPad + Optional Bumpers *
Raise Z A + Optional Bumpers *
Lower Z B + Optional Bumpers *
Zeroing
Return to zero Left Bumper + Select
Reset Zero All Start + Select
Reset Zero X Both Bumpers + X
Reset Zero Y Both Bumpers + Y
Reset Zero Z Both Bumpers + Start
Other
Go Home Both Bumpers + Select + Start
Soft Reset Right Bumper + Select
Unlock Right Bumper + Start
Not Yet Implemented
Start program & disable pendant Seems like a common thing to do...

* Bumper Speed Adjustment: For X/Y Directions, press the DPad. Hold one bumper (either one) to go the "medium" distance (10x normal). Hold both bumpers to go the "large" distance (100x normal). For the Z direction, use the A/B buttons for up/down. Same as the DPad, hold one bumper (either one) for 'medium' and both for 'large' distance.

Note: I'm probably going to change the controller bindings a bit, as I'd like them to be a bit more "consistent".

Step #4: PROFIT!

For implementation details, head on over here

Motivation

I've been running a CNC Machine for several years now. Unfortunately, it's kind of clunky to control using a mouse or keyboard. There are a variety of devices one can purchase called "Jog Controllers" that give you a dedicated device for moving around the CNC spindle. The trouble is, they're expensive, and I have no idea if they'd work with my little hobbyist setup, using the reasonably good UGS G-Code sender/CNC control software.

TODO

Software

  • Switch to using XY 10 and Z 1 commands instead of remembering current values (which may change)
  • Make the big switch into a declarative state machine of some kind
  • Maybe break the code into better pieces to enable support for other controllers/protocols?

Documentation

  • Pictures
  • General improvement

Hardware

  • Make a little 3D printed case?

snes-jog's People

Contributors

kevinfrei avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.