DotStar Belly Dance Fans



Similar documents
DIY Pocket LED Gamer - Tiny Tetris!

Martin County Amateur Radio Association. Nightfire Kits 1 LED Torch Kit Contents. Description

Original Recipe. Dancing Daisies Quilt

7" Portable HDMI Monitor

Arduino Lesson 1. Blink

Character LCDs. Created by Ladyada. Last updated on :45:29 PM EDT

DS1307 Real Time Clock Breakout Board Kit

Time needed: ~3h for lid replacement only. Add 1h for operation harness in lid and ~2h more for installing drive unit and cable harness in trunk.

Bill Conkling July 2012

Creator Start-up Guide

FREEBIRD THE ORIGINAL D.I.Y. ORNITHOPTER! Tools and Glue. Required Materials

Odyssey of the Mind Technology Fair. Simple Electronics

ROTOPOD PERISCOPE LIGHTING KIT (for MCWHLR & Daniel D/Xeno Periscopes)

Step by step guide to installing your own Ku Band satellite dish

IOIO for Android Beginners Guide Introduction

Build Your Own Solar Car Teach build learn renewable Energy! Page 1 of 1

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

Picnic Table Plans. Made out of a single sheet of plywood, it s also portable! By Kevin Ayer. This children's picnic table would

Getting started with the O Watch

Build a Junior Solar Sprint Model Car Kit Materials: 1 PITSCO Ray Catcher Sprint Kit or Solar Made Junior Solar Sprint Kit 1 White Sheet of Plastic

TEECES DOME LIGHTING SYSTEMS

Electronics and Soldering Notes

POWERPOLE CONNECTOR GENERAL INSTALLATION TIPS

Arduino Lesson 5. The Serial Monitor

Getting Started in Tinkercad

Android Programming Family Fun Day using AppInventor

Battery Power for LED Pixels and Strips. Created by Phillip Burgess

FOLGER TECHNOLOGIES, LLC 2020 i3 3D Printer Kit

Chapter 2. Making Shapes

Arduino Lesson 4. Eight LEDs and a Shift Register

ECEN 1400, Introduction to Analog and Digital Electronics

Have fun, nevertheless!

Adafruit Proto Shield for Arduino

Tips and Techniques on the PR-620

5. Tutorial. Starting FlashCut CNC

Micro. Pitts Special for the RFFS-100 by Chris O Riley

2.2" TFT Display. Created by Ladyada. Last updated on :15:09 PM EDT

INSTRUCTIONS FOR CHAIN LINK INSTALLATION Chain Link fence & Posts Meshdirect.co.uk

Children s Furniture Projects

Written By: Walter Galan

Printrbot Getting Started Guide. For models: Printrbot Plus (v2) Printrbot LC (v2) Printrbot jr

KNITTING MACHINE Quick Tips for Knitting Success

RS232/DB9 An RS232 to TTL Level Converter

CHAPTER 11: Flip Flops

EARTH PEOPLE TECHNOLOGY SERIAL GRAPH TOOL FOR THE ARDUINO UNO USER MANUAL

step 1 Unpack the lunchbox And check whether you have got all the components~ If you have questions please contact us at: info@unitunlikely.

CATIA Electrical Harness Design TABLE OF CONTENTS

Transfer of Energy Forms of Energy: Multiple Transformations

SHELVES.

How to Make a Pogo Pin Test Jig. Created by Tyler Cooper

BUILDINGA 1/10 SCALE FLATBED TRAILER

Animated Lighting Software Overview

The Hive Bodies. In the Beekeeper s Work Shop. Building a Bee Hive: The Hive Bodies. by Stephen E. Tilmann

Cell Phone Charging Purse

Getting started with the Super Brain Palm computer interface.

Alfa Romeo 147 On board instruments installation guide

Assembly Guide FOR LED NEON FLEX

Building A Computer: A Beginners Guide

WIRE, TERMINAL AND CONNECTOR REPAIR CONDUCTORS

ETL listed for installations within 5 ft. (1.5M) of outer edge of water Rev E Page 1 of 10

Document number RS-PRD Revision 05 Date 20/10/2009 Page 1/30

Installation tutorial for Console Customs Xbox 360 MaxFire FUSION V2 rapid fire Mod Chip.

