     This way, we won't register changes until the knob is moved by the user
   */
   void initializePotentiometers() {
+    // For the spin knob - if the spin knob isn't centered at start, actually send the state to the ring, and then stop spinning at init
+    // This will allow the spin toggle button to function without having touched the spin knob first
     spinKnob.update();
+    if (!potentiometerPercentAtMiddle(spinKnobPercent)) {
+      handleSendSpinState();
+      ring.toggleSpin();
+    }
+    
+    
     blinkKnob.update();
     brightnessKnob.update();
     redKnob.update();

    updateBlinkKnob();
    updateBrightnessKnob();
    updateRGBKnobs();

    // update light knobs
    // update blink and brightness sliders
    // update switches and other buttons
    
    // update the status of all switches/buttons - might be worth putting them in an array to make it an easy loop
    updateRandomButton();
  }
  
  boolean potentiometerPercentAtMiddle(float percent) {

  void updateSpinKnob() {
    spinKnob.update();
    if (spinKnob.valChangedThisUpdate()) {
      handleSendSpinState();
    }
  }
  
  /* Broke this out into a separate method so it can be transmitted at startup */
  vod handleSendSpinState() {
      float spinKnobPercent = spinKnob.getPercentVal();
      logger.log("spin knob changed to: ", spinKnobPercent);
      
