Project showcase

Zelda Princess Hilda LED Staff powered by Arduino © GPL3+

Arduino Gemma and Neopixel LEDs to give some life to my 3D Printed Princess Hilda Staff: Zelda Link Between Worlds.

  • 1,966 views
  • 0 comments
  • 11 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

Overview

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!

3D Printing

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

I'm not an expert, but I'm not afraid to be a beginner! Questions? Just ask!

Schematics

Princess Hilda Staff
Princess Hilda Staff Neopixel Ring (Lower part)
Dtrggexnahukakmmbhz2
Princess Hilda Staff Schematic
Princess Hilda Staff Schematic (lower part of staff)
Hvgb2rhjhqyxragonj5w
Princess Hilda Staff Triforce
Princess Hilda Staff Triforce LED Neopixels and Gemma
Ffhr6ldykjhmgigwrems
Princess Hilda Staff Triforce Schematic
Princess Hilda Staff Triforce LED Neopixels and Gemma
Ph08xihdfwzlsgjfmjrd

Code

Zelda Link Between Worlds: Princess Hilda Staff LEDsArduino
RING LED (Lower Par of Staff) Princess Hilda LEDs for Neopixel Ring powered by Arduino Gemma
// 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>
#endif

//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).

  }
}
Princess Hilda Staff Triforce Arduino
Princess Hilda Staff Triforce Neopixel sticks
// Amie DD www.amiedd.com
// Princess Hilda Staff LED Triforce
// 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>
#endif

//PIN 1 on Arduino Gemma
#define PIN            1

// 2 Neopixel LED Sticks (8 each)
#define NUMPIXELS      16

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).

  }
}

Comments

Similar projects you might like

Distance Measurement Vehicle via Websocket

Project tutorial by Matthew Lee

  • 2,495 views
  • 1 comment
  • 20 respects

Barbot: Cocktail Mixing Robot

Project tutorial by sidlauskas

  • 3,868 views
  • 2 comments
  • 28 respects

RING PONG

Project showcase by aerodynamics

  • 1,214 views
  • 0 comments
  • 6 respects

An Urban Plant Watering Solution

Project tutorial by James Yu

  • 3,787 views
  • 6 comments
  • 16 respects

Terminal Chat Client!

Project tutorial by Adam Cellon

  • 1,304 views
  • 3 comments
  • 9 respects
Add projectSign up / Login