How to get neopixel to fade colorwipe?
You could change the intensity of each colour in steps till you get to your target colour. 

void colorFade(uint8_t r, uint8_t g, uint8_t b, uint8_t wait) {
  for(uint16_t i = 0; i &lt; strip.numPixels(); i++) {
      uint8_t curr_r, curr_g, curr_b;
      uint32_t curr_col = strip.getPixelColor(i); // get the current colour
      curr_b = curr_col &amp; 0xFF; curr_g = (curr_col &gt;&gt; 8) &amp; 0xFF; curr_r = (curr_col &gt;&gt; 16) &amp; 0xFF;  // separate into RGB components

      while ((curr_r != r) || (curr_g != g) || (curr_b != b)){  // while the curr color is not yet the target color
        if (curr_r &lt; r) curr_r++; else if (curr_r &gt; r) curr_r--;  // increment or decrement the old color values
        if (curr_g &lt; g) curr_g++; else if (curr_g &gt; g) curr_g--;
        if (curr_b &lt; b) curr_b++; else if (curr_b &gt; b) curr_b--;
        strip.setPixelColor(i, curr_r, curr_g, curr_b);  // set the color
        strip.show();
        // delay(wait);  // add a delay if its too fast
      }
      delay(1000);
  }
}


To use it:

void loop() {
  colorFade(255, 0, 0, 150); // fade into red
  colorFade(255, 255, 255, 150); // and then into white
  delay(5000);
}


This is untested, so I dont know if it will be too fast or too slow. You'll have to tweak it to your needs.