NeoPixel Sword

In this project we’re making a 3D Printed Energy Sword from the Halo video game series. Inside the blades are NeoPixel LEDs which are connected to an Adafruit Feather BLE 32u4 micro-controller.

A 2000mAh lipo battery will provide several hours of energy and can be recharged over USB. The blade is 86cm (34in) tall and the whole sword weighs just under 1 pound.

You can connect to the Adafruit Feather through Bluetooth. The Adafruit Bluefruit LE Connect app for iOS or Android lets you change the animation or color of the LEDs.

3D Printing & Cosplay

This project combines 3D printing and electronics to make a cosplay prop that's massive, yet lightweight and really bright. The sword is cut up into several pieces that are optmized for 3D printing. The handle and blades are thin and shelled to minimize the amount of material. The circuit is mounted to the inside of the handle, while the LED strips are nestled inside the dual blades. The USB port from the micro-controller is accessible for repogramming and recharging the battery, so you don't have to open it up.   

Tools and Supplies


Follow the two circuit diagrams below and reference the connections for wiring the circuit.

Adafruit Feather 32u4 Bluefruit LE circuit

The NeoPixel strips are cut to fit the length of each blade.

The strips share Data, Power and Ground connections via a Y-cable.

The NeoPixel's data input will connect to Pin #6.

5V power from the NeoPixel strip will connect to the BAT pin.

The ground pin from the NeoPixel strip will connect to the ground pin.

A slide switch will splice in between the positive red wire of a JST extension cable. The female connector plugs into the male connector of the lipo battery while the male connector plugs into the JST connector of the Adafruit Feather 32u4 Bluefruit LE.

Lithium Battery Charger

Use an Adafruit LiPoly charger to recharge the 2000mAh battery. Disconnect the battery from the Feather and connect it to the Adafruit LiPoly charger. Use a 5V 1A USB power supply to charge the Adafruit LiPoly charger.


3D Printed Pieces

The Energy Sword is split into twenty main pieces. The top and bottom end of the handle parts, the front and back of the main handle and the eight pieces of the blades. 

The blades are split into four main pieces for the front and back. Each side of the blades are different and snap fit together. The parts will need to be glued together using adhesives.

The top and bottom handle pieces feature pockets that allow wooden craft sticks to be inserted into them - This aligns the parts together and holds them in place while the glue sets.

Gluing blade parts

The blade pieces are glued together with super glue and then reinforced with E6000.

Start by sanding the edges of the blades to ensure they line up flat together. Apply super glue to the one of the edges and then hold both pieces until they hold together. After both side are dry, glue the next part of the blade together until all of the pieces are attached. 

Once all of the blades are held together with super glue, apply a generously amount of the E6000 to the inside of blade, were each blade piece meets. 

Don't apply E6000 to the walls of the blades, this could prevent the two sides of the blades from snap fitting together.

Allow the E6000 to dry before proceeding.

Filament Materials

We recommend using PLA material to reduce wraping while 3D printing. The parts can be printed in different types of filament, such as ABS, PET or Nylon.

Slicer Settings

To slice the parts, we used Simplify3D. We recommend using the settings below or use them as reference. We 3D printed these parts on a Type A Machines Series 1 3D printer. If you have Simplify3D, you can download our profiles below.













230c extruder
50mm/s print speed
120mm/s travel speed

front and back handles require supports for the standoffs

print the handles at a higher resolution for smoother parts (.15 layer height)

No supports for the blades

handle ends take about an hour to print

front and back handle take about 4 hours to print

blades take an hour to print using a .8mm nozzle



The pocket areas of the parts may have tight tolerances. Test the tolerances by inserting a wood craft stick into each pocket. If sticks will not fit into the pockets, you may need to use a craft knife or filing tool to open up the area.

Customize The Design

The parts where designed in Autodesk Fusion 360. The design has been made public, and available to download in different formats. If you'd like to use a different CAD software package, you are free to import the files and remix them.

Arduino Libraries

To use the Daftpunk BLE sketch you'll want to make sure you're using the latest version of the Arduino IDE (1.6.5 at the time of this writing).

If you're totally new to Arduino take a little time to go through some introductory tutorials like how to make a LED blink.  This will help you understand how to use the IDE, load a sketch, and upload code.

Next you'll need to make sure the libraries used by the sketch are installed.  With the latest Arduino IDE you can use its library manager to easily install libraries, or check out this guide on how to manually install a library.  You'll want to install the following libraries:

  • Adafruit BluefruitLE nRF51
  • Adafruit NeoPixel

Search for the libraries in the library manager and they should be easy to find and install.

Adafruit AVR Boards

Next, you'll need to install the Adafruit AVR boards package from the Boards Manager. Open the Boards Manager and search for Adafruit AVR. This includes all of the boards from Adafruit and will make Arduino compatabile with them. The Daftpunk BLE sketch was tested with version 1.4.0.

Uploading Sketch to Adafruit Feather BLE

This sketch will run the Bluetooth controlled LED program to the NeoPixel strips that are mounted to the front of the visor.

