A complete Graflex hilt from the maker community. Open source electronics and software.
DIY instructions available.
Featured on Hackaday, Hackster, Adafruit
89Sabers Graflex
The Graflex hilt is perhaps the most iconic hilt of all.
Built with 89Sabers Graflex Kit
One of the highest accuracy Graflex replicas on the market.
Accurate overhang emitter lip.
Strengthened Bunny Ear Clamps.
Pixel Blade and Blade Plug
Capable of displaying various patterns combined with our FX board.
Nondirectional contact
– with 8 power pins, meeting higher current flow specifications.
144 LED/meter density LED strips.
No unlit blade sections. LED strip contacts the base of the blade.
Durable polycarbonate tube, with foam and diffuser tube.
SmoothSwing Algorithm
Dynamically varying swing sounds using Thexter’s SmoothSwing Algorithm.
Open Source Electronics
Our own original open source EnchantOS Firmware. Software updates to include the newest features.
Teensy based. Easily update with our software releases or with your own!
Modular Inner Chassis
Completely disassembles by hand.
Holds 2 18650 batteries (not included). Easily 7000mAh capacity.
Bluetooth Connectivity
Add mobile app connectivity with an Adafruit Bluetooth module. Compatibility is built into the software.
Overview
Downloads
EnchantOS Lightsaber Firmware 1.0.6 – A .hex file, ready to be uploaded with the Teensy loader.
Lightsaber SD Card Files – An example set of SD card files, including the following:
- 3 sound fonts using the Enchant style naming convention
- 1 sound font using the Classic style naming convention
- config.txt – An example config file with default settings
Operation
The software organizes interactions with the prop though an intuitive Menu system. The change Menu function (hold the power button) will cycle through the top level menu: Light FX Menu, Saber FX Menu, and Music Visualizer Menu. Pressing the Aux button within each Menu will act depending on the Menu e.g. The Aux button is used in the Light FX Menu to switch between different Light FX.
Button | Light FX | Saber FX | Music Visualizer | Power Off |
Power Click | Power On / Off | Power On / Off | Power On / Off | Power On |
Aux Click | Pattern Option | Blaster | Next Song | |
Power Hold | Next Menu | Next Menu | Next Menu | |
Aux Hold | Next Pattern | Next Pattern | Next Font |
Hibernate
The saber will enter a low power state after a period of inactivity, 1 minute by default. Pressing the red button switch will boot the saber. After taking a moment to boot, pressing the red button switch again will ignite the blade.
Sound Font
WAV files are accepted in 44.1kHz mono or stereo. Audacity can be used to convert the sampling frequency, as well as repair wav files with invalid headers.
It is recommended that any file edits, such as renaming, be done in directory other than the SD card; then copy what would be the entire contents of the SD card onto the SD card. This way Windows regenerates any metadata regarding Short File Names and directory contents.
3 fonts can be accessed on the SD card (this can be increased at a later software update). Up to 16 different .wav files can be mapped to 1 sound effect.
The software supports 2 different naming conventions for mapping sound fonts: Enchant Style and Classic Style.
Enchant Style
The contents of the SD card should appear as follows:

With Enchant Style, the name of each sound effect is the name of each subdirectory under the font directory.
“bank1” is the name of the font (This name can be changed in the config file). It subdirectories: “PowerOn”, “PowerOff”, etc, contain the wav files mapped to the function suggested by the name.
Classic Style (support will be implemented in a later update)
The contents of the SD card should appear as follows:

