Converting LGT Xeno and Baselit Sabers To Proffie

Hi everyone,

I’m working on converting two LGT sabers (one baselit and one Xenopixel) to Proffie. I’ve picked up two Proffieboards—one from Tritium Sabers and another from The Saber Armory. My plan is to reuse most of the existing parts (blades, speakers, LEDs, etc.) and just swap the boards for now.

I’ve got a decent idea of how to wire the speaker and battery, but I’m not sure where to solder a couple of other components:

  1. The combined button and charging port setup from the LGT sabers (First pic. Wires for this are the white, blue, green, and red wire on the left side plus the red, white, and black wire on the right facing up)

  2. The wires from the LED baselit saber / Xenopixel base with pins (First pic. Red, white, and black wires on the underside of the board go to this component)

I’m pretty new to saber building, so any advice would be really appreciated—especially on wiring, necessary modifications, or parts worth upgrading (and why). I’m doing this as a budget-friendly way to get a Proffie saber for my Rebel Legion cosplay.

Also, if there are changes I need to make to the code or OS during the install, I’d love some guidance. I have some coding experience, but I’m still learning the ropes.

Thanks in advance for any help!





I’ve reached the point where I just use an LGT chassis and wire a proffie in myself. I can post my (very crude) wiring diagram on here when I get home if you’d like. I use the LGT switch/RCP combo, too.

1 Like

I would focus on where the wires go, rather than how they are connected to the main board.

2 Likes

I’ve done a couple of these at this point. A multi-meter is your best friend here so you can determine what things do. Then you can wire up the new board with what you have rather than trying to match apples to oranges.

The combined charging and button you’re showing shares a common ground wire between the charging and the switch. So you have:

  • VBUS (5V from USB)
  • GND (shared between charge and switch)
  • LED V+ (for the accent LED in the switch)
  • Switch signal

Make sure you trace what goes where - an old USB C cable cut with wires exposed can let you trace the VBUS and GND pretty easily. Then get continuity between GND and the suspected switch wire. The last one is power for the LED.

Then just follow the Configurator to wire up that LED - it isn’t a pixel so you will have to adjust your configuration and will want to use Free3 on the board as the switched voltage supply - has to be done Tythis way since the ground is shared with the switch meaning you can’t use one of the FETs for switching or you wouldn’t be able to wake the saber after timeout.

Hope this helps!

1 Like

Oh and I’m pretty sure white is GND, blue is VBUS (power in from usb), green is voltage for LED, and red is the switch (BTN 1 equivalent). But make sure you verify before going with my educated guess!

1 Like

I would love to see your diagram and what you have done to wire up your proffie with the LGT components. I agree with everyone its best to use a meter, but every little bit helps.

I can give you a bit more later if you need it, but the Proff’s configurator is very helpful in this respect. Assuming you’re using a V3.9 for your Proffie boards, just note that the image there is of a 3.7 so slightly off on pinout. I find the Artekit site helpful in this regard:

Proffie V3.9 Pinout

Based on the configurator images for diagram, here are the two variations you’re talking about along with some additional details I found in my builds.

Baselit

This image shows upgrading a baselit saber without changing out to a pixel… I prefer the pixel but a baselit with a proffie is way better than the cheap baselit it was before your build. Just know there are some adjustments to programming to accommodate this and I’m happy to help if you get there. One critical point is that your resistors should be 1W rated and be calculated based on what you actually have. Mine didn’t look like this but rather had one pixel module with 6 pads in the middle. Those are pretty typical and they have a rating of about 300-350mA which is way under the 1000mA of a nice one. They still look good though but you have to calculate a much higher resistance and source your own resistors outside of the saber shops (they carry much lower resisters for the high current tri-cree emitters). What you see in the diagram are what I used based on the emitter described. You should test your own though to be safe!

For your button/USB combo, you should verify colors like I said before, but I’m pretty sure it’s correct as I show here.

Modify the values based on your resistors, but here’s my blade config that includes both the button on pin 9 (FREE 3) and the Cree knockoff. I used 1000 for the value of the resistor on the illuminated button - the button has one built into the module and this worked well and no damage. Since this button is just an LED, there is no data or color. You set it to “White” or rgb(255,255,255) and that is full brightness in whatever color your button is. You can reduce brightness by customizing this in the style similar to what you show at the bottom of this section.

BladeConfig blades[] = {
  {
    0,
    SimpleBladePtr<CreeXPE2RedTemplate<6900>, CreeXPE2GreenTemplate<4500>, CreeXPE2BlueTemplate<3900>, NoLED, bladePowerPin1, bladePowerPin2, bladePowerPin3, -1>(),
    SimpleBladePtr<CreeXPE2WhiteTemplate<1000>, NoLED, NoLED, NoLED, 9, -1, -1, -1>(),  // Free3 (pin 9) white button LED
    CONFIGARRAY(presets)
  }
};

