SpInput - A haptic input device
Tags: programming, productivity, iot, a11y
Published: 2023-10-25 14:36:00

## Introduction

The Rotary Encoder, an exciting project brought to you by Ayush Mamgain, Parth Doshi, Poorwa Kher, and Swamini Pednekar, is set to redefine the way we interact with technology. With a combination of hardware and software, this innovation aims to provide a seamless and intuitive means of control for power users, including designers, gamers, and developers.

## What Technology Are We Using?

- Rotary Encoder Module
- Arduino Nano
- 3D Printing
- Python
- KY-040
- 33 BLE Knob Script

## Rotary Encoder

### What is a Rotary Encoder and How Does It Work?

- A smart knob/wheel detecting rotation and direction
- An encoder attached to a rotating shaft
- Generates electrical pulses/codes based on position and direction
- Microcontroller interprets signals to determine shaft position
- Shaft position is used to control other devices, such as motors or displays

## What is SpInput?

SpInput is a reimagined and revolutionary input device designed to augment the traditional keyboard and mouse setup for power users. It's a game-changer for those who demand precision and efficiency in their work and play.

## Inspiration

This project drew inspiration from innovations such as the Microsoft Surface Dial and GTA's Weapon Wheel. 

{% embed https://youtu.be/k6GLz7JobfA %}

Additionally, the team explored the concept of a Radial Menu UI, which can be seen [here](https://dribbble.com/shots/801609-Concept-Idea-Radial-Menu-UI-animated).

## How Does SpInput Work?

- Pressing the SpInput Dial launches a radial menu overlay with shortcuts, controls, or workflows.
- The knob can be spun while held down to cycle through the options.
- Releasing it on the desired option triggers the action.
- If the option has a hierarchical menu or control, holding the pointer on the option launches it.

## How Mature Is It?

While the concept is innovative and promising, it's still in a nascent stage. Most implementations are DIY, and mainstream options, like the Surface Dial, remain limited. Extensive research is needed for various implementations and improvements.

## Current Capabilities

SpInput offers a range of capabilities:

- Highly configurable
- Multitasking capabilities
- Multi-device support
- Multi-application support
- Wireless connectivity and charging
- Can be paired with other SpInput devices

## Real-Life Use Cases

SpInput finds its utility in various domains, including:

- Audio Editing
- Video Editing
- Gaming
- CAD Designs

## Limitations of SpInput

As with any innovation, SpInput has its limitations:

- Complexity of use for new users
- Limited resolution compared to other input methods
- Potential additional costs for hardware
- Compatibility constraints
- Maintenance requirements

## References

- [Datasheet for Rotary Encoder Module](https://www.epitran.it/ebayDrive/datasheet/25.pdf)
- [Microsoft Surface Dial Video](https://youtu.be/k6GLz7JobfA)
- [GTA Weapon Wheel Forum Discussion](https://forum.gta.world/en/topic/35804-weapon-wheel/)
- [Radial Menu UI Concept](https://dribbble.com/shots/801609-Concept-Idea-Radial-Menu-UI-animated)
- [Microsoft Deutschland Surface Dial Video](https://www.youtube.com/watch?v=k6GLz7JobfA&ab_channel=MicrosoftDeutschland)
- [Zyger's Surface Dial Video](https://www.youtube.com/watch?v=MRdQyrpflB4&ab_channel=Zyger)
- [Additional SpInput Video](https://youtu.be/ePKGLnjlXl4)
- [An Ode to Radial Menus](https://rhombical.medium.com/an-ode-to-radial-menus-84a8a2dacc3a)
- [Every Computer Deserves a Rotary Encoder](https://hackaday.com/2018/12/13/every-computer-deserves-a-rotary-encoder/)