OS 7.* General Questions

I just purchased a new saber with OS 7.* on it. My other sabers have 5.9 and 6.5 on them. I have added several blade styles and fonts on my old sabers, all through Easy ProffieOS. I have made a few tweaks and changes and uploaded through Arduino, but I have not added blade styles through Arduino on the old sabers. My point is that I have some experience tweaking and modifying, but am basically a noob, so please go easy on me :slight_smile: I have just scratched the surface on 7.*, and have some questions: 1) How do you know specifically what version of OS is installed? Is there an indication somewhere in the config, or do I have to follow with the seller and get that info? 2) It appears from my (very limited) initial look-see that OS7 is significantly different from 5 and 6 that Easy Proffie OS will not work with 7. Is that correct? 3) If I decide I like OS 5 or 6 better, I plan on loading my config from one of those sabers into my new saber (so i don’t have to spend a ton of time making new styles from scratch or sorting through and selecting from a library of styles) using whichever of those OS’s I like better. Here’s the twist…those sabers are 1-button, and my new saber (with 7) is 2 button. I know there is a difference, but how difficult is it to modify a config set up for 1-button to use on a 2-button saber? Is it just a matter of changing a line or 2 in the config, or does pretty much everything have to be altered to accouint for the 2nd button? 4) Speaking of the config, I looked through the SD card on my new saber with 7, and i don’t see a config file separate, but I see configs in every blade folder. Do you have a link that explains this? I’m assuming this makes programming easier? Thank you for the help, and my apologies for being such a noob.

In Arduino > Tools > Serial Monitor type ‘version’

The OS is backwards compatible, a config from older versions will run fine, it just obviously won’t have new features.

OS6 is vastly different from OS5, OS7 is closer to OS6 than OS6 is to OS5. And there are defines that can easily modify OS7 to act how you want.

You can update the NUM_BUTTONS and CONFIG_BUTTONS in the prop, however you need to make sure the BladeConfig section is correct. Not all sabers are wired the same, so if you use a config that has a different BladeConfig than how your saber is physically wired it will not work.

If you’re using my prop and updating to OS7, I recommend using my config tool, it will walk you through all of the new customization and help you optimize your config. Just watch the videos at the top and read through all of the selections.

You’ll need to ask your installer, there should only be one config that is specific to your saber. They’re the only person who can tell you definitively.

Thanks again for your help!! Once i get this all squared away, if I decide to stay with OS7, rather than go back to 6 or 5, will the Easy ProffieOS site work for adding blade styles? Based on your answers above, and the fact that these are backwards-compatible, I’m guessing “yes,” but I just want to make sure…I really like the Easy ProffieOS method and if 7 works with it, that will help me to decide which version I will ultimately go with. Gracias!!

I don’t know what you mean by “Easy ProffieOS site”.

By “backwards-compatible”, I mean you can use an OS 5 or 6 config and styles in OS7, you cannot go backwards with OS7 configs or styles as they are not supported in older versions. Just to be clear.


This is the Easy ProffieOS site I am referring to. This was mentioned in Absolute Saber’s YouTube site for adding styles in an easier, although less detailed, method. I have used this site innumerable times and love it!

ProffieOS Workbench, gotcha. It can only edit what’s on the board, it can’t add new styles.

If you’re using Edit Mode enabled styles you can do a ton of customization via the Workbench for OS6 or 7 styles. If you just have basic styles you can still do preset editing but it’s more limited.

My OS7 library outputs Edit Mode enabled styles to allow for much more customization at the style level.

More information on what is editable here (whether or not you enable the Menu system, ProffieOS Workbench can do these edits via WebUSB).

When uploading be sure you include WebUSB under USB Type per here:

Awesome!! Thank you again for taking the time to answer my questions, walking me through this, and posting helpful links!!! I’m taking several days off for the upcoming Memorial Day holiday and hope to dive into correcting the WebUSB /Mass Storage issue, make a determination on which OS I’m going to go with, and start adding fonts and styles…will post back with the results. Thanks again!!

You’re welcome, I would recommend OS7, just customize as needed (using config tool) to your liking to enable or disable features. There’s a lot of fixes and improvements in OS7 that makes the older versions obsolete.

Blockquote [quote=“Steeler_Nation1, post:1, topic:5304”]

  1. How do you know specifically what version of OS is installed?

In Arduino > Tools > Serial Monitor type ‘version’

I just tried this, and at the bottom of the Arduino screen it says, “Board at null is not available.” I’m assuming this is because Proffie was not originally installed by the seller with Mass Storage and WebUSB enabled, as you indicated in another of my recent posts, and so my PC/Arduino are not even able to “see” the Proffie board? However, I was not sure where you type in “version” to get this information…could you please clarify exactly where you type that in at? Or, am i correct that as long as the Mass Storage and WebUSB were not enable originally, Arduino will not be able to give this information anyway?

Thank you!

This wouldn’t affect Serial Monitor, juts make sure you selected your Proffieboard under Tools > Port. As long as the board is connected and you have the correct port you go into Arduino > Tools > Serial Monitor and in the top text box you just type ‘version’ in.

There it is! Got it! Thank you!

Here’s what I get:

Id: ce12a06a1e236b5101ec60c950530a9a4719a74d
Installed: Jan 19 2024 13:53:18

Not quite sure how to read this. Can you please interpret and tell me what specific version of OS this is?

If memory serves, that means it was a beta and not a full release version, so not much help unfortunately.

Thoughts @profezzorn?

Basically, it means that this was downloaded or cloned from github directly.
When I make a release, a script is used to replace this string with the actual version number of the release. Clearly that script has not been used here, so it’s not a specific release.

