Arduino Nano + Neopixels weird start up

Hi!

I have just uploaded the following code to an arduino nano, and even though the program runs alright, it starts not very nice.

When I connect the board to its power supply, either it is the usb or a 9V battery, the “power” LED turns on, and the LED labelled “L” (which I didnt find what does it stands for) blinks a couple of times before running the programm.

What is going on here?

By the way, the same programm in an arduino mega, arduino flora or arduino micro runs without this weird behaviour from the beggining.

Thanks!!

#include <Adafruit_NeoPixel.h>
 
#define PIN 6
#define TPIXEL 128 //The total amount of pixel's/led's in your connected strip/stick (Default is 60)
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(TPIXEL, PIN, NEO_GRB + NEO_KHZ800);
// our RGB -> eye-recognized gamma color
byte gammatable[256];

 
void setup() {
Serial.begin(9600); // Set up serial communication at 9600bps

strip.setBrightness(100); //adjust brightness here

strip.begin();
strip.show(); // Initialize all pixels to 'off'

// thanks PhilB for this gamma table!
// it helps convert RGB colors to what humans see
for (int i=0; i<256; i++) {
float x = i;
x /= 255;
x = pow(x, 2.5);
x *= 255;
gammatable[i] = x;
//Serial.println(gammatable[i]);
}}

 
void loop(){

rainbowCycle(10);
}



////////////////////////////////////////Rainbow Program
void rainbow(uint8_t wait) {
  uint16_t i, j;
 
  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
    delay(wait);
  }
}
//////////////////////////////////////// Rainbow Cycle Program - Equally distributed
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
 
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}