2

I understand that some arduinos are capable of presenting themselves as a USB HID device to a PC.

I would like to use one to build a custom input controller that lets me read maybe 8 or so turn knobs that can infinitely turn left and right.

I am new to Arduino, but have cross-compiled avr binaries before.

Which arduino would be a good choice for this? And any additional parts that would help?

The end product would look like a MIDI mix panel, but it shouldn’t talk MIDI, just USB HID (to a linux PC.)

Note: there is an expensive, and out of stock, device that is similar to what I have in mind called MIDI Fighter Twister, pictured below, to get an idea.

Twister

Bram
  • 219
  • 2
  • 9

1 Answers1

1

Options for the Arduino you have:

  • Get an Arduino supporting HID drivers (e.g. 32u4 based boards, Due /Zero/ Arduino Leonardo/ Micro or Pro Micro/ M0)
  • You use this library it supports UNO/MEGA/Leonardo/(Pro)Micro/ any 8u2/16u2/at90usb8/162/32u2/32u4 compatible boards and some more

Then you have to "just" code the communication between your programm and the HID driver -> pretty standard serial/usb stuff.
The parts (knobs) you seek could be rotary encoders, which have no fixed zero point, endless rotation and need 2 input pins per encoder (except GND or optional push function). The signals a rotary encoder produces (and what can be handled by libraries) are based on a 2-bit gray code available on 2 digital data signal lines. So when choosing whatever Arduino make sure you have enough (usable) I/O ports for the number of encoders and possible additional parts (status led/s or similar, I2C LCD display)

Codebreaker007
  • 1,331
  • 1
  • 7
  • 14