 
 void loop() {
   
-  for(int i=0;i<LED_01_NUM;i++){
-    pixels.setPixelColor(i, pixels.Color(0,0,0));
+  for(int i = LED_01_NUM; i > 0; i--) {
+    uint32_t nextLedColor = pixels.getPixelColor(i - 1);
+    pixels.setPixelColor(i, nextLedColor);
   }
+
+  color[offset]--;
+  color[(offset+1)%3]++;
   
   if (color[offset] == 0) {
     offset = (offset + 1) % 3;
   }
   
-  color[offset]--;
-  color[(offset+1)%3]++;
+  pixels.setPixelColor(0, pixels.Color(color[RED] / divisor[step], color[GREEN] / divisor[step], color[BLUE] / divisor[step]));
   
   Serial.print(color[RED]);
   Serial.print(" - ");


Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LED_01_NUM, LED_01_PIN, NEO_GRB + NEO_KHZ800);

int delayval = 40; // delay for half a second

bool increase = true;
int index = 0;

int color[3];
int offset;

void setup() {
  Serial.begin(9600);

  Serial.print(" - ");
  Serial.println(color[BLUE]);
  
  step = (step + 1) % STEPS_NUM;
  index = (index + 1) % LED_01_NUM;
  
  pixels.show();
