well, there’s been some small progress…. I started tinkering with the rotary encoder.

I found a great example here:  http://www.pjrc.com/teensy/td_libs_Encoder.html

one thing, though – encoder.h must be added to the Arduino Libraries folder

/* Encoder Library - TwoKnobs Example
 * http://www.pjrc.com/teensy/td_libs_Encoder.html
 * This example code is in the public domain.
 */

#include <Encoder.h>

//Copal RMS20-250-201-1G Encoder: 
//RED = 5VDC
//White = Output A
//Brown = Output B
//Black = Ground

Encoder knobLeft(2, 4);

void setup() 
{
 Serial.begin(9600);
 Serial.println("Encoder Test:");
}

long positionLeft = -999;

void loop() 
{
   long newLeft;
   newLeft = knobLeft.read();
   if (newLeft != positionLeft) 
   {
     Serial.print("Left = ");
     Serial.print(newLeft);
     Serial.println();
     positionLeft = newLeft;
   } 
  
   if (Serial.available()) 
   {
     Serial.read();
     Serial.println("Reset both knobs to zero");
     knobLeft.write(0);
   }
}

now, the next challenge is determining how to dynamically tune the radio, based on how quickly the knob is spinning.  I think the trick here is going to be to perform some timing measurements – using millis() or micros() to measure the average time between pulses while I’m spinning the knob at some (arbitrary) rates that I feel afre appropriate…