This pendant contains one small Galaxy from Pandora's Cluster.  The gravitational pull of this galaxy is such that you'll feel everyone's eyes pulled toward you whenever you wear it. It's encased in solid resin to keep the stars and planets inside from spinning out of control or escaping. 

It's tough enough to keep its galaxy's inner gravities from tearing a hole in our reality, which makes this pendant safe for hot tubbing, night diving, or teething babies.  It is fully submersible and 100% playa-proof.    

The magical inner workings include an inductive wireless battery charger and a gravity-activated on/off switch -- right side up turns it on, upside down (or lying flat) turns it off.  Yes.  Just like magic. 

Electronic Guts

Crafty Stuff


  • Soldering iron & accessories
  • Hot glue gun
  • 3D Printer (optional)
  • 26 AWG wire

Software Setup

If this is your first time using Trinket, it's a great idea to check out the Introduction to Trinket guide first.

Once you've got your Trinket up and running with Arduino, 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 neopixels 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.

Open up the Arduino library manager:

Search for the FastLED library and install it

We also have a great tutorial on Arduino library installation at:

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 "Adafruit Trinket 16MHZ" from the list of boards.  Plug your Trinket into your computer via the onboard USB port.  Press the "reset" button on your Trinket and wait for the blinky red light, then click the upload button in Arduino.

#include <FastLED.h>

#define NEO_PIN     4
#define NUM_LEDS    9      //set number of LEDs in your strip
#define SPEED       10     //change motion speed here
#define STEPS       10
#define BRIGHTNESS  90     //change brightness here

CRGBPalette16 currentPalette;
TBlendType    currentBlending;

