# Blaster build proffieboard V2

**URL:** <https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267>\
**Category:** Off-topic\
**Created:** [September 11, 2025, 1:18am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267 "2025-09-11T01:18:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 11, 2025, 1:18am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/1 "2025-09-11T01:18:49Z")

</div>

Iam making a stormtrooper blaster. I just want to do a 3 blade neopixle wiring job. I have no idea how to do the blade presets. I know you just wire it up like a regular saber. If someone can help with that, it would be awesome. New territory for me. I heard that the proffieboard v2 would be good for that.

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [September 11, 2025, 2:39am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/2 "2025-09-11T02:39:21Z")

</div>

It would help if you had some specific details on what you want to do, because “just wire it up like a regular saber” is pretty much correct.  
Have you wired a saber before? Or used a Proffieboard at all yet?

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 11, 2025, 2:46am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/3 "2025-09-11T02:46:09Z")

</div>

Yes. Many. One blade, tri blade etc. Crystal chambers. I am not sure how the programing would be because a blade stays light, but a blaster would just be on then off right away. The wireing i could do one led in the center . Leds on bolth sides showing thru. So id wire it like a tri blade. I would use all neopixles for the project.

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [September 11, 2025, 2:53am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/4 "2025-09-11T02:53:32Z")

</div>

The key to your understanding might be the prop file. That’s what controls what the buttons do (and even what they’re called).  
A blaster prop differs from a saber prop in that (typically) it’s just always “on” (like the blade is running, saber is on etc…)  
The lighting effects are all about the blade style. In essence, you have a “blade” running with a black base color, then pulling the trigger does EFFECT\_FIRE, which you just make a blade style to your liking for that event.  
For example, I have a DL44 with just a 9x1515 pixels in the muzzle.  
I use the blade style below for it. (if you click the style below, it’ll take you to the current official style editor page, where (even though it shows a saber) you can choose the “Select more effects” dropdown, pick a blaster effect (FIRE, STUN) and the click “Do Selected Effect” to see the animation.

It’s just basic pew-pew.

```auto
StylePtr<Layers<
  Black,
  TransitionEffectL<TrConcat<TrDelay<100>,Red,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
  TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>,
  LockupTrL<TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>,
  TransitionEffectL<TrConcat<TrExtend<1000,TrFade<250>>,Mix<BatteryLevel,Red,Green>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>>>()

```

I use the blaster\_BC\_buttons.h prop file.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 11, 2025, 3:04am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/5 "2025-09-11T03:04:18Z")

</div>

Ok ya ill start there. Might not get to it till the weekend. Very much appreciated. I have quite a few sabers so iam wanting to expand. Thankyou.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 12, 2025, 12:26am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/6 "2025-09-12T00:26:17Z")

</div>

I like to use OS6 it seems to be my thing. Will this be fine?

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [September 12, 2025, 1:45am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/7 "2025-09-12T01:45:47Z")

</div>

Works on any OS. Well since layers came around and up.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 13, 2025, 8:04pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/8 "2025-09-13T20:04:51Z")

</div>

How about the sd card sound font? Obviously i really dont use clash of lightning block. Is the a spicific way to do the font. I know what to do useing saber.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 13, 2025, 8:55pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/9 "2025-09-13T20:55:46Z")

</div>

How about the prop file? If you can point me to that as well, would be awesome.

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [September 13, 2025, 9:22pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/10 "2025-09-13T21:22:26Z")

</div>