To load the sketch make sure the libraries above are installed, and the Arduino is connected to the computer through a USB cable.  Under the Tools -> Board menu make sure the Adafruit Feather 32u4 is selected, and under the Tools -> Port menu the serial port for the Adafruit Feather is selected.  

Then press the upload button or click the Sketch -> Upload item to send the code to the Arduino.  Woo-hoo the sketch should be running.

Connect Adafruit BLE Mobile App to Adafruit Feather BLE

Download the Adafruit BLE Connect app for iOS or Android. Under the peripherals list, tap the connect button on the Adafruit Bluefruit LE item. Make sure the Feather board is powered on. Select "Controller" and choose either Control Pad or the Color Picker.

Control Pad

Buttons 1-4 will trigger an animation.

  1. larsonScanner
  2. color wipe
  3. rainbow gradient
  4. rainbow cycle

Color Picker

Here you can change the brightness or RGB value of the leds. 

Upload and Test Circuit

Once the code is uploaded to the micro-controllers, its a good idea to protoptype the circuit using the diagram in the previous page. Test the NeoPixel Strip to ensure the components are functional. Try out the Adafruit Feather 32u4 Bluefruit LE and run the Adafruit Bluefruit LE Connect iOS/Android app. Play with the controls and use the color picker to change the colors of the NeoPixels.

Neopixel strip Layout

Lay the Neopixel strip inside of the blade with the LEDs facing towards the center (faceing the cutout of the blade).

Measure NeoPixel strip length

A 1 meter long strip should have three NeoPixel left over once you layout the strip inside the blade. Use flush cutters or scissors to cut off the extra NeoPixles.



Remove silicone cover

To properly fit the strips inside the blade, we'll need to remove the silicone cover by cutting off one of the Neopixels along the copper pads.

Tin NeoPixel strip

We'll hold the NeoPixel strip in place using a third helping hand and then tin each pad to prepare it for soldering jumper wires.



Female jumper wires

Cut and strip short female jumper wires in half, one for each side blade, and solder to the pads on the NeoPixel strips.

Mount LED strips

Use adhesives or gaffers tape to secure the strips inside the blade. Make sure the LEDs are face towards to cutout on the blade.

Craft sticks

Measure and cut four craft sticks for each handle end part. If the tolerances are too loose, use a small amount of mounting tac inside the slots.

Measure strip wires

Place the Feather board on the standoffs inside the handle so we can gauge the length from the end of the NeoPixel strip to each pin on the feather board. 


The strips will share pins for data, ground and power. We can share these connections with a small y-cable that will split each connection to share.

Solder y-cables

Use two third helping hands to hold the wires like shown above and apply solder to the center of the wires to create our y-cable. 

Heat shrink tubing

Measure and cut a piece of heat shrink tubing to insulate each y-cable.

Heat shrink tubing

Use a lighter or Hot Air to insulate each y-cable. 

Tin y-cables

Prepare each y-cable by tinning all of the ends.

Solder y-cables to feather board

Tin the ground, bat and pin #6 on the feather board according to the circuit diagram. Solder the y-cables to each pin. 

Wire management

Neatly arrange the wires and hold them in place with a piece of gaffers tape like shown in the picture above.

Male jumper cables

Connecting the wires from the feather board to the strips inside the blade is made easier by using male and female jumper cables.

Tin and solder jumper cables

Use a third helping hand to hold the ends of the y-cables and jumpers while solder them together. 

Jumper heat shrink

Measure a cut heat shrink pieces for each jumper.

Mount feather boarad

Use #4-40 screws to mount the feather board to the stand offs inside the handle.

It's easier to screw the board into the standoffs if you pre tap the feather board mounting holes with the screws first, before mounting the board to the standoffs. 

Mount battery

Add a small piece of gaffers tape to the top portion of the 2000mAh lipo battery  as a strain relief to the power cables.

Slide the lipo battery underneath feather board's standoffs. There should be enough room to securely hold the battery in place.

On / Off slide switch

To power the the feather board on and off, we'll build one using a slide switch with a JST extension cable.

Solder JST cables

Shorten the pins on the slide switch with flush cutters. Add heat shrink tubing before soldering each cable to the slide switch.

Mount slide switch

Add the slide switch inside the handle and arrange the wires so they can connect to the battery.

Close the handle

Carefully arrange the wires so they are in the wire slots. Snap fit the front part of the handle to the back handle part.

Make sure the wires can easily slide in and out of handle.

Handle ends

String the wires through the handle ends as you fit both parts to the main handle part.

Make sure the wires can easily slide back into the handle. 

Connect blade to handle

Connect the female jumper wires from strips to the male jumper wire on the feather boaard. Carefully push the wires back into the handle as you insert the wooden sticks into the blade. The blade should fit into the groove on the handle ends.  

Seal blades

You can use hot glue or E6000 to seal the halves of the blade together. Apply glue to the side of the blades and then hold together unit they bond.

Power Up

Allow any adhesives to cure before fliping on the switch and flight off the Covenant!

This guide was first published on Jan 27, 2016. It was last updated on May 01, 2024.