diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10ProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10ProCoordinator.java
new file mode 100644
index 0000000000..00bc10a562
--- /dev/null
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watches/MiBand10ProCoordinator.java
@@ -0,0 +1,57 @@
+/* Copyright (C) 2026 José Rebelo
+
+ This file is part of Gadgetbridge.
+
+ Gadgetbridge is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Gadgetbridge is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see . */
+package nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches;
+
+import androidx.annotation.NonNull;
+
+import java.util.regex.Pattern;
+
+import nodomain.freeyourgadget.gadgetbridge.R;
+import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
+
+public class MiBand10ProCoordinator extends XiaomiCoordinator {
+ @Override
+ public int getDeviceNameResource() {
+ return R.string.devicetype_miband10pro;
+ }
+
+ @Override
+ protected Pattern getSupportedDeviceName() {
+ return Pattern.compile("^Xiaomi Smart Band 10 Pro [0-9A-F]{4}$");
+ }
+
+ @Override
+ public boolean isExperimental() {
+ return true;
+ }
+
+ @Override
+ public ConnectionType getConnectionType() {
+ return ConnectionType.BT_CLASSIC;
+ }
+
+ @Override
+ public int getDefaultIconResource() {
+ return R.drawable.ic_device_default;
+ }
+
+ @Override
+ public DeviceKind getDeviceKind(@NonNull GBDevice device) {
+ return DeviceKind.FITNESS_BAND;
+ }
+}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
index af179688b3..ee66e846b6 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
@@ -197,6 +197,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.gloryfit.watches.Y66Coordina
import nodomain.freeyourgadget.gadgetbridge.devices.gloryfit.watches.Y6Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.gree.GreeAcCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.hama.fit6900.HamaFit6900DeviceCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watches.MiBand10ProCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xplora.XploraXmoveDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.hplus.EXRIZUK8Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.hplus.HPlusCoordinator;
@@ -555,6 +556,7 @@ public enum DeviceType {
MIBAND9ACTIVE(MiBand9ActiveCoordinator.class),
MIBAND9PRO(MiBand9ProCoordinator.class),
MIBAND10(MiBand10Coordinator.class),
+ MIBAND10PRO(MiBand10ProCoordinator.class),
MIWATCHLITE(MiWatchLiteCoordinator.class),
MIWATCHCOLORSPORT(MiWatchColorSportCoordinator.class),
REDMIBUDS3PRO(RedmiBuds3ProCoordinator.class),
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6cd8948903..d75d3b88ae 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1906,6 +1906,7 @@
Xiaomi Smart Band 9 Active
Xiaomi Smart Band 9 Pro
Xiaomi Smart Band 10
+ Xiaomi Smart Band 10 Pro
Amazfit Balance
Amazfit Balance 2
Amazfit Balance 2 XT
diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/BluetoothNameTest.java
similarity index 99%
rename from app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java
rename to app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/BluetoothNameTest.java
index 779569455a..0406902cd7 100644
--- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinatorTest.java
+++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/devices/BluetoothNameTest.java
@@ -13,7 +13,7 @@ import java.util.regex.Pattern;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceType;
import nodomain.freeyourgadget.gadgetbridge.test.TestBase;
-public class AbstractDeviceCoordinatorTest extends TestBase {
+public class BluetoothNameTest extends TestBase {
@Test
public void deviceMatchingByNameTest() {
final Map bluetoothNameToExpectedType = new HashMap<>() {{
@@ -201,6 +201,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase {
put("OV-Touch2.6_LE", DeviceType.OVTOUCH26); // #5628
put("BPW4500", DeviceType.BRAUN_BPW4500); // #5886
put("MATSON Monitor", DeviceType.BM2_BATTERY_MONITOR); // #6212
+ put("Xiaomi Smart Band 10 Pro AB01", DeviceType.MIBAND10PRO); // #6248
}};
for (Map.Entry e : bluetoothNameToExpectedType.entrySet()) {