Prop file is in ProffieOS/props folder.  
For a font, you can use this and/or get an idea of blaster font sounds.  
[https://www.dropbox.com/scl/fo/blpnirl6cl85k81n38z48/AK1qJHBOp4z2FqiS7F6cSHU?rlkey=lcf1g9zdk5ykx6puojq3b869j&st=9ieg9813&dl=0](https://www.dropbox.com/scl/fo/blpnirl6cl85k81n38z48/AK1qJHBOp4z2FqiS7F6cSHU?rlkey=lcf1g9zdk5ykx6puojq3b869j&st=9ieg9813&dl=0)

Also this:

> **[Sound Font Configuration](https://pod.hubbe.net/sound/sound-font-configuration.html)**
>
> Documentation for ProffieOS

---

<div class="post-metadata">

**Author:** ![olivierflying747-8](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/olivierflying747-8/32/5228_2.png) [@olivierflying747-8](https://crucible.hubbe.net/u/olivierflying747-8)\
**Post date:** [September 13, 2025, 9:31pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/11 "2025-09-13T21:31:00Z")

</div>

> [@B\_Duarte](#):
>
> How about the prop file?

There are two:  
blaster.h & blaster\_BC\_buttons.h

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 13, 2025, 9:40pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/12 "2025-09-13T21:40:34Z")

</div>

```auto

/ ******CONFIG_TOP blaster defines**** /
#ifdef CONFIG_TOP

#include "proffieboard_v2_config.h"
#define NUM_BLADES 3
#define NUM_BUTTONS 2 // First button is fire, second adds Mode Select and third is either Power or Clip Detect.
                        // As always, you have to add them in `CONFIG_BUTTONS`.
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 2.0 //Affects the shaking for unjamming your weapon.
#define VOLUME 1500
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_BLASTER_AUTO // If you desire to enable AUTO mode.
#define BLASTER_SHOTS_UNTIL_EMPTY 15 // The capacity of your weapons rounds.
#define BLASTER_JAM_PERCENTAGE 1 // 0-100. If not defined, random.
#define ENABLE_SSD1306 //To enable OLED

#endif

/ ******CONFIG_PROP blaster defines**** /
#ifdef CONFIG_PROP

#include "../props/blaster.h"

#endif

/ ******CONFIG_PROP blaster defines**** /
#ifdef CONFIG_PRESETS

Preset presets[] = {
// Default basic blast color with red audio flicker on blast
{ "E-11", "tracks/mars.wav",
  StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),
  StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() },
  "E-11" },
{ "E-11D", "tracks/EzraTheme.wav",
  StylePtr<Layers<AudioFlicker<RotateColorsX<Variation,Blue>,RotateColorsX<Variation,Rgb<0,0,128>>>,BlastL<White>, InOutTrL<TrInstant,TrFade<300>,Pulsing<RotateColorsX<Variation,Blue>,RotateColorsX<Variation,Rgb<0,0,10>>,3000>>>>(),
  StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() },
  "E-11D" }
;

BladeConfig blades[] = {
 
{ 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
       WS281XBladePtr<20, blade2Pin,Color8::GRB, PowerPINS< bladePowerPin4> >(),
       WS281XBladePtr<1, blade3Pin,Color8::GRB, PowerPINS< bladePowerPin5> >(),
       

  CONFIGARRAY(presets) },
};

#endif

#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");
//Button PowerButton(BUTTON_POWER, aux2Pin, "power"); //A third button to power on/off your weapon
//Button PowerButton(BUTTON_CLIP_DETECT, aux2Pin, "clip"); //A third button is a clip sensor. It should be closed when the clip is in, and open when the clip is removed. 
#endif

```

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 13, 2025, 9:45pm UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/13 "2025-09-13T21:45:40Z")

</div>

This is what i found on Github. I am useing power pins 2 and 3 for power pins for the rail sides of the blaster. A led ring using power pin 4 data 2. 1 led as a extra detail on powerpin 5 using data 3.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 12:06am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/14 "2025-09-14T00:06:48Z")

</div>

> **[Config file - Pastebin.com](https://pastebin.com/MxxZkK98)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 12:08am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/15 "2025-09-14T00:08:08Z")

</div>

Arduino: 1.8.19 (Windows 10), Board: “Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, Smallest Code”

In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:38:1: error: expected unqualified-id before ‘{’ token  
38 | { “E-11D”, “tracks/EzraTheme.wav”,  
| ^  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:40:163: error: expected unqualified-id before ‘,’ token  
40 | StylePtr\<Lockup\<BlastFadeout\<BlastFadeout\<Black,AudioFlicker\<Black,Red\>,250,EFFECT\_FIRE\>,AudioFlicker\<Black,Red\>,1500,EFFECT\_STUN\>,AudioFlicker\<Black,Red\>\>\>() },  
| ^  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:41:3: error: expected unqualified-id before string constant  
41 | “E-11D” }  
| ^ ~~~~~~  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:41:11: error: expected declaration before ‘}’ token  
41 | “E-11D” }  
| ^  
exit status 1  
Error compiling for board Proffieboard V2.

This report would have more information with  
“Show verbose output during compilation”  
option enabled in File → Preferences.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 12:09am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/16 "2025-09-14T00:09:53Z")

</div>

This is the one i went with i had changed the first one. Iam really in the weeds here maybe. How does it look.

---

<div class="post-metadata">

**Author:** ![olivierflying747-8](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/olivierflying747-8/32/5228_2.png) [@olivierflying747-8](https://crucible.hubbe.net/u/olivierflying747-8)\
**Post date:** [September 14, 2025, 12:13am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/17 "2025-09-14T00:13:40Z")

</div>

line 36 & line 41  
delete the “}” at the end

edit: but keep the comma “,”

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 1:28am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/18 "2025-09-14T01:28:11Z")

</div>

[/\*\*\*\*\*\* CONFIG\_TOP blaster defines \*\*\*\*/#ifdef CONFIG\_TOP#include "proffi - Pastebin.com](https://pastebin.com/iQCTgejj)

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 1:30am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/19 "2025-09-14T01:30:18Z")

</div>

Arduino: 1.8.19 (Windows 10), Board: “Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, Smallest Code”

In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:49:13: error: expected primary-expression before ‘blades’  
49 | BladeConfig blades = {  
| ^ ~~~~~  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:49:13: error: expected ‘}’ before ‘blades’  
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:32:20: note: to match this ‘{’  
32 | Preset presets = {  
| ^  
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:240:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop\_base.h: In member function ‘size\_t PropBase::FindBestConfig()’:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop\_base.h:567:25: error: ‘blades’ was not declared in this scope; did you mean ‘bladePin’?  
567 | static\_assert(NELEM(blades) \> 0, “blades array cannot be empty”);  
| ^ ~~~~~  
C:\Users\duart\OneDrive\Desktop\ProffieOS\common\common.h:18:26: note: in definition of macro ‘NELEM’  
18 | #define NELEM(X) (sizeof(X)/sizeof((X)[0]))  
| ^  
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\props\blaster.h:34,  
from C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1\_config.h:25,  
from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:625:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop\_base.h: In member function ‘void PropBase::FindBlade()’:  
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop\_base.h:622:22: error: ‘blades’ was not declared in this scope; did you mean ‘bladePin’?  
622 | current\_config = blades + best\_config;  
| ^ ~~~~~  
| bladePin  
exit status 1  
Error compiling for board Proffieboard V2.

This report would have more information with  
“Show verbose output during compilation”  
option enabled in File → Preferences.

---

<div class="post-metadata">

**Author:** ![B\_Duarte](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/b_duarte/32/3126_2.png) [@B\_Duarte](https://crucible.hubbe.net/u/B_Duarte)\
**Post date:** [September 14, 2025, 1:31am UTC](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267/20 "2025-09-14T01:31:30Z")

</div>

See anything else.

[Next page](https://crucible.hubbe.net/t/blaster-build-proffieboard-v2/7267.md?page=2)
