   random16_add_entropy(analogRead(5));
 
   // Setup strands of LED
-  FastLED.addLeds<NEOPIXEL, LED_IN>(leds, numLED);
+  FastLED.addLeds<WS2812, LED_IN, GRB>(leds, numLED).setCorrection(TypicalLEDStrip);;
   FastLED.setBrightness(maxBrightness);
   FastLED.show();
 

    updateGPalette();
  }

  // Select animation to run, or go in autopilot
  if (!dj_control) {
    switch( gAnimCounter ) {
      case 0:
        palette_mod();


// A theater chase where packets switch directions every once in a while
void theater_chase_bounce() {
  static uint8_t pal_index = 0;  
  static uint8_t bpm = map(analogRead(RATE_POT), 0 , 1253, 60, 20);

  // Some variables to help us smoothly transition between rates
  static uint8_t last_index = 0;
  static uint8_t last_second = 99;
  uint8_t second = (millis()/1000)%60;

  // Update lead LED position at an input dependent rate
  last_index = pal_index;
  pal_index = beatsin8(bpm, 0, 255);

  if( pal_index == 127 && (last_index - pal_index) < 0 && second != last_second) {
    last_second = second;
    bpm = map(analogRead(RATE_POT), 0 , 1253, 60, 20);
  }
  
