# DotStar Belly Dance Fans

## Overview

https://www.youtube.com/watch?v=DKRdHiowOcU

DotStars are super fast clocking pixels that achieve a persistence-of-vision look with moving LED patterns. &nbsp;This project uses DotStars and the FastLED code library to create&nbsp;stardust magic.

Swing your dance fans&nbsp;slowly to mesmerise your audience with the sparkly, pretty lights. Swing them fast, and magical patterns and pictures appear. &nbsp;Look closely and you may see the spiders from Mars or the cats from Japan. &nbsp;

Three&nbsp;modes are included in the code, and you can easily add your own or modify the existing ones.

Let all the children boogie.&nbsp;

# Materials For Building&nbsp;Two Fans
### Part: Pro Trinket 5v
quantity: 2
Pro Trinket 5v
[Pro Trinket 5v](https://www.adafruit.com/product/2000)

### Part: LiPoly Backpack Charger
quantity: 2
Pro Trinket LiPoly Backpack Add-on
[LiPoly Backpack Charger](https://www.adafruit.com/product/2124)

### Part: DotStar LEDs
quantity: 2
1 m DotStar 60 Per Meter LEDs
[DotStar LEDs](https://www.adafruit.com/products/2240)

### Part: On/Off Switch
quantity: 2
Tactile On/Off Switch with Leads
[On/Off Switch](https://www.adafruit.com/products/1092)

### Part: Mode Switch Button
quantity: 2
6mm Tactile Momentary Switch
[Mode Switch Button](https://www.adafruit.com/products/367)

### Part: Battery
quantity: 2
500 mAh LiPoly Battery
[Battery](https://www.adafruit.com/products/1578)

 **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://www.amazon.com/Devcon-12045-Premium-Silicone-Adhesive/dp/B001005TX2/ref=sr_1_1?ie=UTF8&qid=1421952800&sr=8-1&keywords=devcon+silicone+adhesive)
- [E6000 glue](http://www.amazon.com/E-6000-237032-E6000%C2%AE-Craft-Adhesive/dp/B004BPHQWU/ref=sr_1_1?ie=UTF8&qid=1421952833&sr=8-1&keywords=e6000&pebp=1421952836453&peasin=B004BPHQWU)

**Tools & Misc**

- Soldering iron &&nbsp;solder
- Heat shrink tubing
- Hot glue gun
- 26awg wire in assorted colors
- 3D printer (optional)
- Band saw or multi tool with a cutting attachment

# DotStar Belly Dance Fans

## Building the Fans

![](https://cdn-learn.adafruit.com/assets/assets/000/022/624/medium800/leds_fans_layout.jpg?1421870497)

### 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&nbsp;pattern on the acrylic sheet. &nbsp;With a band saw or a multi tool&nbsp;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.&nbsp;_Don’t_ use a drill for the finger cutout unless you have a special acrylic-cutting bit. After cutting the shapes,&nbsp;play with the fans&nbsp;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.

![](https://cdn-learn.adafruit.com/assets/assets/000/022/625/medium800/leds_IMG_3065.jpg?1421870622)

### Electronics Enclosure

The enclosure isn't necessary, but it will protect your battery and Pro Trinket&nbsp;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&nbsp;from Thingiverse:

![leds_IMG_3106.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/626/medium640/leds_IMG_3106.jpg?1421870943)

[Download led_fans_enclosure.stl](http://www.thingiverse.com/thing:646282)
Print in PLA or ABS. &nbsp;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](https://www.shapeways.com/product/Y4SK673JF/dotstar-led-dance-fans-enclosure), or you can simply glue the Pro Trinket and battery directly to the acrylic fan. &nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/022/627/medium800/leds_IMG_3114.jpg?1421872933)

### Attaching&nbsp;the LEDs

Align the Dotstar strip around the outer edge of the fans, and carefully cut through the strip at the right length. &nbsp;Count how many LEDs you have -- mine have 38. &nbsp;

Find the "in" end of the Dotstar strip and solder about 6&nbsp;inches of wire to each pad. &nbsp;It's a good idea to use a different color of wire for each pad. &nbsp;That will make it much easier to keep them straight when you solder the&nbsp;lights to the Pro Trinket.

Test the strand by hooking up the wires to your Pro Trinket with alligator clips and running the Dotstar&nbsp;strandtest example&nbsp;— this is explained at the bottom of "The Code" page of this guide. &nbsp;Be sure your strip is working and all the LEDs are in good shape before attaching it permanently to your fans.

![](https://cdn-learn.adafruit.com/assets/assets/000/022/628/medium800/leds_IMG_3115.jpg?1421872977)

Set the acrylic fan on top of some supports so its edge is hovering about 1/4" from the table. &nbsp;(The leftover acrylic you just cut off works great as a support). &nbsp;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. &nbsp;With a gloved fingertip or tool, smooth the glue into the corner so that it contacts both surfaces as much as possible. &nbsp;

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. &nbsp;

### Adding the Enclosure

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. &nbsp;Hot glue works great for this. &nbsp;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&nbsp;way while holding the fan.

![leds_IMG_3118.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/630/medium640/leds_IMG_3118.jpg?1421875657)

# DotStar Belly Dance Fans

## Wiring

![](https://cdn-learn.adafruit.com/assets/assets/000/022/654/medium800/leds_fan-wiring.jpg?1422045489)

 **Battery Backpack Connection**

- Pro Trinket BAT --\> Battery Backpack BAT
- Pro Trinket G --\> Battery Backpack G
- Pro Trinket BUS&nbsp;--\> 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. &nbsp;Be sure you've got the connections right!

**Mode Switch**

- Pro Trinket 5 --\> Momentary Switch
- Pro Trinket GND --\> Momentary Switch

# DotStar Belly Dance Fans

## Electronics Assembly

### Battery Charger

Solder three header pins into the charging backpack.&nbsp;

Take a utility knife and break&nbsp;the trace between the two&nbsp;connected&nbsp;pins next to the header. &nbsp;This will enable you&nbsp;to add an on/off switch to the fans. &nbsp;

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. &nbsp;Solder one wire to each of the switch pins on the charger board so the switch sticks out at about 90 degrees.&nbsp;

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. &nbsp;You should see some blinky lights come on. &nbsp;It's ALIVE! &nbsp;Muahahahah...

![leds_IMG_2751.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/631/medium640/leds_IMG_2751.jpg?1421876099)

![leds_IMG_2754.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/632/medium640/leds_IMG_2754.jpg?1421876124)

![leds_IMG_3119.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/633/medium640/leds_IMG_3119.jpg?1421877354)

![leds_IMG_3123.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/634/medium640/leds_IMG_3123.jpg?1421877384)

### LEDs&nbsp;& 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. &nbsp;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. &nbsp;Solder them in place.

![leds_IMG_3127.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/635/medium640/leds_IMG_3127.jpg?1421956913)

![leds_IMG_3126.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/641/medium640/leds_IMG_3126.jpg?1421958007)

Solder a 6" wire to pin 5 and to the GND pin on the Pro Trinket. &nbsp;These wires will go to your mode switch.

Cut off both legs on one side of your momentary switch. &nbsp;Carefully bend the other two legs out so your switch can sit flat on the table.

Place the Pro Trinket back&nbsp;in your 3D printed enclosure and feed the switch wires out through the slot on the battery side. &nbsp;Trim them to a comfortable length for reaching the switch&nbsp;with your thumb while holding the fan by the handle. &nbsp;

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.&nbsp;

Place the switch along the narrow edge of the plastic where it's comfortable to reach with your thumb while holding the fans. &nbsp;Hot glue it in place. &nbsp;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. &nbsp;  
  
We will glue all this in place later, but for now, let's upload some code and make sure it works!

![leds_IMG_3128.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/642/medium640/leds_IMG_3128.jpg?1421958132)

![leds_IMG_3132.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/643/medium640/leds_IMG_3132.jpg?1421958158)

![leds_IMG_3131.jpg](https://cdn-learn.adafruit.com/assets/assets/000/022/644/medium640/leds_IMG_3131.jpg?1421958188)

# DotStar Belly Dance Fans

## The Code

### Software Setup

If this is your first time using Pro Trinket, take a look at [Introducting Pro Trinket](../../../../introducing-pro-trinket/overview)&nbsp;to get a guided tour. &nbsp;&nbsp;

### FastLED Library

You will also need to install the **FastLED** library in Arduino (`Sketch > Include Library > Manage Libraries...`)

Libraries? Why? What's a Library?

In a nutshell, Arduino libraries&nbsp;have&nbsp;a lot of pre-written functions that make your DotStar LEDs&nbsp;easy to command. &nbsp;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. &nbsp;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.

[All about Arduino Libraries](../../../../adafruit-all-about-arduino-libraries-install-use/arduino-libraries)&nbsp;will&nbsp;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"&nbsp;from the list of boards. &nbsp;Plug your&nbsp;Pro Trinket&nbsp;into your computer via the onboard USB port. &nbsp;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 &lt;FastLED.h&gt;

//---LED SETUP STUFF
#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&gt;b)?wavebright:0)                   // Digital unsigned subtraction macro. if result &lt;0, then =&gt; 0. Otherwise, take on fixed value.
#define qsuba(x, b)  ((x&gt;b)?x-b:0)                          // Analog Unsigned subtraction macro. if result &lt;0, then =&gt; 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 screen.
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 the same
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 = longer wave.
int loopdelay = 4;                                           // You can change the delay. Also you can change the allspeed variable above. 
uint8_t bgclr = 0;                                            // A rotating background colour.
uint8_t bgbright = 55;                                        // Background color brightness

//RIPPLE VARIABLES

uint8_t colour;                                               // Ripple colour is randomized.
int center = 0;                                               // Center of the current ripple.
int step = -1;                                                // -1 is the initializing step.
uint8_t myfade = 255;                                         // Starting brightness.
#define maxsteps 16                                           // Case statement wouldn't allow a variable.



//------------------SETUP------------------
void setup()  
{
  delay( 2000 ); // power-up safety delay
  pinMode(BUTTON_PIN, INPUT_PULLUP);

  FastLED.addLeds&lt;DOTSTAR, LED_PIN, CLOCK_PIN, COLOR_ORDER&gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  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) &amp;&amp; (currKeyState == HIGH)) {
            keyRelease();
        }
        
        prevKeyState = currKeyState;
    }
       


// SOLID COLOR -------------------------------------
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 individually.
    thishue = thishue + thisrot;                                                // Hue rotation is fun for thiswave.
  for (int k=0; k&lt;NUM_LEDS; k++) {
    int thisbright = qsubd(cubicwave8((k*allfreq)+thisphase), thiscutoff);      // qsub sets a minimum value called thiscutoff. If &lt; thiscutoff, then bright = 0. Otherwise, bright = 128 (as defined in qsub)..
    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 &lt; NUM_LEDS; i++) {
    leds[i] = ColorFromPalette( currentPalette, colorIndex, BRIGHTNESS, currentBlending);
    colorIndex += STEPS;
  }
}

//RIPPLE --------------------------------------------------------------------------------
void ripple() {
  HUE = 140;HUE++; 
    if (HUE &gt; 220) {HUE = 140;}   // constrain BG hue to blues and purples
  for (int i = 0; i &lt; NUM_LEDS; i++) leds[i] = CHSV(HUE++, 255, 50);  // Rotate background colour.

  switch (step) {

    case -1:                                                          // Initialize ripple variables.
      center = random(NUM_LEDS);
      colour = random16(0,256);
      step = 0;
      break;

    case 0:
      leds[center] = CHSV(colour, 255, 255);                          // Display the first pixel of the ripple.
      step ++;
      break;

    case maxsteps:                                                    // At the end of the ripples.
      step = -1;
      break;

    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 side.
        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 &lt; 0) return NUM_LEDS + step;
  if(step &gt; NUM_LEDS - 1) return step - NUM_LEDS;
  return step;
} // wrap()



//BUTTON CONTROL STUFF
// called when button is pressed
void shortKeyPress() {
    Serial.println("short");
    ledMode++;
    if (ledMode &gt; 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&nbsp;hit a roadblock&nbsp;with a DotStar&nbsp;project, we’ll usually ask that you start with the “strandtest” example from our own Adafruit\_DotStar&nbsp;library. This helps us narrow down whether it’s a hardware or software issue. The library is installed similarly to FastLED or any other in Arduino (`Sketch > Include Library > Manage Libraries...`)

You’ll find the strandtest example under **File→Sketchbook→Libraries→Adafruit\_DotStar→strandtest**

 **If strandtest fails to run, this suggests a hardware issue** …for example, connecting to the wrong Trinket&nbsp;pin.

If you’re new to Arduino programming and LEDs, we usually suggest starting with the Adafruit\_DotStar&nbsp;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+](https://plus.google.com/communities/109127054924227823508)**. This is potent stuff, written by people with a deep appreciation for LED art, and we wanted to showcase it.

# DotStar Belly Dance Fans

## Finishing

![](https://cdn-learn.adafruit.com/assets/assets/000/022/647/medium800/leds_skitched-20150122-142034.jpg?1421965576)

### Adding Veil Fabric

Add more flutter and reflection to your fans by gluing on&nbsp;some&nbsp;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&nbsp;of fabric that is slightly wider than your fans and up to a yard long. &nbsp;If you're using heavy fabric you may&nbsp;want to trim this down later, or lightweight traditional silk can be left long for a really dramatic look. &nbsp;

Cut the top of the fabric along the round edge&nbsp;of your fan leaving about 1-2 inches&nbsp;of overlap. &nbsp;If 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. &nbsp;It seems backwards, but you want the sparkly side facing inwards to catch the light from the edge of the fan. &nbsp;

Glue&nbsp;the fabric to the acrylic&nbsp;with E6000 glue. &nbsp;You can also use more Devcon Silicone glue to get it tight close to the edge. &nbsp;E6000 is amazing, but NOTHING sticks to silicone or silicone adhesive, except more of same.

![](https://cdn-learn.adafruit.com/assets/assets/000/022/646/medium800/leds_skitched-20150122-142123.jpg?1421965559)

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. &nbsp;I made mine look a bit like fluttery flames.

![](https://cdn-learn.adafruit.com/assets/assets/000/022/648/medium800/leds_IMG_3145.jpg?1421965860)

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. &nbsp;Once the lid is glued down&nbsp;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). &nbsp;

Add a million modes and go crazy! &nbsp;

https://www.youtube.com/watch?v=zvvkR9TfcIY&amp;feature=youtu.be


## Featured Products

### Adafruit DotStar Digital LED Strip - White 60 LED - Per Meter 4m

[Adafruit DotStar Digital LED Strip - White 60 LED - Per Meter 4m](https://www.adafruit.com/product/2240)
Move over NeoPixels, there's a new LED strip in town! These fancy new DotStar LED strips are a great upgrade for people who have loved and used NeoPixel strips for a few years but want something even better. DotStar LEDs use generic 2-wire SPI, so you can push data much faster than with...

In Stock
[Buy Now](https://www.adafruit.com/product/2240)
[Related Guides to the Product](https://learn.adafruit.com/products/2240/guides)
### Tactile On/Off Switch with Leads

[Tactile On/Off Switch with Leads](https://www.adafruit.com/product/1092)
Squeeze once to turn on, squeeze again to turn off! This clicky switch makes a great power switch or mode toggler. We like this switch because it's easy to embed in a seam for easily powering up/off wearable and fabric projects. Can handle up to 14V and 2 Amps! This is a really satisfying...

In Stock
[Buy Now](https://www.adafruit.com/product/1092)
[Related Guides to the Product](https://learn.adafruit.com/products/1092/guides)
### Lithium Ion Polymer Battery - 3.7v 500mAh

[Lithium Ion Polymer Battery - 3.7v 500mAh](https://www.adafruit.com/product/1578)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of 500mAh for a total of about 1.9 Wh. If you need a larger (or smaller!) battery, <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/1578)
[Related Guides to the Product](https://learn.adafruit.com/products/1578/guides)
### Adafruit Pro Trinket - 5V 16MHz

[Adafruit Pro Trinket - 5V 16MHz](https://www.adafruit.com/product/2000)
 **Deprecation Warning: The Pro Trinket bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Pro Trinket so that people can maintain some older projets, we no longer recommend it.** Please...

In Stock
[Buy Now](https://www.adafruit.com/product/2000)
[Related Guides to the Product](https://learn.adafruit.com/products/2000/guides)
### Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy

[Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy](https://www.adafruit.com/product/2124)
If you have an ItsyBitsy or Pro Trinket you probably know it's the perfect little size for a portable project. This LiPoly backpack makes it really easy to do! Instead of wiring 2 or 3 boards together to make a charging system, this little PCB sits on top of the PCB and allows a...

In Stock
[Buy Now](https://www.adafruit.com/product/2124)
[Related Guides to the Product](https://learn.adafruit.com/products/2124/guides)
### Tactile Button switch (6mm) x 20 pack

[Tactile Button switch (6mm) x 20 pack](https://www.adafruit.com/product/367)
Little clicky switches are standard input "buttons" on electronic projects. These work best in a PCB but [can be used on a solderless breadboard as shown in this tutorial](https://learn.adafruit.com/adafruit-arduino-lesson-6-digital-inputs?view=all). The pins are normally...

In Stock
[Buy Now](https://www.adafruit.com/product/367)
[Related Guides to the Product](https://learn.adafruit.com/products/367/guides)

## Related Guides

- [Wireless Game Show Poppers for the Classroom!](https://learn.adafruit.com/wireless-game-show-poppers.md)
- [ReBoots Animated LED Boot Laces](https://learn.adafruit.com/re-boots-animated-dancing-boot-laces.md)
- [Ray Gun Blaster](https://learn.adafruit.com/ray-gun-blaster.md)
- [DIY Pocket LED Gamer - Tiny Tetris!](https://learn.adafruit.com/diy-3d-printed-handheld-pocket-game-tiny-tetris-snake.md)
- [Adafruit Pro Trinket LiPoly/LiIon Backpack](https://learn.adafruit.com/adafruit-pro-trinket-lipoly-slash-liion-backpack.md)
- [Adafriend the Virtual Pet Cube](https://learn.adafruit.com/adafriend.md)
- [Rezz-Inspired NeoPixel Glasses](https://learn.adafruit.com/rezz-inspired-neopixel-glasses.md)
- [Adding Third Party Boards to the Arduino v1.6.4+ IDE](https://learn.adafruit.com/add-boards-arduino-v164.md)
- [Pro Trinket Keyboard](https://learn.adafruit.com/pro-trinket-keyboard.md)
- [Glowing Viking Rune wayFinder](https://learn.adafruit.com/glowing-viking-rune-artifact.md)
- [Adafruit Arduino IDE Setup](https://learn.adafruit.com/adafruit-arduino-ide-setup.md)
- [Neopixel Cosmic Turtle Necklace](https://learn.adafruit.com/neopixel-led-magnetic-pendant-necklace.md)
- [LED Campfire](https://learn.adafruit.com/led-campfire.md)
- [Watchmen's Sister Night NeoPixel Goggles](https://learn.adafruit.com/watchmen-sister-night-circuitpython-neopixel-goggles.md)
- [Gemma-Powered NeoPixel LED Sound Reactive Drums](https://learn.adafruit.com/gemma-powered-neopixel-led-sound-reactive-drums.md)