Lenovo Miix 2 8. User Guide. Read the safety notices and important tips in the included manuals before using your computer.

Arduino Lesson 13. DC Motors. Created by Simon Monk

How to Build Your Own CornHole Game

HD Wing Camera II Short manual for use in R/C planes English version Dan Dolata Ad Astra on RCGroups.com

Setting Up the MimioCapture Device

K128. USB PICmicro Programmer. DIY Electronics (HK) Ltd PO Box 88458, Sham Shui Po, Hong Kong. mailto:

Printrbot Getting Started Guide. For models: Simple

A Guide to Microsoft Paint (Windows XP)

Arduino Lesson 0. Getting Started

WHO ANSWERED FIRST? FIND OUT WITH THIS QUIZ BUZZER KIT

edgebooks Quick Start Guide 4

5800 Temperature Sensor Cable Assembly

DTU Animal Cart Programme

How to build a Pizza Oven in 4 days

Original Recipe. Cathedral Window Baby Playmat by Amy Gibson

Bill of Materials: Line Follower: A Zippy Robot That Senses Where to Go PART NO

Thermistor. Created by Ladyada. Last updated on :30:46 PM EDT

Triple Threat 3-in-1 Game Table 3 IN 1 GAME TABLE

Arduino Lesson 14. Servo Motors

Making Wooden Hinges

Gate Leg Drop Leaf Table Plans

Micrio WS1 Replacement Wind Speed Sensor and WC1 Replacement Wind Compass Sensor for Raymarine ST50 and ST60 Wind Instruments. Rev 4.

DIY Bluetooth Gamepad

Laser Cutter User Manual

SMART Board Software for Macintosh FAQ

Build Instructions for TempBug: Internet-Connected Thermometer Step 1: Gather the parts

AMPSEAL* Automotive Plug Connector and Header Assembly

LED Wiring and Connections

Using Image J to Measure the Brightness of Stars (Written by Do H. Kim)

Business Plus Accounting Hardware Setup Guide For Windows XP

Original Recipe. Squaredy Cat Quilt by Wendy Poling

BUILDING INSTRUCTIONS

About your ereader... 4

How to Build a Poker Table

Name: Bicycle Cellphone Charger Circuit Assembly Manual Device: Nokia/Blackberry List of Components:

MCP4725 Digital to Analog Converter Hookup Guide

RC HELICOPTER INSTRUCTION MANUAL

Transcription:

DotStar Belly Dance Fans Created by Erin St Blaine Last updated on 2015-12-02 09:10:13 AM EST

Guide Contents Guide Contents Overview Materials For Building One Fan Building the Fans Acrylic Fan Base Electronics Enclosure Attaching the LEDs Adding the Enclosure Wiring Electronics Assembly Battery Charger LEDs & Mode Switch The Code Software Setup Libraries? Why? What's a Library? If you encounter trouble Finishing Adding Veil Fabric 2 3 3 5 5 6 7 8 10 12 12 13 17 17 17 22 24 24 Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 2 of 27

