diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watchs3/XiaomiWatchS3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watchs3/XiaomiWatchS3Coordinator.java
new file mode 100644
index 000000000..9d6cd7997
--- /dev/null
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/watchs3/XiaomiWatchS3Coordinator.java
@@ -0,0 +1,60 @@
+/* Copyright (C) 2023 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.watchs3;
+
+import java.util.regex.Pattern;
+
+import nodomain.freeyourgadget.gadgetbridge.R;
+import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.XiaomiCoordinator;
+
+public class XiaomiWatchS3Coordinator extends XiaomiCoordinator {
+ @Override
+ public int getDeviceNameResource() {
+ return R.string.devicetype_xiaomi_watch_s3;
+ }
+
+ @Override
+ public int getDefaultIconResource() {
+ return R.drawable.ic_device_miwatch;
+ }
+
+ @Override
+ public int getDisabledIconResource() {
+ return R.drawable.ic_device_miwatch_disabled;
+ }
+
+ @Override
+ public ConnectionType getConnectionType() {
+ return ConnectionType.BT_CLASSIC;
+ }
+
+ @Override
+ protected Pattern getSupportedDeviceName() {
+ // only saw it with eSIM in #3506, but allowing both just in case
+ return Pattern.compile("^Xiaomi Watch S3( eSIM)? [0-9A-F]{4}$");
+ }
+
+ @Override
+ public boolean isExperimental() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsFindDevice() {
+ return false;
+ }
+}
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 480902318..6f930ad59 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
@@ -178,6 +178,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.redmiwatch2lite.Redmi
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watchs1.XiaomiWatchS1Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watchs1active.XiaomiWatchS1ActiveCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watchs1pro.XiaomiWatchS1ProCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.watchs3.XiaomiWatchS3Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xwatch.XWatchCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.zetime.ZeTimeCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.xiaomi.miwatch.MiWatchLiteCoordinator;
@@ -244,6 +245,7 @@ public enum DeviceType {
XIAOMI_WATCH_S1_ACTIVE(XiaomiWatchS1ActiveCoordinator.class),
XIAOMI_WATCH_S1_PRO(XiaomiWatchS1ProCoordinator.class),
XIAOMI_WATCH_S1(XiaomiWatchS1Coordinator.class),
+ XIAOMI_WATCH_S3(XiaomiWatchS3Coordinator.class),
AMAZFITGTS3(AmazfitGTS3Coordinator.class),
AMAZFITGTR3(AmazfitGTR3Coordinator.class),
AMAZFITGTR4(AmazfitGTR4Coordinator.class),
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b44d1d618..e3a355941 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2540,6 +2540,7 @@
Sleep Mode Schedule
Send a reminder and enter sleep mode at bedtime. At the scheduled wake-up time, the wake-up alarm will sound.
Xiaomi Watch S1
+ Xiaomi Watch S3
Xiaomi Watch S1 Active
Xiaomi Watch S1 Pro
Mi Watch Color Sport