Introduction: HALO Energy Sword

About: Hello world;

Hey guys, welcome back.

So here's something deadly and really cool: the Energy Sword, also known as the Plasma Sword, was created totally from scratch using 3D-printed parts and unique PCBs.

It is constructed from transparent PLA and has a cluster of ten WS2812 LEDs in each blade. These WS2812 LEDs are mounted to a special PCB that links the Din and Dout of each pixel.

The Energy Sword, commonly known as the Plasma Sword, is a well-liked weapon in the Halo video game franchise. It is a close-range weapon that excels in close-quarters fighting.

In the game, the plasma sword consists of a handle and a curved, glowing blade made of plasma energy. When used in combat, the sword emits a distinct humming sound and leaves a trail of sparks behind it.

In addition to its effectiveness in combat, the plasma sword is also iconic for its distinctive appearance and sound effects. It has become one of the most recognizable and popular weapons in the Halo franchise.

This sword was modeled to serve one main purpose: to increase the aesthetics of my maker space.

Halo is a popular video game franchise created by Bungie Studios and currently developed by 343 Industries. The series consists of first-person shooter games, and centers around an interstellar war between humanity and a group of alien races known as the Covenant. The protagonist of the series is Master Chief, a super-soldier who battles the Covenant and other enemies to protect humanity.

Aside from the nerdy things, the entire construction procedure is rather straightforward and is properly detailed in a few basic steps.

Let's get started.

Supplies

These were the materials used in this built-

  • Custom PCBs
  • WS2812B LEDs
  • Attiny85
  • IP5306 IC
  • 1uF Capacitor
  • 10uH SMD inductor
  • 1K Resistor
  • tactile switches
  • Arduino Nano
  • Silver copper wire (Jumpers)
  • 3D Printed parts
  • Most important thing, Patience

Step 1: 3D DESIGN

The 3D model of this sword was created entirely in Fusion 360 using the canvas function. We imported an image of the plasma sword (one face) and scaled it.

Here's how I calibrated the image: I chose two points in the handle portion and set them to approximately 100mm, which is the length required for us to hold anything with our hands.

The handle is now 100mm long, and the image size has increased, allowing us to create a sketch by tracing its edges and shape in order to extrude two blades and one handle using the actual energy sword image.

The outer edges of both blades are then chamfered in both directions, giving the extruded blade a nice angular shape.

All parts, including the blade and handle, are then hollowed out with shell function, and a lid for all three parts is made on the top side.

To print all parts on my small ENDER 3 printer, the model was cut into three more parts, each blade divided into three smaller parts, which will be glued together to form a single blade.

The handle will be connected to both blades via two M3 nuts and bolts on each side.

In terms of electronics, my plan is to use custom led boards that will be placed in both blades, and these LEDs will be controlled by an Attiny85 board that will be powered by a power module board that will use one lithium cell placed in the sword's handle.

After finalising the 3D files, we export all of the mesh data and slice it in Cura for 3D printing. The handle and lid were made of brown PLA, and all of the blade parts were made of transparent PLA.

Step 2: PCB Design

Total of three different PCBs were used in this project which were the following-

  • Attiny85 Breakout Board
  • Power Module Board
  • LED Board

The Attiny85 breakout board was a simple setup consisting of a single Attiny85 in a SOIC8 package connected to a CON6 header pin that breakouts the Attiny85's SPI pins so we could connect it to an ISP programmer setup.

It also has a few CON1 pins connected to the attiny's D0, VCC, and GND pins, which will be used during the soldering process.

The Power Module Board is a simple IP5306 IC-based power management board that steps a lithium cell's input voltage from 3.7V to a stable 5V for powering LEDs and a microcontroller.

LED Board is a straightforward breakout board for WS2812B LEDs with two CON3 Pins for connecting multiple LEDs in an array.

Step 3: PCBWAY

After all the PCB designs were completed, Gerber data was generated for three boards and then sent to PCBWAY for samples.

orders for the LED board and power module board with blue solder mask and white silkscreen, as well as orders for the ATtiny85 board with white solder mask and black silkscreen.

In terms of overall quality, the PCBs were outstanding. Each of the boards I received was flawless.

I really love the quality of PCBs made by PCBWAY. There are other manufacturers available, but their service is always on another level.

Check out PCBWay service for getting great PCB service at less cost.

Step 4: LED Board Assembly

  • We begin the LED board assembly process by first applying solder paste to the LED and capacitor pads, followed by the placement of the LED and capacitor.
  • The board is then placed on a reflow hotplate, which heats it from below to the solder paste melting temperature.
  • At last, we make remaining 19 more pieces by following the same exact steps.


Step 5: LED Board Testing

  • Then, we use an Arduino Nano loaded with the Neopixel Test sketch to test each LED.
  • The goal here is to see if the LED is working properly, so we connect 5V to the VCC of the LED, D3 to the Din of the LED, and GND to GND.
  • With this setup, all 20 LEDs are tested.

Step 6: ATTINY85 Board Assembly

  • Following the preparation of the LED board, we begin assembly of the Attiny85 Breakout board, which has only one component, the Attiny85 itself.
  • We apply solder paste to the pads of the attiny85 and then place it in the proper orientation.
  • Next, we place the board on reflow hotplate which melts the solder paste and solder Attiny85 with the PCB.

Step 7: IP5306 Board Assembly

