QT Py Media Knob using rotary encoder & neopixel ring
QT Py USB Media Knob using rotary encoder & neopixel ring
The QTPy-Knob features:
A small video about it: https://www.youtube.com/watch?v=pt7JgoSlgOg
This is an attempt to make a minimal and easy-to-build version of similar, previous projects like:
Parts needed:
fakerotaryio
hack)For some of the scripts and for some QT Py variants, there are prebuilt UF2 firmware images in Releases.
Otherwise, software installation consists of:
The CircuitPython installation step is described here: https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython
The last two steps can be accomplished with the below
git clone https://github.com/todbot/qtpy-knob
cd qtpy-knob
pip3 install circup
circup install -r requirements.txt
cp qtpy_knob.py /Volumes/CIRCUITPY/code.py
RP2040 NOTE: And if you have a QTPy RP2040, be sure to copy the "fakerotaryio.py" file to CIRCUITPY as well.
There are a few variations of the code provided:
qtpy_knob.py
-- volume up / down and muteqtpy_knob_scroller.py
-- performs vertical & horizontal scrollingqtpy_knob_midi_cc.py
-- sends MIDI CC instead of keyboard/mouseqtpy_knob_simple.py
-- no neopixel stuff, just encoder and USB vol up/down sendingSteps:
qtpyknob-base.stl
-- Base that houses the QT Py & rotary encoderqtpyknob-basecap.stl
-- Cap that goes on the bottom of the baseqtpyknob-knob.stl
-- Knob that you turnqtpyknob-diffuser.stl
-- Light diffuser that goes between base & knob, should be printed with translucent or clear plastic. Or you can leave it out. Or you can approxiate it with a disk cut out clear plastic like a CD caseUse the rotary encoder's washer & screw to hold QTPy+encoder assembly
Resources that helped me out on this: