KR Thermal Detanator Build

Good morning fellow tinkerers and happy new year!! So, for my first personal build of 2026, I have decided to tackle a Thermal Detonator from KR that I scored second hand. The prop came with the propiatery board that KR had made for it- the x-plode board. I cannot find ANY kind of documentation for this board whatsoever, save for one wiring diagram that doesn’t appear to list what all of the pads do. I would really like to make this a proffie build, to take advantage of the on board charging as well as future proof it for hot potato game d3evolpment if we ever see it ect. With that being said, I am going to prep while I wait for the brass parts to finish.

My first question is coding related. I have seen some of the work by the illustrious @NoSloppy and of course Prof on this kind of build, but I am wondering about the front 3 white LEDs first. Im looking to code these to animate in the same fashion that we see from the x-plode board (animating from left to right, etc, while getting faster as the TD font runs out before explosion). How would I do something like this with 3 separate LEDs? How would I go about creating a separate blade style for each LED so they are timed correctly, or would I wire them in sequence? Apologies if this sounds like a dumb question. I have attached a pic of the chassis that I designed. Really looking forward to working on something that isnt a saber for once, and also looking forward to any help you guys might be able to glean.

1 Like

I made a thermal detonator using proffezorn’s web page and help from here.

I used the helper board he developed. I have a wiring diagram here:

Here is the code I used for the blinking:

  { "tdmod", "tracks/laptinek.wav",
    StylePtr<InOutHelperTD<SimpleClash<ColorSequence<2000,
                         Rgb<255,0,0>,Rgb<255,255,0>,Rgb<255,0,255>,
                         Rgb<0,255,255>,Rgb<0,255,0>,Rgb<0,0,255>,
                         Rgb<255,255,0>,Rgb<0,255,255> >, RandomFlicker<WHITE, BLACK>, 6000, EFFECT_BLAST>, 100, 100, 6000, BLACK>>(),
    StylePtr<InOutHelperTD<Lockup<SimpleClash<RED,RandomFlicker<RED,BLACK>, 6000, EFFECT_BLAST>, Pulsing<RED, Rgb<50,0,0>, 300>>, 100, 100, 6000>>(),
    ""},

and blade config:

BladeConfig blades[] = {
 { 0,
     SimpleBladePtr<CH1LED,CH2LED,CH3LED,NoLED,
                    bladePowerPin1, bladePowerPin2, bladePowerPin3, -1>(),
     SimpleBladePtr<CH1LED,NoLED,NoLED,NoLED,
                    bladePowerPin4, -1, -1, -1>(),
     CONFIGARRAY(presets) },
  };
1 Like

Thanks for that…just came here to say disregard as I found Proffs config on the Proffieboard page! Not going to use the helper board for this, but I will keep everyone updated on my build if youre interested!

2 Likes

So I have downloaded GCS’ thermal D soundfont and loaded it on to my test rig…Ive changed the file names accordingly but I am not getting any clash sounds at all. (File names clsh01-09 etc). Do we not get clash compatibility with the detonator.h prop file? I want a little more flexibility with sounds and animations. Might be cool to have the animation time out after a while and end with an explosion…

Acording to proffs guide, some changes must be made to files. sox --combine=concatenate “|sox clash5.wav -p trim 110s 2442s” “|sox -n -r 22050 -p trim 0 0.3” “|sox clash5.wav -p trim 110s 2442s” “|sox -n -r 22050 -p trim 0 0.3” “|sox clash5.wav -p trim 110s 2442s” “|sox -n -r 22050 -p trim 0 0.3” -b 16 bgnarm.wav

As a lowley mac user, where does this command get entered?

Just chiming in to say I can’t wait to see how the chassis build with the board integration plays out.

As to where those sox… bits are yeah, I dunno. Even using the Mac magnifier within the ProffieOS folder gives no clue. Scripts, functions?? Not in the prop itself.

@A_Rogue_Child yea man I am dead set on getting this thing to work with proffie lol. I will likely end up pullin gmy hair out in the process. It looks like @profezzorn used those commands to create custom armhum.wav and bgnarm.wav sounds…would be awesome if I could find those. I have copied the following to my SD: boom1.wav
boom2.wav
boot.wav
hum.wav
poweroff.wav
poweron.wav
poweronf.wav
pwroff2.wav

Now its really a matter of looking into making a prop with a custom timer maybe? OR have a separate font with a timing option. Just thinking out loud.

sox is a command line program. You need to install it and run it in the terminal. From what I saw, mac has a terminal. i use linux, so it was pretty easy from what I remember.

1 Like

Oh I get it because I “cheated” and use(d) a mildly tweaked version of Fett’s OS6 prop to accomplish my goals for my Coaxium Smuggling (Saber/Sabacc) crate. Never did fine tune it and I’m sure a proper TD prop would do it.

*Ooohohh, yup, that’s it. Just click on your top right of your Mac screen using magnifier and type in terminal and it’ll let you run terminal. As to deeper tweaking of that I’m gonna defer to @NoSloppy since I am not about to tweak the newest iOS Sequoia.

Does this just output new WAVs? Would you mind sharing them?

yea, the commands are shorting the wav’s and combining 2 of them I think.

*Likely Off-Topic: Seems that if that’s the case maybe some use of the newest sound recognition wav effects like in OS7-8 would be worth trying to integrate, no? Use what works and make things common across the props logic.

NM! Haha I got sox installed and ran the commands…worked like a charm.

1 Like

@NoSloppy what kinda effort would it take to just have a complete font pack update done so all the required sounds are available?

It might help to add…I am not utilizing the external red lens as a button in this build. I have an aux on the chassis itself, but it is INTERNAL, so not easily accessible. It would be nice to program a way to arm the device with a clash…Worst comes to worse I can make the red lens an actual button though

I made my own detonator_Oli_butons.h prop with more sounds, more functions, even with OLED options, clash, different timers, 1 or 2 buttons, 1 latching button (or not), volume up/down, …:

detonator_Oli_buttons_online.h (41.6 KB)

Edit2: rename it to detonator_Oli_butons.h

It doesn’t use Prof’s helper board. I haven’t played with the code since last summer.

Feel free to use, test, report bugs, …

This is great thank you !!! What version of proffie are you using for it. I just tried to upload and Aurdino is screaming at me.

665 | void SB_Effect(EffectType effect, EffectLocation location) override {

I use OS8 with a few personal customization.

Post the full error code, I’ll see what I can do.

Can you try with OS8 ?

EFFECT_BOOM is an OS8 thing!

Some of the other errors are most likely due to my customizations. If you PM me your email, I will send you a zipped copy of “my” ProffieOS.

Ok so after a night almost giving myself a proffie anureism, here is where I am at with this:
@olivierflying747-8 graciously sent me his custom prop file to test and tinker with. For some reason, I am still getting ERR IN FONT DIR errors when uploading a config. I have a feeling it is down to a broken folder structure or something, but I cant tell. Here is my current setup:

Config is as follows:

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 2200
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 3.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define DETONATOR_BUTTON_POWER_IS_LATCH 
#define ENABLE_SD
#define DELAYED_OFF
#endif

#ifdef CONFIG_PROP
#include "../props/detonator_Oli_buttons.h"
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {

   
{ "td;common", "tracks/uranus.wav",
   StylePtr<InOutHelperTD<SimpleClash<ColorSequence<2000,
            Rgb<255,0,0>,Rgb<255,255,0>,Rgb<255,0,255>,
            Rgb<0,255,255>,Rgb<0,255,0>,Rgb<0,0,255>,
            Rgb<255,255,0>,Rgb<0,255,255> >,
         RandomFlicker<WHITE, BLACK>, 6000, EFFECT_BLAST>, 100, 100, 6000, BLACK>>(),
  StylePtr<InOutHelperTD<Lockup<SimpleClash<RED,RandomFlicker<RED,BLACK>, 6000, EFFECT_BLAST>,
           Pulsing<RED, Rgb<50,0,0>, 300>>, 100, 100, 6000>>(),
""},

};
BladeConfig blades[] = {
{ 0,
  SimpleBladePtr<CH1LED,CH2LED,CH3LED,NoLED, bladePowerPin1, bladePowerPin2, bladePowerPin3, -1>(),
  SimpleBladePtr<CH1LED,NoLED,NoLED,NoLED, bladePowerPin4, -1, -1, -1>(),
  CONFIGARRAY(presets) },
};

#endif

#ifdef CONFIG_BUTTONS
LatchingButton PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

I have deleted and reuploaded my common folder, which only contains a c3po voice pack, mutiple times. Cant for the life of me figure out where the error is coming from.

I am in os8