An Arduino based Handwheel Pendant for a generic 3018 CNC. Allows you to easily move the X, Y and Z axis using the handwheel. You can dial in the exact position using the 0.1 mm/step or quickly move to a new location using the 1.0 mm/step buttons.
- 1x Arduino Pro Mini (or compatible)
- 1x KY-040 Rotary Encoder (Amazon)
- 1x SP3T Rotary Switch (Amazon)
- 4x M3 x 6mm screws
- 4x M3 x 5mm x 3mm thread inserts (Amazon)
- 2x 12mm momentary SPST square push buttons
- 1x 2x4 (8 pin) 2.54mm pitch flat ribbon cable
- 1x 2x4 2.54mm pitch connector (optional, for PCB) (Amazon)
- /src = Source code for an Arduino Pro Mini (PlatformIO)
- /pcb = Schematic and PCB layout (KiCad)
- /model = STEP, Fusion360 and 3MF files for 3D printing the case and handwheel
Build using the PlatformIO plugin for VS Code. Targeting Arduino Pro Mini but any board can be used as long as it has at least 7 open IO Ports
Optional schematic and PCB to help cleanup the wiring. Bypass capacitors are used on the encoder data lines to help reduce switch bounce.
3D Models for case and handwheel to 3D print. I used a resin printer but the models should be easily printable on FDM Printers. The Models directory includes the SMF files to print unmodified and STEP files included for situations where you want to modify the 3D models in your favorite CAD program. Fusion 360 files also included.