I found on eBay one of those rotary encoders used in commercial CNC pendants (search for 'cnc hand wheel' or 'ZSS600-001-100B-5L') and came to the idea to create my own one.
I am using bCNC to control my mini CNC. In bCNC you use the arrow and page-up/page-down keys to control the three axis. Take this and the fact that you can program an Arduino Pro Micro to act as an keyboard and the electronic side of this project is basically done.
What was left to do was to design a case. I was constrained by the size of the rotary switch and the USB breakout board otherwise it might have gotten a bit smaller.
See it in action: https://youtu.be/PTTVuVUZYM8
I have included the OpenSCAD file which is somewhat parametric.
| Pin | Description |
|---|---|
| RAW | Terminal Vcc of rotary encoder |
| GND | Terminal 0V of rotary encoder |
| 2 | Terminal A of rotary encoder |
| 3 | Terminal B of rotary encoder |
| GND | Common Pin of rotary switch |
| 4 | Pin of rotary switch for X |
| 5 | Pin of rotary switch for Y |
| 6 | Pin of rotary switch for Z |
(The internal pull-up resistors of the Arduino are used)
If your computer does not recognize the Arduino when connected via the break-out board switch the cables for D+ and D-.
The author marked this model as their own original creation.