Bluetooth SPP UUID in Xiaomi devices: understand the technical details and application

Introduction: Why SPP UUID is important for Xiaomi gadgets

If youโ€™ve ever tried to connect a Xiaomi device (whether itโ€™s a Mi Band, wireless headphones or a smart lamp) to a developer-level Bluetooth or debugging device, youโ€™ve probably come across the term SPP UUID. Itโ€™s not just a set of numbers, itโ€™s the key that determines how your smartphone or tablet will interact with your gadget. In the Xiaomi ecosystem, this parameter plays a critical role, especially when it comes to non-standard use cases, from creating custom applications to restoring communication with โ€œlockedโ€ devices.

In this article, we will discuss what Bluetooth SPP (Serial Port Profile) UUID is, how it is used in Xiaomi devices, where it is found, and why it is impossible to flash Mi Band 7 via nRF Connect or connect to Redmi Buds for deep customization, and we will also touch on the common mistakes that users encounter when working with UUID, and give practical recommendations for their elimination.

Note that the information is relevant for 2026 and takes into account the latest updates to the Bluetooth protocols in Xiaomi devices, including models based on Bluetooth 5.3 and BLE (Bluetooth Low Energy).

What is Bluetooth SPP and UUID: we understand the terms

Before we dive into the specifics of Xiaomi, we need to understand the basic concepts:

  • ๐Ÿ”ต SPP (Serial Port Profile is a Bluetooth protocol that emulates a classic serial port (as in older modem connections) that allows data to be streamed, which is convenient for debugging, firmware or exchanging commands between devices. SPP It is often used for service operations, such as recovering Mi Band via Mi Fit or third-party utilities.
  • ๐Ÿ”ข UUID (Universally Unique Identifier โ€“ Unique Identifier 128-A bit ID that is assigned to each service or feature in a Bluetooth device, essentially the "address" from which your smartphone finds the desired functionality of the gadget, UUID 00001101-0000-1000-8000-00805F9B34FB โ€” This is the standard identifier for SPP.

Xiaomi devices often have custom UUIDs that the manufacturer assigns to its proprietary services, such as to control vibration in the Mi Band 6 or set up an equalizer in Redmi Buds 4 Pro. Without knowledge of these UUIDs, it is impossible to write your own application or connect to the device through tools like nRF Connect or Bluetooth Terminal.

Itโ€™s important to understand that SPP UUID is not the same as UUID for BLE. The first refers to classic Bluetooth (for example, for headphones), and the second refers to the energy-efficient BLE protocol, which uses fitness bracelets and smart sensors. In Xiaomi, both types of UUID can be used even in one device: for example, Mi Band 8 uses BLE for data synchronization and SPP for firmware.

๐Ÿ“Š What Xiaomi device do you work with via Bluetooth?
Mi Band
Wireless headphones
Smart lamp.
router
Other gadgets

Where and why Xiaomi uses SPP UUID

The manufacturer applies SPP UUID in several key scenarios:

  1. Firmware and restore: For example, to flash the Mi Band over Mi Fit or Amazfit, you need to connect to a specific UUID via SPP. Without it, the utility simply wonโ€™t see the device.
  2. Debugging and Diagnostics: Xiaomi engineers use SPP to collect logs from devices in service centers, and this is true for enthusiasts who want to unlock, say, hidden features of Redmi Watch 3.
  3. Custom applications: If you write your application for managing a Xiaomi gadget (for example, to automate a smart home), without knowing UUID, you can not send even the simplest command.

Here are some examples of devices and their typical SPP UUIDs:

The deviceTypical SPP UUIDAppointment
Mi Band 5/6/7/80000FFE0-0000-1000-8000-00805F9B34FBFirmware, debugging, access to logs
Redmi Buds 3/4 Pro0000180A-0000-1000-8000-00805F9B34FBSound setting, software update
Xiaomi Smart Band 7 Pro0000FF06-0000-1000-8000-00805F9B34FBService commands (reset, calibration)
Mi True Wireless Earbuds00001101-0000-1000-8000-00805F9B34FBClassic SPP for audio streaming

Note that these UUIDs may vary depending on the firmware version or regional modification of the device, for example, the Mi Band 8 for the Chinese market may use one set of identifiers, and the global version may use another.

๐Ÿ’ก

If you can't find an SPP UUID for your device, try scanning it through nRF Connect (Android/iOS).The "Unknown Service" section often hides proprietary UUIDs from Xiaomi.

How to find SPP UUID for your Xiaomi device

There are several ways to determine SPP UUID, depending on your task and level of technical training:

Method 1: Through official documents

For some devices, Xiaomi publishes technical documentation with UUID. For example, for Mi Band, you can find information on the site mi-band.rf (an informal resource) or in open project repositories like AmazfitBipOS on GitHub. Look for files with the.json or.xml extension, which lists services and features.

Method 2: Bluetooth Scanner (nRF Connect, Bluetooth LE Scanner)

The most reliable method is to scan the device yourself:

  1. Install the nRF Connect app (available for Android and iOS).
  2. Turn on Bluetooth on your smartphone and activate the search mode on your Xiaomi device (for example, press the button on the Mi Band before vibration).
  3. In nRF Connect, click Scan and find your device in the list.
  4. Connect to it and go to the Services tab, and it will show all UUIDs, including SPP.

Pay attention to services with names like Unknown Service or Vendor Specific โ€“ this is where proprietary UUIDs from Xiaomi often hide.

Method 3: Traffic Analysis (for Advanced)

If you're developing your own app, you can intercept Bluetooth traffic between an official app (like Mi Fit) and your device.

  • ๐Ÿ“ฑ Android: Packet Capture (root required) or Bluetooth Snooper.
  • ๐Ÿ’ป PC: Wireshark with Bluetooth adapter (e.g. Nordic Semiconductor).

In logs, look for lines with UUID or Service Discovery, which requires technical skills, but yields the most accurate results.

Install nRF Connect|Turn on Bluetooth on your phone|Activate Search Mode on Xiaomi Device|Connect and open the Services tab|Find Unknown Service with 128-bit UUID-->

Common Mistakes When Working with SPP UUID in Xiaomi

Even experienced users have problems trying to use SPP UUID, and these are the most common errors and solutions.

โš ๏ธ Note: If you are trying to connect to a Xiaomi device through SPP, But the connection breaks after a few seconds, check if the official application (for example, Mi Fit) blocks third-party connections, in some cases you need to turn it off or use the aircraft mode.

  • ๐Ÿ”Œ "Device not found": Make sure the gadget is in pairing mode (e.g. Mi Band should vibrate when searching). Also check that the smartphone is enabled Bluetooth Classic (not just Bluetooth Classic). BLE).
  • ๐Ÿ”„ "UUID Not supported: Some Xiaomi devices require authentication before accessing the app SPP. For example, for the Mi Band 7, you may need to send a special command through the BLE, to unlock" SPP-port.
  • ๐Ÿ”’ "Access is prohibited: In the firmware after 2022 Xiaomi has added tamper protection.If you see this error, try using it. UUID suffixed -FFE1 standard -0000.

Another common problem is Bluetooth version conflict, such as if your smartphone only supports Bluetooth 4.2 and the Mi Band 8 requires 5.0.+, SPP-The connection may not work smoothly, in which case it will help to update the firmware of the phone or use another device (for example, the Xiaomi Pad 6 tablet).

If youโ€™re developing an app, pay attention to timeouts: Xiaomi devices often break the connection after 10-15 seconds of inactivity. To avoid this, send โ€œkeep-aliveโ€ packets (for example, an AT command for SPP).

Example of commands to maintain connection
For SPP-You can send a command to the Mi Band every 5 seconds: AT+TEST=This will prevent the connection from breaking by timeout.

Practical examples: working with SPP UUID in Xiaomi

Consider two real-world scenarios where knowledge of SPP UUID is critical:

Example 1: Mi Band 7 firmware via nRF Connect

Let's say you want to update your firmware to Mi Band 7 manually.

  1. Find the current firmware (a file with the.fw extension) on forums like 4PDA.
  2. Open nRF Connect and connect to the bracelet via UUID 0000FFE0-0000-1000-8000-00805F9B34FB.
  3. In the Unknown Service section, find the characteristic with UUID 0000FFE1-... is a channel for data transfer.
  4. Send the AT+START command, then download the firmware through the Send File.

If the bracelet doesnโ€™t respond, check that youโ€™re using the correct firmware version (Chinese/global) and that the battery is over 50% charged.

Example 2: Set up Redmi Buds 4 Pro via Bluetooth Terminal

For fine tuning of sound (for example, changing the equalizer), you can use Bluetooth Terminal:

  1. Connect your headphones to your phone and open Bluetooth Terminal.
  2. Select the device and enter UUID 0000180A-0000-1000-8000-00805F9B34FB (standard for audio devices).
  3. Send the command AT+EQ = 1,2,3,4,5, where the numbers are frequency levels (bass, middle, high).

Note that not all commands are officially supported. Some settings may reset after the headphones are rebooted.

๐Ÿ’ก

Xiaomi BLE-based devices (such as the Mi Band) first need to establish a connection using a standard profile, and then โ€œswitchโ€ to SPP via proprietary commands. Without this, the device will simply ignore your requests.

Security and Risks in Working with SPP UUID

Working with SPP UUID at a low level involves several risks:

  • ๐Ÿ”“ Loss of warranty: Any manipulation of firmware or service commands could result in the device being locked. Xiaomi does not provide official support for such cases.
  • ๐Ÿž Unstable work: Incorrectly sent command (for example, downed equalizer settings in headphones) can lead to permanent failures.In some cases, only a factory reset will help.
  • ๐Ÿ•ต๏ธ Security vulnerabilities: Open SPP-A port can be a point of entry for attackers, such as intercepting Mi Band data or sending malicious commands.

To minimize the risks:

  • Always back up your current firmware before experimenting (e.g., through Mi Band Tools).
  • Use only proven sources for firmware and UUID (official forums, GitHub of well-known developers).
  • After debugging, turn off unnecessary ones. SPP-Services to close potential security โ€œholes.

โš ๏ธ Note: Xiaomi firmware has added downgrade protection after 2023 if you try to flash the old version through the SPP, The device may be blocked with an error. ERROR 0x10. In this case, only contacting the service center will help.

FAQ: Frequent questions about SPP UUID in Xiaomi

Can I use the same SPP UUID for different Xiaomi devices?
No, each type of device (e.g. Mi Band 6 and Mi Band 7) has its own UUID set, even if they look similar. Moreover, the same model may have different UUIDs depending on the region (China/global version) or firmware version. Always check current data through a scanner like nRF Connect.
Why is my Xiaomi device not responding to SPP commands?
There are several reasons: The device is not in debugging mode (e.g., Mi Band needs to be put into firmware mode by holding a button). You are using the wrong UUID (check through the scanner); the official app (Mi Fit, Xiaomi Wear) blocks third-party connections. Try to disable it. The device's firmware is outdated or corrupt. Start by checking the simplest: reboot both the device and the smartphone, then try again.
How to reset your Xiaomi device via SPP if it doesnโ€™t respond?
For most Xiaomi devices, there is a universal SPP reset command: AT+RESET or AT+DEFAULT. Send it via Bluetooth Terminal or nRF Connect using the correct UUID (usually 0000FFE0-... for bracelets or 0000180A-... for headphones). If the device doesn't respond, try a physical reset (for example, for the Mi Band - hold the button for 20 seconds).
Where to find SPP UUID documentation for new Xiaomi devices?
Official documentation from Xiaomi is closed, but there are several alternative sources: repositories on GitHub (look for queries like Xiaomi BLE protocol or Mi Band SPP). Forums enthusiasts: 4PDA, XDA Developers. Unofficial wikis, for example, mi-band.ru. Traffic analysis of official applications (Mi Fit, Xiaomi Wear) through Wireshark. Note that the information may become outdated. For example, the protocols for Mi Band 8 are very different from Mi Band 5.
Can you damage a Xiaomi device by sending commands over SPP?
Yes, if you send the wrong command (e.g., knock down the accelerometer calibration in the Mi Band or damage the firmware partition), the device may stop working correctly. Factory resets will help at best, and service center flashing will be required at worst. Always double-check commands and UUIDs before sending.