The IP5306-based Power Module Board, which is a fully-integrated multi-function power management system that comes in the SoC package, is then prepared.

It has an internal boost converter setup along with a proper Li-ion battery charge management setup that has a low discharge and high charge cut feature, which is a must-have function when working with Li-ion cells.

Because Li-ion cells are dangerous if overcharged, we generally use a BMS Module to cut off its voltage when connected to any charging source; the IP5306 has this function, so we don't need to attach any Battery protection setup to it.

Also, we get battery status LED indication feature.

  • The process is the same as before; we apply solder paste to each component pad before picking and placing them.
  • We then place this board on a reflow hotplate, which will melt the solder paste and complete the board assembly.

Step 8: Testing the IP5306 Board

  • We add a lithium cell to the module's B+ and GND ports after preparing the IP5306-based power module board.
  • We short the CON2 port provided for adding a tactile switch, and the setup turns on, as indicated by the LED.
  • We measure the output voltage, which should be greater than 5V; this indicates that the circuit is operational, and we can proceed to the next step, which is wiring and overall assembly.


Step 9: CODE

Here's the main code used in this build.

#include <Adafruit_NeoPixel.h>

#define LED_PIN 3
#define LED_COUNT 20

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
strip.begin();
}

void loop() {
for (int i = 0; i < 256; i++) {
for (int j = 0; j < strip.numPixels(); j++) {
int blue = 255 - i;
int red = i;
int green = 0;
strip.setPixelColor(j, strip.Color(red, green, blue));
}
strip.show();
delay(10);
}

for (int i = 255; i >= 0; i--) {
for (int j = 0; j < strip.numPixels(); j++) {
int blue = 255 - i;
int red = i;
int green = 0;
strip.setPixelColor(j, strip.Color(red, green, blue));
}
strip.show();
delay(10);
}
}


In the setup() function, we initialize the WS2812 LED strip.

In the loop() function, we use two for loops to change the color of the LEDs from blue to purple and back again. The outer loop iterates from 0 to 255, while the inner loop iterates over each LED on the strip.

We calculate the values for the red, green, and blue channels using the i variable, which ranges from 0 to 255. We set the blue channel to 255 minus i, which fades the blue color out over the loop. We set the red channel to i, which fades the red color in over the loop. We set the green channel to 0, which keeps the color in the blue-purple range.

Finally, we use the setPixelColor() function to set the color of each LED on the strip, and the show() function to update the strip. We use the delay() function to slow down the color change effect. The second for loop reverses the color change, fading the red back out and the blue back in.

Step 10: ATTINY85 Programming Process

The CON6 Port on the Attiny85 Board allows us to connect it to an Arduino as the ISP Board's CON6 consists of SPI Pins such as MISO MOSI SCK Reset VCC and GND.

After connecting the Attiny85 to the SPI Pins of the Arduino ISP Programmer, we can flash the Attiny chip, by which I mean burn the bootloader and upload sketch into it.

You can checkout more details about this step from here-

https://www.instructables.com/Multiple-ATtiny8513A-Programmer/

Step 11: Sword 3D Printed Parts Assembly

  • We begin the 3D Parts assembly by gathering everything that we have printed over the course of a week.
  • To begin, we use super glue and fibre tape to attach all three blade parts. Because glue takes time to set, we use fibre tape to keep all parts tightly together.
  • We apply glue to both blades and wait a few hours for the glue to dry.
  • The handle is then attached to both blades with four M3 nuts and bolts.
  • The blade's basic structure is now complete.


Step 12: Placing Electronics

We use hot glue to attach a battery, an Attiny85 breakout board, a power module, and a tactile switch to the handle.

Step 13: LED ARRAY

  • Next, we prepare the LED array for each board, which consists of 10 LEDs in parallel configuration, with the first pixel's Dout connected to the Din of the second LED, the second LED's Dout connected to the Din of the third LED, and so on up to the 10th LED in one blade.
  • We use three silver copper wires to connect two LED boards together, and each LED is placed at a distance of 30mm from the other.

Step 14: FINAL ASSEMBLY

  • With the help of hotglue, we add an LED array inside the inner wall of the blade, as well as wires to the VCC, GND, and Din of the first Pixel so that we can connect it to the Attiny85 board.
  • We add a long jumper wire to connect the 10th LED in the first LED array to the Din of the first LED in the second LED array.
  • We connect 5V and GND from the power module to the Attiny85 board, which powers both the LED board and the Attiny85.
  • We can turn the setup ON and OFF by pressing the tactile switch.
  • Finally, we place the lids of each part on them and close the entire opening of the sword.
  • Assembly is now finished.


Step 15: RESULT

This is the centerpiece of this build: a life-size energy sword from HALO.

I feel like Arbiter while holding this sword; it's stunning and visually striking.

This project is finished, but there are a few issues that need to be addressed before preparing V2 or repairing this version.

The LED diffusion is not correct, and the entire setup should light up; the top and bottom sides of the blades appear dull.

Overall, this was a fun project that I thoroughly enjoyed working on.

All I need now is a Master Chief Spartan armor, which will be a fun project to work on in the future.

This is it for today folks, leave a comment if you need help regarding this project.

Special thanks to PCBWAY for providing components that I've used in this project, check them out for getting all sorts of PCB or PCBA-related services for less cost.

Thanks and I will be back with a new project soon.

Big and Small Contest

Participated in the
Big and Small Contest