The Infinity Saber

The Infinity Saber


This was a really fun and technically challenging project that. I came up with the idea a couple months ago, printed it main parts, then spent a the interim just thinking about it more than anything. I wrote most of the code in two nights while iterating designs on the gems.

I’d like to thank Jake (aka jakesoft) and Andras (of Protowerkstatt) for their help with a couple of odd bugs I was having trouble with.

Features:
Gem Sensing
automatically detects which gem is inserted in which socket
blade color and font determined by gem that is clicked
color and font change if a new gem is clicked while ignited
will only trigger infinity mode if all gems are inserted and more than one gem is clicked
blade extinguishes if ignited gem is removed, or any gem is removed in InfinityMode
ignited gem highlited & brightens on clashes

Infinity Mode
Bright white, rainbow shimmer blade
rainbow clash
all gems shimmer brightly & brighten on clashes

Fonts
Power Vengence Starkiller Fourzze
Space Hornet Sting Novastar
Time Elemental Ice Novastar
Mind Ancient Weapon Darth PJs/BespinBen
Soul Ghost of the Grey LordBlako
Reality Empress Darth PJs/BespinBen
Infinity Metropoolis The Bacon Wizard

Hardware
Arduino Nano
MPU6050
DFPlayer
28mm 4ohm 3w speaker
GX16-10 connectors
12x Neodymium magnets
24x Spring pins
Aluminum core
PLA shell
10k pulldown resistor
30AWG PTFE wire
28 AWG wire
20 AWG wire

Gems
2 part shell
SMD tactile switch
Neodymium magnets
MSWS-PS12 PCBs
3528 LED
100ohm limiting resistor
22k-220k sensing resistor

Leave a Reply