People always tell us that their favorite part about using a computer is mashing out the exact same key sequences over and over, day in, day out. Then, there are people like [Benni] who would rather make a microcontroller do the repetitive work at the touch of a stylish USB peripheral. Those people who enjoy the extra typing also seem to love adding new proprietary software to their computer all the time, but they are out of luck again because this dial acts as a keyboard and mouse so they can’t even install that bloated software when they work at a friend’s computer. Sorry folks, some of you are out of luck.
Rotary encoders as computer inputs are not new and commercial versions have been around for years, but they are niche enough to be awfully expensive to an end-user. The short BOM and immense versatility will make some people reconsider adding one to their own workstations. In the video below, screen images are rotated to get the right angle before drawing a line just like someone would do with a piece of paper. Another demonstration reminds of us XKCD by cycling through the undo and redo functions which gives you a reversible timeline of your work.
If you like your off-hand macro enabler to have more twists and buttons, we have you covered, or maybe you only want them some of the time.
sick hack
If only I had a mouse with a wheel instead of just a touch screen.
Touch screen = the single button apple mouse.
Now all is needed to mount this pcb encoder on some springs, get 3 sensors from old dvd head and it will be almost as good as this Spacepilot in background.
Wonder how well it would work to mount the rotary encoder on a “joystick”. Then you could rotate the knob, press the knob, as well as select between 4 or 8 function shortcuts (depending on how many direction switches you include).
Not suggesting a real joystick, of course, but using the knob as the handle of the joystick to trigger the various switches.
bmw i-drive controller works this way, and also has force feedback, bought a spare one on ebay to see if I could get it to talk to an arduino, but as usuall it gathering dust right now lol
I put these in boxes to prevent dust collection.
Procrastination kills ideas. I wish I had a method to keep inspiration through shipping. Or at least one sleep. I should look up for some mindhacks, but I don’t feel like to do it. :-P
Are there any other Dev Boards working as USB hosts? Are ESPs doing the job as well? I find these Teensys a bit expansive.
It’s not USB host, just enumerating as a usb human interface device. An arduino leonardo based board will work (uses the atmega32u4 which has native hardware usb support) or an attiny85 with soft usb capabilities via vusb (this will be the cheapest option IMO). As far as the ESPs, I dont think the 8266 has hw usb support so it would need to bitbang it like the vusb for small attinys.
Yes, but perhaps not yet at the price point you want.
Teensy 3.6, the most expensive Teensy, has both normal 12 Mbit USB device and a 480 Mbit USB host port. Two libraries are support it: USBHost_t36 and UHS30.
Arduino Due & Zero also have some USB host support on their native ports.
Many boards can use the USB host shield, but the performance is low when using SPI to control USB.
Stm32 based, cheap “blue pill” has HW USB support, but I don’t know about host functionality. Although, in stm32duino there are HID samples.
ESPs don’t have USB.
The digispark would work for this. You can get them pretty cheap too.
Griffin PowerMate, anyone? https://griffintechnology.com/powermate-usb-classic-aluminum
i still love mine.
A shame they’re hard to get and no longer manufactured. I’d love to try one.
my first thought as well. i remember when they were all the rage in car computers… next came the space navigator knob…
I would like one to use as a tuning knob for my software defined radio. Radio enthusiasts will tell you that a smooth tuning knob with lots of resolution and a certain amount of inertia is a wonderful interface.
Like the knobs on an editing deck, or some better HiFi equipment.
The ultimate would be to use the encoder that is found in the Dexter robot arm, which uses an FPGA to resolve literally *millions* of positions per revolution.
I have a 3dConnexxion Spacemouse I use with Altium, and it’s really handy in 3D mode. It has software for a bunch of other software, but as a day-to-day device, I don’t find it very useful. Part of the problem is remembering what the buttons are programmed for.
please addwideo playing game : tempest
;)
This reminds me of one of my TODO items: explore USB-based MIDI “mixing boards” as UIDs for photo retouching software…
Great job on your DIY device! Did you try Surface dial before doing this? There’s an excellent DIY Surface Dial (also known as windows wheel) emulation project by NicoHood. https://github.com/NicoHood/HID/tree/master/examples/SurfaceDial
Unfortunately, the windows wheel interface feels less useful than just basic keyboard shortcuts like you made, especially if you’re only using for a single program. But if you start wanting different shortcuts for different programs, you may want to check out his library and use the program-informed features of the wheel interface.
Given how small the rotary encoder is, i’d look at integrating into the side of a mouse instead. My thumb falls to a spot on the side that it would fit nicely. Then just a matter of squeezing the teensy into the mouse, which should be doable.
Thank you for sharing my project. Here you can found all information about to build this device,too: https://tinker-fun.chayns.net/USBDIYShortcutButton . I will be build a bluetooth version in the future. Benni