Not sure what that means - is that bad? As an individual, it seems like I am able to download any version of Proffie OS that has been posted. Is it not the same for sellers/manufacturers? As sellers, are they supposed to be paying for the OS? And, if so, is this why they would “clone” it?
If that’s the case, I’m wondering if there are other issues i need to worry about, like a bootleg hilt/electronics? i have to re-upload the OS to get my PC to recognize the saber (since the seller did not set for Mass Storage or WebUSB, as well as to configure for a 32" blade instead of the 36" that it appears to be set for), but I’m now wondering…is this “cloned” OS just a minor issue, so I should proceed on, or the sign of a possible bigger issue with bootlegged item that I should just seek a refund for?

It’s not a big deal you just basically have some developer version and not an official release. You can always just go here get the actual official latest version and upload.


Also, mass storage or WebUSB are not requirements for your computer recognize the Proffieboard.
Mass storage is to use your board as an SD card reader as it mounts the drive to the computer like a USB drive.
WebUSB allows interfacing with the ProffieOS workbench.

It’s not bad, but it comes with a few caveats:

  1. Because it’s not an exact release, “version” is unhelpful, and that makes it hard to know how what code your saber is running.
  2. Numbered releases of the code undergo extra testing, reducing the risk of bugs. It’s possible that the code you have is identical to a numbered release, even if we don’t know which one. It’s however more likely that the code you have is from some in-between state, and the chance of bugs is higher in those cases. Even so, even the in-between code usually works fairly well, so it might not be an issue.

You can in fact download a lot of in-between versions from github which are not “posted” as well. This may be what you have.

The terminology is a bit misleading here.
“clone” just means to download the latest.
However, maybe you meant “fork” (which makes another copy of ProffieOS on github) People usually fork ProffieOS because they want to add stuff to it. It’s possible that your code comes from a fork, in which case someone has probably added some stuff to it.

Forking the OS isn’t actually bad. ProffieOS is open-source after all and forking is absolutely allowed. However, because of how the license works, people who buy a saber with ProffieOS on it are entitled to a copy of the source including all modifications. Obviously, if you have a copy of the source, you would know what code actually runs on your saber…

It’s a minor issue.

Thank you for the explanation - feeling better now!! :slight_smile:

Decided to stay with OS 6.7, for several reasons that I won’t go into. After making a few tweaks to the config, I verified it and, after getting the “thumbs up,” I uploaded it to my board. Got error messages and so I installed zadig. Uploaded OS to the board and…nothing worked. Completely dead. Looked in zadig, and it was not showing the STM32 Bootloader at all. Reflashed the board, then installed zadig again. This time, I noticed a difference with zadig ,instead of WinUSB (v6.1.7600.16385), there was some other program that was installing the first time. 2nd time around, it installed WinUSB (v6.1.7600.16385). Uploaded OS and - SUCCESS!! Well, at least partially. The board is now “seen” by my PC and can also use the Easy ProffieOS site (i.e. Proffie Workbench). Also accepted my change to the blade - was originally configured for 36" blade, and I was able to resize it to 32" What didn’t work, and what I can’t figure out, is why gesture controls Stab On, Thrust On, and Force Push don’t work. All other gesture controls do work. Here are the lines i added in my config for these 3:
#define FETT263_STAB_ON
#define FETT263_THRUST_ON
#define FETT263_FORCE_PUSH

Any thoughts on why these 3 aren’t working? Not a deal-breaker, since I got my saber to work with Workbench and to resize the blade, but if this is a simple fix, I may try to correct those 3 and reload.

Thanks again so much for your time and help with this!!!

Post your config.

I’m assuming the first and last part of the config, and not the blade styles section, due to length, correct? Here those sections are:

// This is a sample configuration file.
// This saber has:
//   o Proffieboard V1 hardware.
//   o Two buttons
//   o An XP-E2 RGB LED star on LED 4-5-6
//   o A neopixel blade on LED 1-2-3 and neopixel data 1.
// If you have a saber similar to this one, make a copy and use the copy.
// This is also the default configuration file. Pre-programmed boards will
// use this configuration file.
// CONFIG CREATED BY: SeanSoloSabers.com

#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1800
const unsigned int maxLedsPerStrip = 144;
#define FETT263_STAB_ON
#define FETT263_THRUST_ON
#define FETT263_TWIST_ON
#define FETT263_TWIST_ON_NO_BM
#define FETT263_TWIST_OFF
#define FETT263_FORCE_PUSH
#define MOTION_TIMEOUT 60 * 5 * 1000
#define ENABLE_WS2811
#define ENABLE_SD

#include "../props/saber_fett263_buttons.h"

Preset presets[] = {  //2022.7.25Ôö¼ÓΪ23Ì×ÒôЧ

{ "TeenysSF", "tracks/mercury.wav",//23   ---2022.7.25Ìí¼Ó 
	 StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >()
 { "BOBAS1E5MANDO ", "tracks/mercury.wav",//24   ---2022.8.11Ìí¼Ó  °×É«
	 StylePtr<InOutHelper<EASYBLADE(OnSpark<WHITE>, WHITE), 300, 800> >()
 { "FALLENORDERCALBUNDLE", "tracks/uranus.wav",//23   ---2022.8.11Ìí¼Ó  ±ùÀ¶
	 StylePtr<InOutHelper<EASYBLADE(OnSpark<DeepSkyBlue>, WHITE), 300, 800> >()

BladeConfig blades[] = {
 { 0, WS281XBladePtr<119, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },

Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");