Overview DotStars are super fast clocking pixels that achieve a persistence-of-vision look with moving LED patterns. This project uses DotStars and the FastLED code library to create stardust magic. Swing your dance fans slowly to mesmerise your audience with the sparkly, pretty lights. Swing them fast, and magical patterns and pictures appear. Look closely and you may see the spiders from Mars or the cats from Japan. Three modes are included in the code, and you can easily add your own or modify the existing ones. Let all the children boogie. Materials For Building One Fan Double your order to build two Electronics: Pro Trinket 5v (http://adafru.it/duf) Pro Trinket LiPoly Backpack Add-on (http://adafru.it/e0w) 1 m DotStar 60 Per Meter LEDs (http://adafru.it/2240) Tactile On/Off Switch with Leads (http://adafru.it/1092) 6mm Tactile momentary switch (http://adafru.it/367) 500mAh Lithium Ion Polymer Battery (http://adafru.it/1578) (add all to your cart on the right side of this page) Crafty Stuff: Sheet of acrylic plastic, at least 9" x 18", and 1/8" thick 1 yd sparkly fabric or silk Devcon Silicone Adhesive (1 tube per fan) (http://adafru.it/eme) E6000 glue (http://adafru.it/emf) Tools & Misc Soldering iron & solder Heat shrink tubing Hot glue gun 26awg wire in assorted colors Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 3 of 27

3D printer (optional) Band saw or multi tool with a cutting attachment Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 4 of 27

Building the Fans Acrylic Fan Base I found this acrylic plastic in the discount bin at my local plastic store for $2/sheet. They have all shapes and sizes and thicknesses. Sign-making shops often have material available. As long as your plastic is sturdy enough and at least 1/8" (3mm) thick, you don't need to be too picky. Decide what size you'd like your fans to be. Mine have roughly an 18" diameter. Trace out your pattern on the acrylic sheet. With a band saw or a multi tool with a cutting wheel (or a laser cutter if you're getting fancy), carefully cut out the fan shape and the cutout for your fingers. Don t use a drill for the finger cutout unless you have a special acrylic-cutting bit. After cutting the shapes, play with the fans a bit and sand down any pokey edges. If you don't have access to power tools or laser cutters, your plastic store will be happy to cut these for you for a fee. Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 5 of 27

Electronics Enclosure The enclosure isn't necessary, but it will protect your battery and Pro Trinket from bumps and knocking about, and extend the life of your fans. If you have access to a 3D printer, you can download the electronics enclosure from Thingiverse: Download led_fans_enclosure.stl http://adafru.it/emg Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 6 of 27

Print in PLA or ABS. Since I'm using a silver veil fabric on the fans, I printed the enclosure in white. If you don't have a 3D printer, you can order a custom enclosure from Shapeways (http://adafru.it/emh), or you can simply glue the Pro Trinket and battery directly to the acrylic fan. Attaching the LEDs Align the Dotstar strip around the outer edge of the fans, and carefully cut through the strip at the right length. Count how many LEDs you have -- mine have 38. Find the "in" end of the Dotstar strip and solder about 6 inches of wire to each pad. It's a good idea to use a different color of wire for each pad. That will make it much easier to keep them straight when you solder the lights to the Pro Trinket. Test the strand by hooking up the wires to your Pro Trinket with alligator clips and running the Dotstar strandtest example this is explained at the bottom of "The Code" page of this guide. Be Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 7 of 27

sure your strip is working and all the LEDs are in good shape before attaching it permanently to your fans. Set the acrylic fan on top of some supports so its edge is hovering about 1/4" from the table. (The leftover acrylic you just cut off works great as a support). Line the Dotstar strip against the edge so it's centered both up and down, and left to right. Run a bead of DevCon Silicone Glue along the edge of the fan where it's touching the Dotstar strip. With a gloved fingertip or tool, smooth the glue into the corner so that it contacts both surfaces as much as possible. Also add a little glue inside both ends of the Dotstar silicone case to seal it up and keep your soldering secure. Let the glue dry completely overnight, and repeat with the other side. Adding the Enclosure Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 8 of 27

Place the plastic enclosure along the edge of the fan about halfway between the edge of the fan and the handle cutout, and glue it down. Hot glue works great for this. Place it so that the wires from the Dotstar strip reach comfortably, but it's far enough away from the handle that it doesn't get in your way while holding the fan. Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 9 of 27

Wiring Battery Backpack Connection Pro Trinket BAT --> Battery Backpack BAT Pro Trinket G --> Battery Backpack G Pro Trinket BUS --> Battery Backpack 5V On/off switch --> Battery Backpack switch port (cut traces) LED Dotstar Connections Pro Trinket 3 --> DotStar CI Pro Trinket 4 --> DotStar DI Pro Trinket + (on the back) --> Dotstar VCC Pro Trinket - (on the back) --> Dotstar GND NOTE: the DotStar strip's order may not match the order in the picture. Be sure you've got the connections right! Mode Switch Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 10 of 27

Pro Trinket 5 --> Momentary Switch Pro Trinket GND --> Momentary Switch Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 11 of 27

Electronics Assembly Battery Charger Solder three header pins into the charging backpack. Take a utility knife and break the trace between the two connected pins next to the header. This will enable you to add an on/off switch to the fans. Trim the wires on your on/off switch so that one is slightly longer than the other, and both wires are about 3/4" long. Solder one wire to each of the switch pins on the charger board so the switch sticks out at about 90 degrees. Solder the three header pins into the first three pins next to the USB port on the Trinket (BAT, G, 5v). Plug your battery in to the JST connector and click the switch. You should see some blinky lights come on. It's ALIVE! Muahahahah... Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 12 of 27

LEDs & Mode Switch Unplug the battery and be sure it's unplugged for all the rest of the soldering. Place the Pro Trinket into the enclosure and thread all four LED wires through the wire slot. Starting with the power and ground wire, measure about how long they need to be and solder them onto the back of the Pro Trinket. Place the Pro Trinket back in its little spot and do the same with the Data (pin 3) and Clock (pin 4) wires. Solder them in place. Solder a 6" wire to pin 5 and to the GND pin on the Pro Trinket. These wires will go to your mode Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 13 of 27

switch. Cut off both legs on one side of your momentary switch. Carefully bend the other two legs out so your switch can sit flat on the table. Place the Pro Trinket back in your 3D printed enclosure and feed the switch wires out through the slot on the battery side. Trim them to a comfortable length for reaching the switch with your thumb while holding the fan by the handle. Slip some heat shrink tubing on to both wires and solder them securely to the remaining legs on the switch, and secure them with heat shrink. Place the switch along the narrow edge of the plastic where it's comfortable to reach with your thumb while holding the fans. Hot glue it in place. Feel free to be generous with the hot glue so it stays, but be careful not to get any on the working part of the switch. Plug the battery in and pop the lid onto the enclosure with the on/off switch positioned inside the hole. We will glue all this in place later, but for now, let's upload some code and make sure it works! Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 14 of 27

Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 15 of 27

The Code Software Setup If this is your first time using Pro Trinket, take a look at Introducting Pro Trinket (http://adafru.it/ipe) to get a guided tour. Once you've got your Pro Trinket up and running with Arduino (http://adafru.it/dgt), you'll need to install the FastLED library. Libraries? Why? What's a Library? In a nutshell, Arduino libraries have a lot of pre-written functions that make your DotStar LEDs easy to command. You can do fancy stuff without being a code guru. Yay Libraries! FastLED is a fast, efficient, easy-to-use Arduino library for programming addressable LED strips and pixels. It has a lot of features to get your animations up and running fast -- and it has a lot of code samples available if you're just learning to code. Download FastLED Library http://adafru.it/ego Unzip the file and rename the folder to "FastLED" (no quotes). Copy the file into your Arduino/Libraries folder and restart Arduino. All about Arduino Libraries (http://adafru.it/dnr) will tell you everything you ever wanted to know about libraries, including more detailed installation instructions. Once your curiosity is satiated and your library is installed, copy and paste the code into your Arduino window. Go to your Tools menu and select "Pro Trinket 5V USB" from the list of boards. Plug your Pro Trinket into your computer via the onboard USB port. Press the "reset" button on your Pro Trinket and wait for the blinky red light, then click the upload button in Arduino. //Code includes samples written by Mark Kriegsman and Andrew Tuline. Thanks so much for all your help guys! #include <FastLED.h> //---LED SETUP STUFF #define LED_PIN 4 Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 16 of 27

#define LED_PIN 4 #define CLOCK_PIN 3 #define BUTTON_PIN 5 #define COLOR_ORDER GBR #define NUM_LEDS 38 // Change to reflect the number of LEDs you have CRGB leds[num_leds]; //naming our LED array //BUTTON SETUP STUFF byte prevkeystate = HIGH; int ledmode = 0; //FIRST ACTIVE MODE CRGBPalette16 currentpalette; TBlendType currentblending; // MODE VARIABLES -- Change these numbers to create new interesting modes int BRIGHTNESS = 255; //0-255. Lower number saves battery life, higher number is screamingly bright int SATURATION = 255; //0 is white (no color) and 255 is fully saturated with color int HUE = 0; //0-255, around the color wheel int STEPS = 4; //Wider or narrower bands of color int SPEEDO = 10; //The speed of the animation // SIN WAVE SETUP #define qsubd(x, b) ((x>b)?wavebright:0) // Digital unsigned subtraction macro. if result <0, then => 0. Otherwis #define qsuba(x, b) ((x>b)?x-b:0) // Analog Unsigned subtraction macro. if result <0, then => 0 // SINWAVE VARIABLES -- change these numbers to modify Sinwave mode uint8_t wavebright = 255; // You can change the brightness of the waves/bars rolling across the sc uint8_t thishue = 30; // You can change the starting hue value for the first wave. uint8_t thisrot = 1; // You can change how quickly the hue rotates for this wave. 0= color stays uint8_t allsat = 255; // I like 'em fully saturated with colour. bool thisdir = 0; // You can change direction. int8_t thisspeed = 4; // You can change the speed, and use negative values. uint8_t allfreq = 25; // You can change the frequency, thus overall width of bars. int thisphase = 0; // Phase change value gets calculated. uint8_t thiscutoff = 192; // You can change the cutoff value to display this wave. Lower value = lon int loopdelay = 4; // You can change the delay. Also you can change the allspeed variable abo uint8_t bgclr = 0; // A rotating background colour. uint8_t bgbright = 55; // Background color brightness //RIPPLE VARIABLES Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 17 of 27

//RIPPLE VARIABLES uint8_t colour; int center = 0; int step = -1; uint8_t myfade = 255; #define maxsteps 16 // Ripple colour is randomized. // Center of the current ripple. // -1 is the initializing step. // Starting brightness. // Case statement wouldn't allow a variable. //------------------SETUP------------------ void setup() { delay( 2000 ); // power-up safety delay pinmode(button_pin, INPUT_PULLUP); FastLED.addLeds<DOTSTAR, LED_PIN, CLOCK_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( FastLED.setBrightness( BRIGHTNESS ); currentblending = LINEARBLEND; } #define NUM_MODES 3 //------------------MAIN LOOP------------------ void loop() { switch (ledmode) { case 0: BRIGHTNESS = 255; Rainbow(); break; //Rainbow -- Change STEPS and SPEED to modify case 1: sinwave_1(); break; //Sin Wave -- Change sinwave variables to modify case 2: ripple(); break; //Ripple -- Change case 3: BRIGHTNESS=0; Solid(); break; //all off -- change BRIGHTNESS to 1-255 for a solid color } // button management section byte currkeystate = digitalread(button_pin); if ((prevkeystate == LOW) && (currkeystate == HIGH)) { } keyrelease(); } prevkeystate = currkeystate; // SOLID COLOR ------------------------------------- void Solid() Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 18 of 27

void Solid() { fill_solid(leds, NUM_LEDS, CHSV(HUE, SATURATION, BRIGHTNESS)); FastLED.show(); } //SIN WAVE void sinwave_1() { one_sin(); show_at_max_brightness_for_power(); delay_at_max_brightness_for_power(loopdelay*2.5); Serial.println(LEDS.getFPS()); } void one_sin() { // This is the heart of this program. Sure is short. if (thisdir == 0) thisphase+=thisspeed; else thisphase-=thisspeed; // You can change direction and speed individua thishue = thishue + thisrot; // Hue rotation is fun for thiswave. for (int k=0; k<num_leds; k++) { int thisbright = qsubd(cubicwave8((k*allfreq)+thisphase), thiscutoff); // qsub sets a minimum value called thiscutoff. If leds[k] = CHSV(bgclr, 255, bgbright); leds[k] += CHSV(thishue, allsat, thisbright); // Assigning hues and brightness to the led array. } bgclr++; } // one_sin() // RAINBOW -------------------------------------------------- void Rainbow() { FastLED.setBrightness( BRIGHTNESS ); currentpalette = RainbowColors_p; static uint8_t startindex = 0; startindex = startindex + 1; FillLEDsFromPaletteColors( startindex); } FastLED.show(); FastLED.delay(SPEEDO); void FillLEDsFromPaletteColors( uint8_t colorindex) { for( int i = 0; i < NUM_LEDS; i++) { leds[i] = ColorFromPalette( currentpalette, colorindex, BRIGHTNESS, currentblending); Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 19 of 27

leds[i] = ColorFromPalette( currentpalette, colorindex, BRIGHTNESS, currentblending); colorindex += STEPS; } } //RIPPLE -------------------------------------------------------------------------------- void ripple() { HUE = 140;HUE++; if (HUE > 220) {HUE = 140;} // constrain BG hue to blues and purples for (int i = 0; i < NUM_LEDS; i++) leds[i] = CHSV(HUE++, 255, 50); // Rotate background colour. switch (step) { case -1: center = random(num_leds); colour = random16(0,256); step = 0; break; // Initialize ripple variables. case 0: leds[center] = CHSV(colour, 255, 255); step ++; break; // Display the first pixel of the ripple. case maxsteps: step = -1; break; // At the end of the ripples. default: // Middle of the ripples. leds[wrap(center + step)] += CHSV(colour, 255, myfade/step*2); // Display the next pixels in the range for one side. leds[wrap(center - step)] += CHSV(colour, 255, myfade/step*2); // Display the next pixels in the range for the other s step ++; // Next step. break; } // switch step show_at_max_brightness_for_power(); delay_at_max_brightness_for_power(speedo*2.5); } // ripple() int wrap(int step) { if(step < 0) return NUM_LEDS + step; if(step > NUM_LEDS - 1) return step - NUM_LEDS; return step; } // wrap() Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 20 of 27

//BUTTON CONTROL STUFF // called when button is pressed void shortkeypress() { Serial.println("short"); ledmode++; if (ledmode > NUM_MODES){ ledmode=0; } } // called when key goes from pressed to not pressed void keyrelease() { Serial.println("key release"); shortkeypress(); } If you encounter trouble Any time you hit a roadblock with a DotStar project, we ll usually ask that you start with the strandtest example from our own Adafruit_DotStar library. This helps us narrow down whether it s a hardware or software issue. The library is installed similarly to FastLED or any other unzip, rename Adafruit_DotStar and place in your Arduino/Libraries folder, then restart the Arduino IDE. You ll find the strandtest example under File Sketchbook Libraries Adafruit_DotStar strandtest Download Adafruit_DotStar Library http://adafru.it/eio If strandtest fails to run, this suggests a hardware issue for example, connecting to the wrong Trinket pin. If you re new to Arduino programming and LEDs, we usually suggest starting with the Adafruit_DotStar library it s pretty basic, the strip declaration is more conventional, and we can stay on top of keeping it compatible with our own products and the most mainstream Arduino boards. As FastLED is a more bleeding edge third-party library, we can t always guarantee compatibility across versions or with specific boards. You can find help through their community on Google+ (http://adafru.it/ebn). This is potent stuff, written by people with a deep appreciation for LED art, and we wanted to showcase it. Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 21 of 27

Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 22 of 27

Finishing Adding Veil Fabric Add more flutter and reflection to your fans by gluing on some sparkly fabric which will catch the light and emphasize your dance movements. Play with different types of fabric until you find one that catches the light in a way you like. Cut a length of fabric that is slightly wider than your fans and up to a yard long. If you're using heavy fabric you may want to trim this down later, or lightweight traditional silk can be left long for a really dramatic look. Cut the top of the fabric along the round edge of your fan leaving about 1-2 inches of overlap. If Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 23 of 27

your fabric is directional (i.e. one side is sparkly and the other is not), make sure the sparkles are facing DOWN when you're gluing. It seems backwards, but you want the sparkly side facing inwards to catch the light from the edge of the fan. Glue the fabric to the acrylic with E6000 glue. You can also use more Devcon Silicone glue to get it tight close to the edge. E6000 is amazing, but NOTHING sticks to silicone or silicone adhesive, except more of same. Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 24 of 27

If you want, shape the bottom of the veils to something fluttery or swoopy or geometric or silly, or leave them square for a more traditional look. I made mine look a bit like fluttery flames. Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 25 of 27

Add some hot glue underneath the on/off switch to secure it in place, then hot glue the enclosure lid on -- you don't want this flying off while you're performing! You can add or modify code and also charge the battery via the handily accessible USB port. Once the lid is glued down you can't reach the Pro Trinket's reset button, but it'll go into bootloader mode whenever you first plug it in to your computer (as long as the battery switch is turned off). Add a million modes and go crazy! Adafruit Industries https://learn.adafruit.com/dotstar-belly-dance-fans Page 26 of 27