Loading

Rotary Encoder D-Pad

by leonexis, published

Rotary Encoder D-Pad by leonexis May 2, 2013

Description

An assembly that takes a standard rotary encoder and adds the ability to sense when the encoder is pushed in 4 directions. It also supports a center button if it is built in to the rotary encoder without activating any of the other directions.

It does this by having a disc that holds the rotary encoder balance on a cone in the bottom holder. This will allow it to rotate along the X and Y axis enough to push buttons on the top of the assembly.

This is the first part I designed to be printed and is for a small raspberry pi and xbmc based kitchen radio/viewer so most functions could be performed with one knob.

Other Parts:
Rotary Encoder: PEC11-4220F-S0024, Newark #02J2850

I'm not sure what the part number is for the push buttons used, but they have a base of 6.5mm squared and the full height with the button not pressed is 5.0mm. The lower limit of the switch makes the height 4.75mm

Recent Comments

view all
Thanks for the link! It might get a bit awkward with such a long stick after combining the two, but the stick/knob would have to be bigger anyways to allow more control. I'll keep that link in mind if i work on the new input device.
I don't know if you know about these so I'm posting them

A XBOX360 joystick sensor could be used as a base for the device:

dx.com/p/genuine-replacement-xbox-360-controller-3d-joystick-module-103078

or a PSP module... probably less ideal:

dx.com/p/repair-parts-replacement-3d-analog-joystick-for-psp-2000-blue-25057

There are plenty of places that they can be bought in other than DX.
I too have thought about using a analog game pad or perhaps a joystick in FreeCAD.

Currently joysticks doesn't seem to be supported, but as it is open source it eventually will be ;)
I have tried to compile it from scratch, but last time I got stuck with some dependency issues :(

The space explorer device has one advantage over a game pad, it very easy to grab when you move your hand away from the 105+ button keyboard.
This is due to the fact that the controller knob is so big, and you only need to grab one.

More from Electronics

view more

Liked By

view all

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

Instructions

Print all three parts. Depending on your printer, you may need to clean up the parts to make sure there are no stringers and the surfaces are smooth. When I printed the center rotary encoder holder, I could not get the bottom indent to print correctly, so I corrected it with a dremel. Assemble the parts temprarily to make sure the center holder can move up, down, left, and right, but not rotate along the Z axis.

Attach four small push buttons to the bottom of the lid. I used hot glue in this case, which seems to work well so far. Make sure leads are point out.

Solder wires on the rotary encoder and feed the wires through the holes in the holder. Glue in place.

Feed the encoder's wires through the holes in the bottom container and make sure the holder can still move. It may help putting a layer of masking tape between the bottom container and the holder. This will make the holder stay center and provide a better feel in the completed unit.

Attach the top to the bottom container using 4x M3x20 screws and nuts. The holes may need to be drilled a bit wider if the print was not accurate.

Finally, solder wires to the four push buttons and connect them to your board as you would any other switch. You should now feel satisfying clicks when moving the encoder up down left and right. If it is too tight, you can place washers between the bottom and top components until you get all four buttons in the open state when not pushing the encoder.

Enjoy and happy hacking!
-Leo
It could also serve as the mechanism for an cheap digital "spacenavigator" for CAD usage.
An analog joystick used in the base would probably be better for that application.

However, a very nice project.
Thanks for the idea! I had thought it might be interesting to have a analog joystick with a rotary encoder as the actual stick, giving fixed X, Y, and free Z movement. Might be a neat tool for controlling a camera, either virtual (Z is movement) or physical (Z is zoom).

Though, what I don't understand is why people dont use game pads with 3D cad. It already has two 2D analog sticks, which gives 4 dimensions of movement (x, y, z, zoom). Honestly I think game pads might be the a much better input device for 3D cad/art than keyboards and mice. It also has way more buttons than a mouse and shouldn't be hard to map them to common commands.

I can also see where an all-in-one joystick might be handy as a single-handed input device much like a mouse, so a keyboard can still be used by the other hand at the same time. Tons of possibilities there!
I don't know if you know about these so I'm posting them

A XBOX360 joystick sensor could be used as a base for the device:

dx.com/p/genuine-replacement-xbox-360-controller-3d-joystick-module-103078

or a PSP module... probably less ideal:

dx.com/p/repair-parts-replacement-3d-analog-joystick-for-psp-2000-blue-25057

There are plenty of places that they can be bought in other than DX.
Thanks for the link! It might get a bit awkward with such a long stick after combining the two, but the stick/knob would have to be bigger anyways to allow more control. I'll keep that link in mind if i work on the new input device.
I too have thought about using a analog game pad or perhaps a joystick in FreeCAD.

Currently joysticks doesn't seem to be supported, but as it is open source it eventually will be ;)
I have tried to compile it from scratch, but last time I got stuck with some dependency issues :(

The space explorer device has one advantage over a game pad, it very easy to grab when you move your hand away from the 105+ button keyboard.
This is due to the fact that the controller knob is so big, and you only need to grab one.
Top