With Classic Style, the name of each sound effect is a prefix for each sound file. All files are saved in the directory of the font.
“bank3” is the name of the font (This name can be changed in the config file). “poweron.wav”, “clash1.wav”, etc, are mapped to the function suggested by the name.
SmoothSwing
SmoothSwing will use 2 addition sets of sound effects: “SwingA” and “SwingB”. If Enchant style is selected, they will be the name of subdirectories set to contain .wav files. E.g bank1/SwingA/anyname.wav
Mapping
boot – Played on boot up and switching into the font
poweron – Played on power on
poweroff – Played on power off
hum – Played while the saber is idle (in saber mode)
swing – Played when a swing is detected (in saber mode)
clash – Played when a clash is detected (in saber mode)
blaster – Played when the Aux button is pressed (in saber mode)
lockup – Played when a lock up is triggered (in saber mode) (not yet supported)
menu – Played when changing menus
swinga – Used by SmoothSwing (in saber mode)
swingb – Used by SmoothSwing (in saber mode)
Menus
Menu – Light FX
Use this menu to change through various LightFX patterns.
Button Functions:
- Aux -> Interaction on the LightFX. e.g. change colors, change speed, various
- Hold Aux -> Change LightFX LED patterns
LightFX List:
- Rainbow
- TODO
Menu – SaberFX
In this menu, the “Hum” files are played in the background. Motion detection is on for plays “Swing” and “Impact” files.
Button Functions:
- Aux -> “Blaster” sound and LightFX sequence
Menu – Music Visualizer
This Menu plays wav Files stored in the “Music” folder, which is shared between fonts
Button Functions:
- Aux -> Change Songs
- Hold Aux -> Change Visualizer
Config File
The instructions for using this file is included as comments in the config.txt files.
config.txt file example:
#----------------------------------------------------------------------------- # ENCHANT - Light and Sound FX Controller # Lightsaber Software # Default Config File V1 #----------------------------------------------------------------------------- # Comments are preceeded by # and are ignored #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # General Settings #----------------------------------------------------------------------------- [General] # Boots into Light FX selection mode or Saber Mode # Set to 0 to start in Light FX selection mode (most sounds disabled) # Set to 1 to start in Saber Mode. Boot_Saber_Menu = 0 # Use hibernate mode when the blade is powered off Hibernate_Enable = 1 # Time before hibernating after blade retact in milliseconds. Ignored if Hibernate_Enable = 0 Hibernate_Delay = 60000 # Enable bluetooth in the software. For details: https://thefirebrandforge.com/lightsaber/bluetooth/ Bluetooth_Enable = 0 #----------------------------------------------------------------------------- # Blade Settings #----------------------------------------------------------------------------- [Blade] # Set Numer of LEDs. 256 Max LED_Count = 144 # Blade extend and retract time in milliseconds Scroll_Time = 500 # For a Fading tip during blade scroll. Set to 0 to disable Scroll_Tip_Fade_Length = 24 # Boots with a solid color # Set to 0 to use the first animation on boot up (configurable at a later time. this is currently rainbow) # Set to 1 to use a solid color on boot up Boot_Solid_Color = 0 # Main color used by animation with a dominate color in RGB values. # A simple RGB color picker can be found here https://htmlcolorcodes.com/color-picker/ Main_Color_R = 255 Main_Color_G = 215 Main_Color_B = 0 # Flash on clash time in millisecond Flash_Time = 200 # Flash on clash color Flash_Color_R = 255 Flash_Color_G = 255 Flash_Color_B = 255 #----------------------------------------------------------------------------- # Sound Font Settings #----------------------------------------------------------------------------- # By default the following font names are used. # These are the root directories for .wav files belonging to that font. # bank1 # bank2 # bank3 # # By default the following Sound FX names are used - # boot - Played on boot up and switching into the font # poweron - Played on power on # poweroff - Played power off # hum - Played while the saber is idle (in saber mode) # swing - Played when a swing is detected (in saber mode) # clash - Played when a clash is detected (in saber mode) # blaster - Played when the Aux button is pressed (in saber mode) # lockup - Played when a lock up is triggered (in saber mode) # # If Enchant style is selected, these names are used as subdirectories containing .wav files # e.g bank1/poweron/anyname.wav # # If Classic style is selected, these names are used as prefixes of the .wav files # e.g bank1/poweron1.wav #----------------------------------------------------------------------------- [Sound] # Font file mapping style. # Set to 0 to select Enchant Style # Set to 1 to select Classic Style Font1_Classic_Style = 0 Font2_Classic_Style = 0 Font3_Classic_Style = 0 # Use custom directory or file names Use_Custom_Naming = 0 # Ignored if Use_Custom_Naming is 0 Font1_Name = bank1 Font2_Name = bank2 Font3_Name = bank3 #----------------------------------------------------------------------------- # SmoothSwing #----------------------------------------------------------------------------- # By default the following SmoothSwing names are used - # SwingA # SwingB # # If Enchant style is selected, these names are used as subdirectories containing .wav files # e.g bank1/SwingA/anyname.wav # e.g bank1/SwingB/anyname.wav #----------------------------------------------------------------------------- # Enables SmoothSwing SmoothSwing_Enable = 1 # Select V1 or V2. Modified verisons of the original algorithm are used. SmoothSwing_Version = 1
Uploading the Software
It is very easy to use the Teensy firmware flash utility to upload the firmware. The entirety of Teensy development tools can be downloaded from PJRC, or just download the flash utility here. This is the only part we need for this step.
Select the hex file. Then, click the button on the Teensy to enter the bootloader, as the flash utility indicates. Press the program button on the flash utility to upload the program. Once that is done, click the reset button to reset the device.

Revision History
V1.0.6 (Last Updated 11/06/2018)
- Visualizer FX added
- More intuitive click/hold button navigation implemented
- Classic style sound font support still needs to be added
- More patterns to be added
V1.0.5 (Last Updated 5/28/2018)
- Config file read added
- Smoothswing added
- Visualizer FX from V0 version still needs to be added
- Classic style sound font support still needs to be added
V1 – Initial Upload
- Config file read from V0 version still needs to be added
- Visualizer FX from V0 version still needs to be added
- Smoothswing still needs to be added
- Classic style sound font support still needs to be added
Q: How is it possible to sell this saber at such a low price point? The parts alone seem to add up to the cost. Is the quality good?
A: Quality is the priority. The price point is intended to stay competitive in the saber enthusiast community. Many of us are familiar with $500-$600 complete builds. This saber is also intended to be made available to those who have interest in sabers but cannot justify such a high price point. Part of the savings come from a less labor intensive assembly process, which is designed into the PCBs. There is no stripping of wires. Everything just needs to be aligned and soldered. Purchasing parts in quantity of course helps too. Using newer electronics, as oppose to traditional sound boards grandfathered into their current price point, is another point of savings.
Q: I hear Teensy and Proffie a lot lately. Can you tell me more please?
A: Teensy is an Arduino compatible microcontroller board based on a NXP microcontroller. It is made by PJRC. The board is for general purposes and does not include peripherals such as a SD card reader or audio amplifier. These are added through a custom interfaces board. Proffie is an Arduino compatible microcontroller board based on a STM microcontroller. It is made by Profezzorn. It includes the peripherals necessary for a Lightsaber prop on the board.
Q: What is the LED strip density used for the blade? An video demo shows a 60 LED/meter blade.
A: All blades shipped are built using 144 LED/meter density LED strips. The video was simply for an early demo.
Q: The saber does not turn on. What is wrong?
A: The are 2 possibilities. The saber starts in a low power hibernate mode. Pressing the Red Button will take a moment to boot the saber. After the saber boots, the Red Button will power on and off the blade as usual. The other possibility is the button on the Teensy board was pressed. The board is put into software update mode. To exit this mode, remove the batteries, or connect the saber to an computer and press reboot in the Teensy Loader.
Q: Can you add feature X.
A: The software is updated over time. Send your request to support@thefirebrandforge.com