Monica’s Halloween Costume Progress

Rain Costume

The intention of this costume it to go with the flow on a rainy day.


I decided to simplify my code and just use the program I called ‘thunderous rain’. It is very similar to the ‘rain’ program from the Florabella.

The code on my Tinkercad doesn’t run properly so I’ve added it here.

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            A1

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS     50
#define BRIGHTNESS 30

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin(); // This initializes the NeoPixel library.; // Initialize all pixels to 'off'

void loop() {

  delay (2);


void rain() {
// Create an array of 20 raindrops
  const int count = 40;
  int pos[count];
// Set each rain drop at the starting gate.
// Signify by a position of -1
for( int i=0; i < count; i++) {
// Main loop. Keep looping until we've done
// enough "frames."
boolean done=false;
int counter = 0;
while(!done) {
// Start by turning all LEDs off:
for(int i=0; i<strip.numPixels(); i++)
strip.setPixelColor(i, 0);
// Loop for each rain drop
for( int i=0; i < count; i++) {
// If the drop is out of the starting gate,
// turn on the LED for it.
if( pos[i] >= 0 ) {
strip.setPixelColor(pos[i], strip.Color(0,0,127));
// Move the drop down one row
pos[i] -= 7;
// If we've fallen off the strip, but us back at the starting gate.
if( pos[i] < 0 )
// If this drop is at the starting gate, randomly
// see if we should start it falling.
if ( pos[i] == -1 && random(40) == 0 && counter < 380 ) {
// Pick one of the 6 starting spots to begin falling
pos[i] = 143-random(6);


I found a pattern for a kid’s vest online, printed it at 140% and ta-da it’s my size!

I then made an outline of the vest on chipboard and laid out my NeoPixel strip on top. I could visualize where they would be inside the vest more easily. This also helped me realize that I need to make a little pocket to hold the Gemma and the battery within the costume.

Below is the final circuitry working!

Next Up

Next up is sewing the vest. After that, I will make the clouds out of poly-fill. I found this article online.

Step-by step to do’s:
  • Cut fabric: front, back, pocket
  • Sew LEDS to lining. Sew pocket to lining. Might have to make a hole to have the wire go thorough.
  • After testing circuit, sew the lining vest pieces to the see-through vest pieces
  • Sew complete vest pieces to back of vest
  • Make clouds and attach to vest
  • Take pictures
  • Go parade