Danna’s Rainbow Halloween Costume


It is known that kids’ costumes are more fun than adults. Since it was my first time walking in the NYC Halloween Parade, I wanted to make something that stands out and fits my personality perfectly.

For my costume, I decided to put the NeoPixels inside the clouds to create a diffused and colorful effect as if there’s a party inside the cloud; and I’m the cloud πŸ™‚

The pool noddles were weaved to each other with white tulle to create a curved structure and with the same tool, I created to shoulder straps similar to those on a backpack, and then across shoulder strap to support all of the weight of the rainbow.

I found it the hardest to put the rainbow together because hot glue melted the pool noodles (obviously, it’s foam), so after a few tries and weaving them with metallic string, I decided on tulle because it was the strongest fabric I had, and it worked! If I had to do this costume again, I would definitely like to find a better solution to the noodle weaving and the strap positioning.

I’m extremely happy with the outcome of the costume and very excited to participate in the next Halloween parade.




Reference from https://www.instructables.com/id/Rainbow-4/
Made by: mkite25
I left a comment for “mkite25” (the original designer) to thank him for his inspiration and show him how I made mine.


  • Pool noodles (red, orange, yellow, blue and green)
  • White tulle
  • Cotton stuffing (pasted it with hot glue)
  • Cardboard and wire (cloud skirt)
  • 9 NeoPixels
  • Gemma M0
  • Lithium Ion Battery – 3.7V 1200mAh



#include <Adafruit_NeoPixel.h>

#define PIN        1 // On Trinket or Gemma, suggest changing this to 1
#define NUMPIXELS 9
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels

//Color list. Format: ...{R,G,B},{R,G,B}...
const int colors[][3] = {{255,0,0},{220,143,7},{255,255,51},{0,255,0},{0,0,255},{128,0,128},{0,255,255}};
//Number of possible colors. If there are more colors to be added, change this number to 6 and so on.
const int numberOfColors = 7;

//Min of LEDs on at the same time.
const int minLedsOn = 4;
//Max of LEDs on at the same time.
const int maxLedsOn = 8;

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin(); // Initializes Neopixel strip
  pixels.show(); //turns off lights
  pixels.setBrightness(50); //Brightness to 50. 1/5 of maximum (255)

void loop() {
  pixels.clear(); // Turns off neos

  int ledsToTurnOn = random(minLedsOn,maxLedsOn);
  for(int i =0; i<ledsToTurnOn; i++){
    int ledIndex = random(0,NUMPIXELS);
    int randomColor = random(0,numberOfColors);
    int r = colors[randomColor][0];
    int g = colors[randomColor][1];
    int b = colors[randomColor][2];


  //time delay before turning neos off (in milliseconds). 1000 = 1 second.



%d bloggers like this: