Close
0%
0%

Knobbox: Modal USB knob

Control volume, brightness, temperature, and more with a single knob.

Similar projects worth following
The knobbox is a USB connected knob in a box, designed to be both useful and easy to make.

The ATTiny85 version acts as a 2-key keyboard, sending volume up and down key codes as you turn the knob.

The ATMega328P version can cycle through 8 modes to control volume, screen brightness, room brightness, and anything else that can be adjusted programatically.

Purpose

To create a useful input device with minimal hardware.


Process

I hope to write a tutorial at some point, for now an outline of the process:

  1. Designing the laser cut box in OpenSCAD, ordering from Ponoko
  2. Prototyping the circuit with an ATTiny85 on a breadboard
  3. Designing the ATTiny85 based circuit in Eagle, ordering from OSHPark
  4. Ordering rotary encoders and aluminum knobs from Amazon and AliExpress
  5. Assembling and debugging

tinyknob and megaknob

There are two classes of knobbox, named after the corresponding class of AVR micro. The ATTiny85 based tinyknob came first - a basic HID compliant device that acts as a two key keyboard. Having used all the pins on the ATTiny85, the megaknob bumps it up to a ATMega328P, allowing the use of a crystal, RGB LEDs, and the rotary encoder button.


Credits

Inspiration came largely from Rupert Hirst's uVolume USB volume knob.

The tinyknob firmware is based off the V-USB EasyLogger example, and the megaknob firmware is based off tutorials from Code and Life.

The boxes were laser cut at Ponoko using walnut veneer MDF and acrylic.

  • 1 × ATTiny85 or ATMega328P For the simple HID or full driver version, respectively
  • 1 × Rotary encoder with button Bourns PEC11 ordered from Amazon
  • 2 × RGB LED Diffused common cathode from Sparkfun
  • 1 × Aluminum knob Ordered from AliExpress
  • 1 × Walnut veneer MDF Laser cut at Ponoko

View all 7 components

  • Mystery of the 3/4 plug

    spro11/14/2015 at 09:49 4 comments

    I'm trying to debug the ATTiny85 version and I've found how to make it work 100% of the time, but it's a weird ritual and I'm not sure why it works.

    If I plug in the USB cable 3/4 of the way, it connects perfectly. If I plug it in all the way, the USB device fails to enumerate.

    My research so far tells me the most likely cause is a calibration failure. But given the scenario above, what could cause it to miscalibrate only when fully plugged in?

View project log

Enjoy this project?

Share

Discussions

Craig Hissett wrote 11/16/2015 at 16:33 point

A great project!

How heavy would you say this device is?

I am a trombone player who regularly does solo studio work, and am looking for a solution to control my recording rig laptop from an onboard device.

Using the ATMega328p version is certainly a possibility! 

As @Boris Bershadsky suggested a bluetooth version would be sweet, although I almost certain that some kind of companion software would be required to translate incoming data into a keyboard command as the device would be no longer able to be recognised as a HID device.

I suppose a 'dongle' containing a chip flashed with the HID firmware could receive the bluetooth data and convert it into native keyboard speak :)

  Are you sure? yes | no

spro wrote 11/17/2015 at 08:07 point

It weighs about the same as a can of beer, and most of that is due to the solid aluminum knob – you could likely make a much lighter version with plastic (if portability is what you're going for).

I quite like the idea about using a dongle, that could be extended to a whole range of wireless HID projects. Though bluetooth would also be a good way to do it, especially for the ATMega version which already has a companion driver to handle the different modes... I'll probably try both.

  Are you sure? yes | no

Craig Hissett wrote 11/17/2015 at 11:07 point

I'm am supremely interested in making a lightweight one; it would definitely make a huge difference when mounting to my trombone.

As for Bluetooth; if there's already a companion driver then that is tremendous! a USB dongle can be added to a PC/laptop for next to nothing (you can get them for £1 here in the UK), and also opens the possibility to be being paired with devices such as phones and tablets without extra hardware.

A dongle containing a microcontroller and bluetooth module would give a great amount of control and possibilities, but would obviously add extra cost.

  Are you sure? yes | no

Boris Bershadsky wrote 11/16/2015 at 10:49 point

Looks fantastic, keep up the good work. Gave me some good ideas for a project too :)
Would be really cool for example to make a bluetooth version. Maybe add a simple LCD screen.  Way beyond my experience level. Good luck!

  Are you sure? yes | no

spro wrote 11/17/2015 at 07:48 point

A bluetooth version is a great idea!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates