Adds a small icon to the "system tray" area of the Windows task bar, which displays the battery level of any connected SteelSeries Arctis headset.
-
Works on Windows 10+
-
Built using Rust, with very low resource usage (<1MB RAM)
-
Supports all known Arctis headsets
-
Shows a little green dot to indicate charging
- Download the latest release and run the installer
Running the installer may result in a Windows defender SmartScreen warning. This happens to all executables that don't have a large enough install count. There's no way around it other than paying hundreds of dollars every year for a signed certificate from Microsoft :(
The code that is in this repository is the code that is in the executable. There is a Github Action that builds the code from source and creates the installer.
There is no user-friendly way to verify that the .exe file is unmodified by me or anyone else, but if you have a Github account and the Github Cli installed, you can run
gh attestation verify '.\ArctisBatteryIndicatorSetup.exe' --owner aarol
Which cryptographically verifies that the file is unmodified from the one built by the Github Action.
If you're experiencing crashes or other issues, you can try running the arctis-battery-indicator-debug.exe
located at %localAppData%\Programs\ArctisBatteryIndicator
or look at the log file located in the same folder.
This is limitation of the headsets themselves, as most devices only expose 5 possible battery states.
Your headset might be unsupported due to being a newer model. Either create a new issue or see Adding a new headset
Rust and Cargo need to be installed.
-
Running the application:
cargo run --release
-
Installing the application locally:
cargo install
-
Debugging the application: press
F5
in VS Code with the Rust Analyzer extension and CodeLLDB installed.
Translations can be added to the lang.rs file.
I have a post on my website explaining that tries to explain how to do this: https://aarol.dev/posts/arctis-hid
The parameters, such as write_bytes
and battery_percent_idx
can be discovered by sniffing the USB traffic with something like WireShark and USBPcap
Also see example config.toml for more documentation.
If you have found the necessary data, you can try it out by creating a custom config file:
- Install version 2.0.0 or greater of Arctis Battery Indicator
- Navigate to the program data folder (that would be
%localAppData%\Programs\ArctisBatteryIndicator
by default) - Rename the
example.config.toml
file toconfig.toml
- Update the data in the
config.toml
file (most headphones have similar configurations, you can look at this file for inspiration) - Launch the
arctis-battery-indicator-debug.exe
in the same directory to test your changes. It should say "Found custom config" in the logs.
Reading the HeadsetControl wiki might be helpful for troubleshooting.
If you have a working configuration file, you should create a new issue with the file contents, so that everyone else can benefit from it too!