ProffieBoard V2.2 User Guide
Learn how to use, configure, and customize your SUPERNEOX ProffieBoard V2.2 lightsaber with ProffieOS 5.9. This guide covers essential settings and practical customization for saber owners.
For advanced programming, firmware configuration, and developer-level customization, see the ProffieBoard V2.2 Developer Guide.
2. Serial Monitor Commands
ProffieOS provides serial commands that can be used for testing, diagnostics, configuration checks, audio testing, and preset navigation.
| Command | Description |
|---|---|
battery_voltage |
Returns the current battery voltage. |
get_volume |
Returns the current volume value. |
pow |
Turns the saber on or off. |
on |
Turns the saber on. |
off |
Turns the saber off. |
set_volume <0-3000> |
Sets the volume value. Example: set_volume 500
|
play |
Plays the default preset soundtrack. If the track is already playing, this command stops it. |
play_track tracks/<track name>.wav |
Plays a specific track from the tracks folder.Example: play_track tracks/venus.wav
|
stop_track tracks/<track name>.wav |
Stops a specific track. |
force |
Plays the Force sound effect. |
drag |
Plays the Drag sound effect. |
blast |
Plays the Blaster sound effect. |
lock |
Plays the Lockup sound effect. |
clash |
Plays the Clash sound effect. |
reset |
Reboots the ProffieBoard. |
n |
Switches to the next preset. |
p |
Switches to the previous preset. |
list_presets |
Lists all available presets. |
sdtest |
Tests SD card speed. |
scanid |
Reports the detected Blade ID resistance. |
3. Software Installation & Setup
Firmware development and uploading for ProffieBoard requires the Arduino IDE together with the ProffieBoard Arduino plugin and the appropriate USB drivers.
3.1 Required Software
Arduino IDE
Used to edit, compile, and upload ProffieOS firmware.
ProffieBoard Plugin
Adds ProffieBoard support and board-specific upload options to Arduino IDE.
Zadig
Used when the required USB driver configuration is needed for firmware programming.
USB Data Cable
A data-capable Micro-USB cable is required. Charge-only cables cannot be used for firmware programming.
3.2 Arduino IDE Installation
Install the latest stable version of Arduino IDE . Do not use a Beta release.

On Windows, installing Arduino IDE as a Windows Store application is not recommended. The application may be installed into a protected directory that prevents additional plugins or software from being installed correctly.
3.3 Install the ProffieBoard Plugin and Zadig
Install the ProffieBoard Arduino plugin and Zadig according to their respective installation instructions.

3.4 Arduino IDE Board Settings
In Arduino IDE, select:
Tools → Board → Proffieboard V2
| Setting | Recommended Value |
|---|---|
| Board | Proffieboard V2 |
| USB Type | Serial + Mass Storage (or + WebUSB) |
| CPU Speed | 80 MHz |
| Optimize | Smallest Code or Fast / Faster / Fastest |
| DOSFS | SDCARD (SPI) |
| Port | The COM port assigned to the connected ProffieBoard |
Connect the ProffieBoard to your computer using a USB data cable. The assigned COM port should become available under the Port menu.
4. Firmware Upload & Update
Step 1 — Download ProffieOS and SD Card Files
Download the ProffieOS firmware package and the corresponding SD card files.
For SUPERNEOX ProffieBoard V2.2 sabers, this developer guide uses ProffieOS 5.9 as the reference version.

Extract:
ProffieOS-v5.9.zip
Extract the package to a normal working directory such as Documents or Desktop.
Program Files directory.The extracted structure should contain:
ProffieOS-v5.9/
└── ProffieOS/
Do not rename or move the folders or files inside the ProffieOS directory.
Step 2 — Install the SD Card Content

