   delay(1);
 }
 
+/*************** Wand Light Helpers *********************/
+unsigned long prevFlashMillis = 0; // last time we changed a powercell light in the idle sequence
+bool flashState = false;
+void setWandLightState(int lednum, int state, int currentMillis){
+  switch ( state ) {
+    case 0: // set led red
+      wandLights.setPixelColor(lednum, wandLights.Color(255, 0, 0));
+      break;
+    case 1: // set led white
+      wandLights.setPixelColor(lednum, wandLights.Color(255, 255, 255));
+      break;
+    case 2: // set led orange
+      wandLights.setPixelColor(lednum, wandLights.Color(255, 127, 0));
+      break;
+    case 3: // set led blue
+      wandLights.setPixelColor(lednum, wandLights.Color(0, 0, 255));
+      break;
+    case 4: // set led off
+      wandLights.setPixelColor(lednum, 0);
+      break;
+    case 5: 
+      if (currentMillis - prevFlashMillis > wandFlashInterval) {
+        prevFlashMillis = currentMillis;
+        if( flashState == false ){
+          wandLights.setPixelColor(lednum, wandLights.Color(255, 255, 255));
+          flashState = true;
+        }else{
+          wandLights.setPixelColor(lednum, 0);
+          flashState = false;
+        }
+      }
+      break;
+  }
+
+  wandLights.show();
+}
+
 /*************** Powercell/Cyclotron Animations *********************/
 // timer helpers and intervals for the animations
 unsigned long prevPwrBootMillis = 0;    // the last time we changed a powercell light in the boot sequence

            firing_interval = 20; // speed up the bar graph animation
            cyc_interval = 50;    // really speed up cyclotron
            cyc_fade_interval = 5;
            wandFlashInterval = 250;
            if (playing == 1 || shouldWarn == false ) {
              shouldWarn = true;
              playTrack(warnTrack); // play the firing track with the warning
            }
          } else if ( diff > dialogWaitTime) { // if we are in the dialog playing interval
            pwr_interval = 40;    // speed up the powercell animation
            firing_interval = 30; // speed up the bar graph animation
            cyc_interval = 300;   // speed up cyclotron
            wandFlashInterval = 500;
            cyc_fade_interval = 10;
            if (playing == 1) {
              playTrack(blastTrack); // play the normal blast track

// animation level trackers for the boot and shutdown
int currentBootLevel = -1;          // current powercell boot level sequence led
int currentLightLevel = 15;         // current powercell boot light sequence led

// helper function to set light states for the cyclotron
int cyclotronRunningFadeOut = 255;  // we reset this variable every time we change the cyclotron index so the fade effect works
