   // End of trinket special code
 
   pixels.begin();
-  pixels2.begin();
+
+  for (int i = 0; i < fireflyPinCount; i++)
+  {
+    pinMode(fireflyPins[i], OUTPUT);
+  }
 }
 
 void loop()
 { 
   bool anyFirefliesActive = false;
-  for (int i = 0; i < numNeopixels; i++)
+  for (int i = 0; i < fireflyPinCount; i++)
   {
     anyFirefliesActive = anyFirefliesActive || fireflies[i].active;
   }
 
-  int forceActivateIndex = anyFirefliesActive ? -1 : random(numNeopixels);
+  int forceActivateIndex = anyFirefliesActive ? -1 : random(fireflyPinCount);
 
-  for (int i = 0; i < numNeopixels; i++)
+  for (int i = 0; i < fireflyPinCount; i++)
   {
     auto& firefly = fireflies[i];
 

        firefly.active = true;
        firefly.lifetime = fireflyLifetime();
        firefly.progress = 0;
        firefly.color = fireflyColor();
      }
    }

    int s = sin((float)firefly.progress / firefly.lifetime * PI) * 255;
    auto color = firefly.active ? firefly.color * s : Color3Fs::Black();

    pixels.setPixelColor(i, color.R, color.G, color.B);
  }

  pixels.show();
  auto glowScale = (sin((millis() % 2000) / 2000.f * 2 * PI) / 4 + 0.75);
  auto color2 = Color3F(255, 255, 64) * glowScale;
  pixels2.setPixelColor(0, color2.R, color2.G, color2.B);
  pixels2.show();

  delay(10);
}


#include "Color3F.h"

const int pinNeopixels = 5;
const bool newPixelsAreRgb = false;
auto pixels = Adafruit_NeoPixel(1, pinNeopixels, (newPixelsAreRgb ? NEO_RGB : NEO_GRB) + NEO_KHZ800);

const int fireflyPins[] = { 9, 10, 11 };
const int fireflyPinCount = sizeof(fireflyPins) / sizeof(fireflyPins[0]);

struct Firefly
{
  bool active = false;
  int lifetime = 0;
  int progress = 0;
};

Firefly fireflies[fireflyPinCount];

int fireflyChance() { return 400; }
int fireflyLifetime() { return random (150, 250); }

void setup()
{
