Skip to content

CesurPolat/MiBudsClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiBudsClient

A Python & Flet-based desktop client for Redmi Buds 6 Play. Features real-time battery tracking and low-latency mode via Bluetooth.

Features

  • Battery Tracking: Real-time display of battery percentages for left earbud, right earbud, and charging case.
  • Charging Status: Indicators showing whether the earbuds or case are currently charging.
  • Low Latency Mode: Off, Auto, and On modes for controlling Game Mode (Low Latency). Auto mode uses a single app list with Exclude/Include behavior and supports keeping low latency active until the app closes.
  • System Tray Support: Minimize to tray and control features like Low Latency Mode directly from the tray menu.
  • Auto-Connect: Automatically detects compatible connected Bluetooth devices.
  • Single Instance Protection: Prevents multiple instances of the application from running simultaneously.
  • Windows Startup Support: Option to start the application automatically when Windows boots.
  • Smart Updater: Built-in update checker that supports semantic versioning, including pre-release tags like alpha, beta, and rc.
  • Modern UI: A sleek, dark-themed interface built with the Flet framework.

Downloads

Installation

  1. Clone or download this repository:

    git clone https://github.com/CesurPolat/MiBudsClient.git
    cd MiBudsClient
  2. Install the required dependencies:

    pip install -r requirements.txt

Usage

Run the following command in your terminal to start the application:

python main.py

Upon launch, the app will automatically scan for your device and attempt to connect. Once connected, battery levels will be displayed on the screen.

Building the Executable

To package the application into a standalone executable for Windows, run the following command:

flet pack main.py --icon assets\icon.ico --add-data "assets:assets" --name "MiBudsClient"
flet pack main.py \
  --icon assets/icon.ico \
  --add-data "assets:assets" \
  --name "MiBudsClient" \
  --hidden-import optparse

Supported Devices

  • Redmi Buds 6 Play
  • (Untested on other Xiaomi/Redmi models, but may work if they use a compatible RFCOMM protocol)

License

This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.


Note: This is not an official Xiaomi application. It is developed for personal use and the open-source community.