And as a little bonus, here’s a style you can use if you have a Vader font. I made the button pulse which looks nice on standby (just make sure you include a timeout in your top section to not kill your battery). I also used Fett263’s style builder to create a nice Vader font that works very well with the baselit setup.

 { "Father;common",  "Father/tracks/track1.wav",
    /* copyright Fett263 Rotoscope (Primary Blade) OS7 Style
    https://www.fett263.com/fett263-proffieOS7-style-library.html#Rotoscope
    OS7.14 v3.23p
    Single Style
    Style Option
    Base Color: BaseColorArg (0)

    --Effects Included--
    Preon Effect: Sparking [Color: PreonColorArg]
    Ignition Effect: Fade Up [Color: IgnitionColorArg]
    Retraction Effect: Fade Out [Color: RetractionColorArg]
    Lockup Effect:
    0: mainLockMulti0Shape - Begin: Full Blade Flash - Style: Intensity AudioFlicker - End: Full Blade Absorb
    [Color: LockupColorArg]
    Lightning Block Effect:
    0: mainLBMulti0Shape - Begin: Full Blade Flash - Style: Strobing AudioFlicker - End: Full Blade Absorb
    [Color: LBColorArg]
    Drag Effect: NoneMelt Effect: NoneBlast Effect: Full Blade Blast Fade [Color: BlastColorArg]
    Clash Effect: Flash on Clash (Full Blade) [Color: ClashColorArg]
    Battery Level: Full Blade (Green to Red)
    Display Volume: % Blade [Color: BaseColorArg]
    */
    StylePtr<Layers<RandomFlicker<Stripes<10000,-2600,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<16448>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,TrFade<300>>,EFFECT_BLAST>,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<CLASH_COLOR_ARG,Rgb<255,255,255>>,TrFade<300>>,EFFECT_CLASH>,LockupTrL<TransitionEffect<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK,Int<1>>,InOutTrL<TrFadeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrFadeX<BendTimePowX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Black>,TransitionEffectL<TrConcat<TrInstant,AlphaL<BrownNoiseFlickerL<RgbArg<PREON_COLOR_ARG,Rgb<255,255,255>>,Int<30>>,SmoothStep<Scale<SlowNoise<Int<2000>>,IntArg<PREON_SIZE_ARG,2000>,Sum<IntArg<PREON_SIZE_ARG,2000>,Int<4000>>>,Int<-2000>>>,TrDelayX<WavLen<EFFECT_PREON>>>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrJoin<TrDelay<2000>,TrInstant>,Mix<BatteryLevel,Red,Green>,TrFade<300>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL<TrConcat<TrExtend<2000,TrWipe<100>>,AlphaL<RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,SmoothStep<VolumeLevel,Int<-1>>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>>(),
    StylePtr<Pulsing<Rgb<50,50,50>,White,8000>>(),
    "Darth Vader"
  }
Pixel

This image shows with a NPXL3 but you can use the one you have. Just know it looks a little different and you can’t use blade detect. Other than that, it’s pretty straight forward. Data (center pin) goes to Data 1, GND goes to LED2 and LED3 bridged, and V+ goes directly to the battery terminal. You really should add a kill switch of proper design.

You can use the same style for the button as in the baselit version and any pixel style you come up with for the blade. Note that the same things I said about the button in the baselit info apply here. Here’s the config based on the wiring:

BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SimpleBladePtr<CreeXPE2WhiteTemplate<1000>, NoLED, NoLED, NoLED, 9, -1, -1, -1>()   // Free3 (pin 9) white button LED
  , CONFIGARRAY(presets) },
};

There is a spot on most xenopixel chassis by the speaker that is for a USB that you can use instead for your kill switch if you hot glue it in there at the right height to not interfere with the hilt. You will also find that the Proffie barely fits and I’ve been able to CAREFULLY sand down both sides just before getting into the solder pads to bring down the width to just under 17mm which makes it fit a little easier. I’ve also made a cutout between where the board goes and the battery compartment to give a little more space where the SD card goes. You can flip it over with the SD card on top but doesn’t really help much for space unless you ditch the USB - but you then have to change everything up so you have a way of transferring data (if you find you really want to go there PM me). The main thing here is it is critical that nothing touches the hilt when you put it on and the plastic tab won’t be any help because it’s too thick to fit the USB port under it unless you modify.

All this said, I hope all this doesn’t scare you off. It’s a good way to get going on the cheep using parts you already have. I think a custom chassis and fresh build is probably better, but this isn’t bad and gets you a proffie for the cost of the board and a kill switch… Good luck!

1 Like

3.7 and 3.9 should have the same pin out.
If not, there is an error on my site and I should fix it.
What (if any) pins are different?

1 Like

Free3 is on the opposite side and image looks like it has two Free3 pins unless I’m reading it wrong. The config showed it on Blade5Pin but the wire goes to a free pin (might have meant Free1). There could be an alias in the OS for that pin, but since I put it on Free 3 I used 9 in the config to get it to work.
image
Here’s where it shows blade5Pin in the config it generated.

BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, blade5Pin, -1, -1, -1>()
  , CONFIGARRAY(presets) },
};
2 Likes