Zelda Princess Hilda LED Staff Powered by Arduino



I had my birthday party at the National Video Game Museum and everyone dressed up as their favorite video game character! I designed and 3D printed the parts, soldered some NeoPixels to a Arduino Gemma, wrote some quick code for the Neopixels using the Arduino IDE - and magic! Princess Hilda's staff from The Legend of Zelda: Link Between Worlds had some extra glow. Neopixels make everything better!

Hardware Decisions

I decided to use an Arduino Gemma and Neopixel Ring for the lower part of the staff, and 2 Neopixel sticks and Gemma for the Triforce (top part of the staff). Both are small and great for wearables and cosplay props. I'm big on up-cycling of my electronics; I will scavenge parts from old projects and make something new!

Arduino Gemma Microcontroller

3D Printing

I modeled the parts in Fusion360 and 3D Printed the staff pieces using a translucent filament. I had an acrylic rod running through the middle of the staff, which made the Neopixel ring perfect for the job.

Wire Schematics

Princess Hilda Wiring

Wiring and Schematics

Download Template

3D Printer Settings


// Amie DD www.amiedd.com
// Princess Hilda Staff LED Ring 12
// 12/1/2016
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson

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

//PIN 1 on Arduino Gemma
#define PIN            1

// 12 Ring Neopixel LED
#define NUMPIXELS      12

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

int delayval = 500; // delay for half a second

void setup() {

 pixels.begin(); // This initializes the NeoPixel library.

void loop() {

 // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.

 for(int i=0;i<NUMPIXELS;i++){

   // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
   pixels.setPixelColor(i, pixels.Color(0, 220, 0)); // Princess Hilda Green Glow for Staff and Triforce

   pixels.show(); //

   delay(delayval); // Delay for a period of time (in milliseconds).


AmieDD Software
AmieDD Software
AmieDD Character
Princess Hilda
AmieDD Cosplay Fandom

More Tutorials

I make everything with love and a few curse words.