void setup() {
  delay( 1000 ); // power-up safety delay

  FastLED.addLeds<WS2812B, NEO_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  FastLED.setBrightness(  BRIGHTNESS );
  currentBlending = LINEARBLEND;
  currentPalette = OceanColors_p;                   // Un-comment the color scheme you want
  //currentPalette = RainbowColors_p;  
  //currentPalette = HeatColors_p;
  //currentPalette = PartyColors_p;
  //currentPalette = CloudColors_p;
  //currentPalette = RainbowStripeColors_p;
  //currentPalette = ForestColors_p;

void loop() {
  static uint8_t startIndex = 0;
  startIndex = startIndex + 1; /* motion speed */

  FillLEDsFromPaletteColors( startIndex);;
  FastLED.delay(1000 / SPEED);

//this bit is in every palette mode, needs to be in there just once
void FillLEDsFromPaletteColors( uint8_t colorIndex) {
  uint8_t brightness = BRIGHTNESS;
  for( int i = 0; i < NUM_LEDS; i++) {
    leds[i] = ColorFromPalette( currentPalette, colorIndex + sin8(i*16), brightness, currentBlending);
    colorIndex += STEPS;

If you encounter trouble…

Any time you hit a roadblock with a NeoPixel project, we’ll usually ask that you start with the “strandtest” example from our own Adafruit_NeoPixel library. This helps us narrow down whether it’s a hardware or software issue. 

Open up the Arduino library manager:

Search for the Adafruit Neopixel library and install it

You’ll find the strandtest example under File→Sketchbook→Libraries→Adafruit_NeoPixel→strandtest

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_NeoPixel 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+. This is potent stuff, written by people with a deep appreciation for LED art, and we wanted to showcase it.

Necklace Wiring

NOTE: The G pin on the Trinket and on the Backpack Charger both have two wires attached.  Take note and solder them in at the same time.

  • Neopixel 5v to Trinket BAT
  • Neopixel Din to Trinket #4
  • Neopixel G to Trinket G
  • Backpack Chgr BAT to Trinket BAT
  • Backpack Chgr G to Trinket G AND to Induction Coil -
  • Backpack Chgr 5v to Induction Coil +
  • Backpack Chgr switch pins to Mercury Tilt or Vibration Switch (cut the trace before soldering to activate the switch)
  • Backpack Chgr + and - to battery + and - (remove the connectors and solder directly for a smaller form factor)

Charging Base Wiring

  • Coil - to AC Adapter -
  • Coil + to AC Adapter +

Download and 3d print the Inductive Charging Base.  

You can also order one from Shapeways.  

Note: This base holds the induction coil nicely in place, but it isn't necessary for charging.  You can simply place the necklace on top of the bare coil and it will still work.

Cut the barrel off the end of your AC adapter and use your multimeter to determine which end is the + and which is the - wire.

Solder the + wire to the red wire and the - to the black wire on the remaining inductive coil.

Pop the coil up through the 3d printed charging base ring and then onto the cap.

Add a zip tie around the adapter wires for strain relief, and pop the bottom onto the charger.  If needed, glue it all in place.

We are trying to get the whole electronics package as small and compact as possible.  This can mean a lot of fiddling and trimming to get wire lengths exactly right, and assembling and placing the components in a logical order.  Have patience.

Upload the Code

If you haven't done it yet, start by uploading the code to the Trinket.  This will make it easier to test later on to be sure your connections are good.

Prepare the LiPoly Backpack

Carefully clip the JST connector off. Clean up and tin the + and - pads with your soldering iron.


Use a utility knife to cut the trace between the two pads to enable the switch.


Stack the Components

1. Bend the wires around and use a dab of hot glue to secure the green circuit board neatly on one edge of the induction coil.


2. Solder 1 wire into the BAT, #4 and 5v holes.  Twist 2 wires together and solder both into the G hole on the trinket.  Place the trinket on top of the coil and secure it with another dab of hot glue. 

3. Set the battery charger on top of the trinket (don't glue it down yet).  Twist one of the G wire from the trinket and the G wire from the coil together and solder them to the G hole on the battery charger.


4. Attach the power wire from the induction coil into the BAT hole on the charger. 


5. Attach the power wire from the trinket to the 5V hole on the battery charger.

6. Feed the remaining 3 wires underneath the battery charger so they're all on the same side, and trim to about 1".


7. Remove the silicone case from your LED strip and tin the pads.  Solder the 3 wires to their corresponding pads, being sure you're using the "data in" side of the strip.  Secure this with another dab of hot glue.


8. Secure the battery next to the trinket, on top of the coil's green circuit board, with a dab of hot glue.  


Cut the red wire and solder to the + pad on the charger.  Then, cut the black wire and solder to the - pad.  Do NOT shortcut and cut them both at once or you may short your battery with the wire cutters.  These LiPo batteries can pack a wallop, so be very careful not to touch the two wires together!


9. Slide the leads of the mercury tilt switch most of the way through the switch holes, leaving enough room for it to bend down just past flat -- you want it tilted down just a smidge past level, so that the necklace is off (mercury bead is at the top of the tube away from the leads) when the necklace is resting flat on the table. Hold the necklace so the switch is OFF to avoid burning up your components, and solder in place. Trim the leads. Tilt the assembly and the lights should come on.

10. Bend the LEDs into a ring with the lights facing inwards and secure with hot glue.

Test It

Before you go any further, put the necklace through its paces.  Tilt it on and off and make sure you're happy with the action.  If you're not, bend the tilt switch around (gently!) until you are. 

Place it on top of the charging base and be sure the red charging light comes on strongly.   Leave it there a while and be sure it's charging.

This is also a good time to tweak the code and decide on the colors and the brightness.  After the next step you won't be able to access the Trinket anymore so make sure you're 100% satisfied before moving on.

I also added a small piece of electrical tape to cover the lights on the charger and the Trinket, so they won't shine through the center of my necklace.

Here's the step that makes this necklace indestructable. 

Be VERY SURE that everything is working and that you're happy with the brightness and colors you've selected, since once you've cast the resin you will not be able to change the code!

If you've never worked with casting resin before, it's a good idea to do a test run before immersing all your electronics.  Resin can be fiddly -- be sure to follow the directions EXACTLY and mix very well, or you may end up with a bowl of sticky goo and have to start over with all new components. 

The 2" jewelry molds work great to give a perfectly smooth finish on the front of your necklace, but they're not quite deep enough for this project.  Use a little bit of mold-making putty or sugru to build up the edges of one of the molds about 1/2" or so.  Be sure your extra walls are stuck down to the mold very well, so the resin doesn't leak out through the gap. 

Once the mold is ready, place your glass bits or diffusion materials in the bottom.  They shouldn't take up more than about 1/4".  


You want something that's opaque enough to hide your electronics, while being translucent enough to let the light through. I used opaque mosaic glass tiles that I crushed into little bits with a hammer.

Set your electronics inside the mold with the induction coil at the top and the LEDs lining the edges.  Be sure the induction coil is as level as possible, and that it is the highest point inside the mold.  Peek from underneath to be sure your LEDs aren't showing from the front.


Put on your protective gloves.  Following the manufacturer's directions, mix up the resin really well* and slowly pour it into the mold.  Try not to cringe as it coats your electronics in goo.   


*when they say mix for two full minutes, they mean Mix For Two Full Minutes. 

Be sure the resin fully covers the inductive coil -- but just barely, you want it right near the surface. 

Let the resin cure overnight and then pop it out of the mold.  Hold up your pendant and rotate it slowly until you see the lights appear.


Pop your cabochon out and admire it.

Print out the pieces of the jewelry setting and charging base.  I had the best luck printing the pieces one at a time.

This file fits a cabochon that's 22mm tall.  You may need to edit the files to make the setting taller or shorter to fit your necklace.  You can edit them on Tinkercad here.

Or, if you don't have a 3d printer you can order the setting from Shapeways here.

Place the pendant inside the back ring and place the front ring on top.  Be sure it fits snugly, but can be twisted left and right so the tilt switch can be activated and the necklace turned on and off while it's being worn.

Glue the front ring to the back ring, being careful not to get any glue on the resin pendant (or it won't turn in the setting).

Add a necklace chain and clasp to finish it off. 

This guide was first published on Jul 22, 2015. It was last updated on Mar 08, 2024.