Can someone help me, I'm a newbie

Fonts can work with any style, some font makers will provide code but many don’t in my experience. Since styles and features advance so quickly it doesn’t always make sense.

For Vader the Rotoscope styles in my library for Original Trilogy are based on the saber animation in the films, these are what I use on my Vader saber.
https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope

1 Like

Hello,
I do not know how to create sound fonts myself, so I always rely on fett263’s website (many thanks to fett263). However, when I look at the styles you shared, the individual effects (such as blaster, clash, stab, etc.) are very clear, intuitive, and seem to be designed to use less memory.

Is there a particular method or design approach you follow when creating these styles?

As I said before, I do not create blade styles (or sound fonts), I just find what is posted on the crucible from all the configs I could find here, tried what works or seem nice and I used that.

1 Like

I’ve run into another issue. When I was prototyping, my saber worked great with a button, however, when I went to fit it into my Vader hilt, I realized there isn’t a great place for a button. So I figured out how to convert my saber to motion only controls, and they work fine (as far as the audio goes) but my blade stays lit regardless of ignition status. Can anyone point me to where I went wrong? I can provide my Config file if needed.

Do any of the effects work? Or does it just stay a single color all the time?

Yes, it has a flicker effect that works, and the clashes work.

Some very basic blade styles will just stay “on” regardless of ignition status (I think).

Please do provide it. Use the 3 back ticks method, like this:

```
Your config code here
```

or use Pastebin and provide the link here if your config is too long to use the 3 back ticks method.

/************************************************************
 * Proffieboard v3.9 – Motion Only (Kill Switch, No Buttons)
 * Twist ON / Twist OFF
 ************************************************************/

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define DISABLE_PRESET_CHANGE

// ================== SABER SETUP ==================
#define NUM_BLADES 1
#define NUM_BUTTONS 0        // NO buttons
#define VOLUME 50          // Fixed volume

const unsigned int maxLedsPerStrip = 144;

// ================== FEATURES ==================
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_GESTURES
#define ENABLE_TWIST_ON
#define ENABLE_TWIST_OFF
#define ENABLE_WS2811
#define ENABLE_SD

#define CLASH_THRESHOLD_G 0.9

// ================== PROP ==================
#endif


/************************************************************
 * PRESETS
 ************************************************************/
#ifdef CONFIG_PRESETS
Preset presets[] = {
   { "R1", "tracks/track1.wav",
StylePtr<Layers<AudioFlicker<Stripes<26000,-1400,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<12600>,Black,RgbArg<BASE_COLOR_ARG,Red>>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<18600>,Black,RgbArg<BASE_COLOR_ARG,Red>>>,RgbArg<BASE_COLOR_ARG,Red>>,TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL<TransitionEffect<AlphaL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,300>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>>,LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>>>>(), "red"},
};
BladeConfig blades[] = {
  {
    0,
    WS281XBladePtr<144,
      bladePin,
      Color8::GRB,
      PowerPINS<bladePowerPin2, bladePowerPin3>
    >(),
    CONFIGARRAY(presets)
  },
};
#endif


/************************************************************
 * NO BUTTONS
 ************************************************************/
// Intentionally empty — motion only saber

This looks like it ought to work.
Is the blade on immediately when you turn the saber on, or is it off until you ignite it?

As soon as I turn on the kill switch, the blade ignites and doesn’t go off until I turn the kill switch back off. It doesn’t do the ignition either (starting from the bottom to the top) all LEDs turn on with the switch.

And when it ignites it extends from the base to the tip?
Does the serial monitor say anything when this happens?

No, its just all LEDs on instantly with the switch. What is the serial monitor?

Does the blade show the right color?
Does it flicker like it’s supposed to?

Yes it flickers like it is supposed to, and will clash like it’s supposed to. Just doesn’t ignite and retract like it should. The saber makes the sounds but blade stays on.

Does your sound font have an “out” sound? (or poweron sound)
It might work weirdly if there isn’t one.

Like an ignition sound? It will play a track when I first turn it on, then when I twist, it makes the ignition sound, then the buzzing saber sound, clashes both sound and trigger on the blade, then I twist and the retracting sound will play. The blade does everything it is supposed to do except turn on and off the way it should.

Is (-) on the blade wired to LED2/3 on the board? (And not to - on the battery.)
And please check the serial monitor.
What version of ProffieOS do you have?

I have the negative going to LED 2 and 3 (which are soldered together), the positive is wired to BATT+ and Data to DATA1

I2C init…
Motion chip … 106 found.
EVENT: Stab millis=1292
Unmounting SD Card.
Amplifier off.
Battery voltage: 3.48
Battery voltage: 3.37
Battery voltage: 3.39
Welcome to ProffieOS v7.15
For available serial commands, see:

Battery voltage: 3.36
v7.15
config/mysaber_config.h
prop: Saber
buttons: 0
installed: Jan 8 2026 14:00:05
Battery voltage: 3.38

All of this looks normal. And it doesn’t say “ignition”, so that seems normal too.
But it doesn’t explain what’s going on with the blade.
The biggest mystery is that the blade is supposed to be powered off, and no power means no lights (more or less).

Try the whatison and whatispowered commands, what do they print out?

Another thing to try is a simple style, like StyleNormalPtr<Green, White, 800, 200>() and see if that makes a difference.

Ultimately, I think it’s likely that ProffieOS is working as intended, but the blade is still powered. It’s unclear if that’s because of a bad board, a short or unintended wiring though.

I tried the simple code, and it worked! Thank you so much! So it is a problem with my blade style code. I am trying to use the Style Editor, but it keeps crashing. It will take a bit to load, then blink and then the saber at the top is gone. Any idea what’s going on with it, or is there another editor I can use?