I have a thin-neck build coming up with a removable core, and I want to use Blade Detect to tell the Proffie when the core is fitted in the hilt, then use BladeID to make the board differentiate between a normal blade and a charging blade plug.
I just wanted to double check that using both Blade Detect and BladeID at the same time is OK and won’t do any damage. I’ve used both in the past, but never at the same time in the same hilt.
This is the blade array I’m proposing. I’m also altering the nature of the blade array between different settings, so I can do animations in the Shtok blade connector on the core between the inner and outer rings of LEDs, though I’ve made sure to keep the total blade count the same. Note that Data 4 isn’t actually wired to anything - I just needed a dummy to get the blade count up.
Is there anything I’ve missed or any wrong trees that I’m barking up?
Thanks in advance.
![]()
BladeConfig blades[] = {
// Chassis Fitted in Hilt:
{ 0,
// Main Blade:
WS281XBladePtr<142, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
// Dummy Blade:
WS281XBladePtr<1, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
// Crystal Chamber:
SubBlade (0, 0, WS281XBladePtr<2, blade2Pin, Color8::RGB, PowerPINS<bladePowerPin2, bladePowerPin3>>()),
// Plasma Emitter:
SubBlade(1, 1, NULL),
// Accent Red:
SubBlade (0, 0, WS281XBladePtr<2, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin5>>()),
// Accent Green:
SubBlade(1, 1, NULL),
CONFIGARRAY(blade) },
// Chassis Loose:
{ NO_BLADE,
// Shtok Connector 1:
SubBladeWithStride (0, 14, 2, WS281XBladePtr<16, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >() ),
// Shtok Connector 2:
SubBladeWithStride (1, 15, 2, NULL),
// Crystal Chamber:
SubBlade (0, 0, WS281XBladePtr<2, blade2Pin, Color8::RGB, PowerPINS<bladePowerPin2, bladePowerPin3>>()),
// Plasma Emitter:
SubBlade(1, 1, NULL),
// Accent Red:
SubBlade (0, 0, WS281XBladePtr<2, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin5>>()),
// Accent Green:
SubBlade(1, 1, NULL),
CONFIGARRAY(no_blade) },
// Charge Plug:
{ 53,
// Main Blade:
WS281XBladePtr<142, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
// Dummy Blade:
WS281XBladePtr<1, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
// Crystal Chamber:
SubBlade (0, 0, WS281XBladePtr<2, blade2Pin, Color8::RGB, PowerPINS<bladePowerPin2, bladePowerPin3>>()),
// Plasma Emitter:
SubBlade(1, 1, NULL),
// Accent Red:
SubBlade (0, 0, WS281XBladePtr<2, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin5>>()),
// Accent Green:
SubBlade(1, 1, NULL),
CONFIGARRAY(charger) },
};
#endif