Extract:
ProffieOS_SD_Card.zip
Copy all files from the extracted ProffieOS_SD_Card folder to the root directory of the ProffieBoard microSD card.
Windows File Extension Settings
Enable File name extensions in Windows File Explorer so that file extensions such as .h are visible.
.h extension to the configuration file.Step 3 — Create the Configuration File
Open:
ProffieOS/config/
Create your configuration file inside this directory.
The recommended workflow is to copy the appropriate default configuration file, rename the copy, and then replace its contents with the configuration generated for your saber.
For ProffieBoard V2.x, use the official ProffieBoard V2.x Configurator .
Step 4 — Select the Configuration File
Open:
ProffieOS/ProffieOS.ino
Locate the CONFIG_FILE definition.
#define CONFIG_FILE "config/my_saber_config.h"
If multiple configuration files exist in the config directory, only the configuration file you want to compile should be active.
CONFIG_FILE definition should be active at a time.Multiple saber configurations can remain in the same config directory. Switch between them by changing the active CONFIG_FILE.
Step 5 — Connect the Board
Connect the ProffieBoard to the computer using a data-transfer Micro-USB cable.
Step 6 — Compile and Upload
- Open
ProffieOS.inoin Arduino IDE. - Verify that the correct ProffieBoard V2 board and COM port are selected.
- Confirm that the correct
CONFIG_FILEis active. - Click Upload.
- Wait for compilation and uploading to finish.
After a successful upload, the progress indicator should reach 100%.
If a speaker is connected, the ProffieBoard should play its boot sound after a successful upload.
If Serial + Mass Storage is selected and the ProffieBoard appears as a removable drive, safely eject the drive before disconnecting the USB cable.
Upload Troubleshooting
If the upload fails, check the following common causes:
- There may be a syntax or configuration error in your configuration header file.
- The
CONFIG_FILEname may be incorrect. - The configuration file may not be located in the
ProffieOS/config/directory. - The Windows username or working directory may contain non-Latin characters that cause toolchain problems.
- The selected board, USB type, CPU speed, or COM port may be incorrect.
5. SD Card Content
ProffieOS uses the saber's microSD card to store sound fonts, configuration-related files, and music tracks.
Sound Fonts
Copy supported sound font folders to the root directory of the microSD card.
The original configuration supports common sound font structures including:
Plecter
Plecter-compatible sound font structures.
NEC
NEC-compatible sound font structures.
SmoothSwing
SmoothSwing-compatible sound font structures.
When using a supported sound font structure, WAV file names normally do not need to be changed.
Music Tracks
Place music tracks inside:
tracks/
Example:
tracks/venus.wav
tracks/mars.wav
tracks/mercury.wav
File and Folder Naming
For best compatibility, use Latin characters and simple file names for sound font folders and music tracks.
Avoid unnecessary special characters such as:
? , . | \ } { [ / -
Each sound font folder should contain the required configuration files, such as:
config.ini
smoothsw.ini
6. Configuration & Parameters
ProffieBoard configuration is primarily controlled through a C++ configuration header file located in:
ProffieOS/config/
The configuration defines the board setup, blade count, buttons, audio settings, motion features, LED configuration, clash sensitivity, presets, and Blade Styles.

Basic ProffieBoard V2 Configuration
#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define SAVE_STATE
#endif
Parameter Reference
| Parameter | Purpose |
|---|---|
NUM_BLADES |
Defines the number of blade configurations used. |
NUM_BUTTONS |
Defines the number of configured buttons. The referenced configuration supports 1–3 buttons. |
VOLUME |
Sets the initial volume value. The documented range is 0–3000. |
maxLedsPerStrip |
Defines the maximum number of LEDs configured for the addressable LED strip. |
CLASH_THRESHOLD_G |
Defines clash sensitivity. Lower values generally make clash detection more sensitive; higher values make it less sensitive. |
ENABLE_AUDIO |
Enables audio functionality. |
ENABLE_MOTION |
Enables motion sensing. |
ENABLE_WS2811 |
Enables WS2811 / addressable LED functionality. |
ENABLE_SD |
Enables SD card functionality. |
SAVE_STATE |
Allows the board to save state information such as the selected volume, preset, and blade color. |
Clash Sensitivity
A documented starting value is:
#define CLASH_THRESHOLD_G 1.0
Lower values generally produce more sensitive clash detection, while higher values generally produce less sensitive detection.
Editing the Configuration
Use a plain-text editor or code editor to modify C++ configuration files.
After changing the configuration:
- Save the configuration file.
- Open
ProffieOS.ino. - Verify that the correct
CONFIG_FILEis active. - Compile the firmware.
- Upload the firmware to the ProffieBoard.
7. Preset Configuration
Presets define the sound font, soundtrack, Blade Style, and human-readable preset name used by the saber.
Basic Preset Structure
A typical preset is defined inside the CONFIG_PRESETS section:
#ifdef CONFIG_PRESETS
Preset presets[] = {
{
"TeensySF",
"tracks/venus.wav",
StyleNormalPtr(),
"cyan"
}
};
#endif
Preset Components
| Component | Description |
|---|---|
| Sound Font Folder | Name of the sound font folder stored on the SD card. |
| Track Name | Music track path, normally inside the tracks directory. |
| Blade Style | Defines the visual behavior and effects of the blade. |
| Preset Name | Human-readable name used by the preset system. |
Blade Configuration
Physical blade configuration is declared through a BladeConfig blades[] array.
This configuration associates the physical LED/blade hardware with the preset configuration.
BladeConfig blades[] = {
{
0,
WS281XBladePtr<
144,
bladePin,
Color8::GRB,
PowerPINS
>(),
CONFIGARRAY(presets)
},
};
8. Blade Styles
ProffieOS uses Blade Styles to define the visual behavior of the main blade and other configured LEDs.
Color
Define base and custom blade colors.
Motion Effects
Respond to movement, swings, and other motion input.
Impact Effects
Control Clash, Blaster, Lockup, and Drag effects.
Transitions
Control ignition, retraction, timing, and transition behavior.
Blade Style Capabilities
- Base color
- Color changes
- Flickering
- Clash flashes
- Blaster effects
- Lockup effects
- Drag effects
- Ignition effects
- Retraction effects
- Timing
- Transition behavior
Blade Style Editor
The original developer documentation recommends using a Blade Style Editor to create and modify Blade Styles.
Useful reference resources include:
- ProffieOS Blade Style Editor
- Megtooth Sith Sabers Tutorial
- TRA Blade Style Resources
- Fett263 Blade Style Library
Blade Style Structure
A Blade Style is normally contained inside a StylePtr<...> expression.
Effects can be nested together, with each layer modifying or transforming the result of the underlying effect.
InOutHelper
InOutHelper<base color, 200, 300, Black>
| Parameter | Meaning |
|---|---|
base color |
Main blade color. |
200 |
Extension / ignition duration in milliseconds. |
300 |
Retraction duration in milliseconds. |
Black |
Blade color when retracted. |
Color Definitions
Predefined color constants can be used for common blade colors:
WHITE
RED
GREEN
BLUE
PURPLE
CYAN
YELLOW
MAGENTA
Custom RGB colors can be defined using:
Rgb<R, G, B>
Example:
Rgb<255, 50, 0>
Each RGB channel uses a value from 0 to 255:
-
0= no output from that channel -
255= maximum output from that channel
AudioFlicker
AudioFlicker<"A" color, "B" color>
AudioFlicker creates a flickering blade effect that responds to the saber's audio or hum.
A larger difference between the two colors generally produces a stronger visual variation.
OnSpark
OnSpark<base color, spark color, duration>
OnSpark adds a spark effect during blade ignition. The duration value is specified in milliseconds.
SimpleClash
SimpleClash<base color, clash color, 40>
Adds a Clash flash effect. The final parameter defines the effect duration in milliseconds.
Lockup
Lockup<base color, lockup color>
Adds the Lockup effect and defines the color behavior used during the effect.
Blast
Blast<base color, blast color>
Adds the Blaster effect and defines the color used for the effect.
Combined Blade Style Example
A more advanced Blade Style can combine multiple effects into a single nested expression.
A typical combined style may include:
- Green base color
- Audio flicker
- Spark during ignition
- Clash effect
- Blaster effect
- Lockup effect
- Drag effect
- Ignition timing
- Retraction timing
The completed Blade Style is inserted into the appropriate StylePtr<...> container within the preset.
9. Developer References
For current ProffieOS development, configuration, and board-specific information, use the official resources below together with this SUPERNEOX developer guide.
SUPERNEOX SD Configuration File
SUPERNEOX Proffie V2.2 default configuration files.
Open Google Drive →ProffieOS Documentation
Official documentation covering ProffieOS features, configuration, and development concepts.
Open Documentation →ProffieOS GitHub
Source code, releases, configuration examples, and development information.
Open GitHub →ProffieBoard V2.x Configurator
Browser-based configuration tool for ProffieBoard V2.x.
Open Configurator →ProffieOS Support Forum
Community discussion and troubleshooting resources for ProffieOS and ProffieBoard.
Open Support Forum →10. Documentation Scope
ProffieOS is actively maintained. Configuration syntax, available features, supported hardware, and behavior may vary between releases.

