Exploring Various Smartwatches

Played through various smartwatches for a project I was doing. See basic comparison below:

Comparison

WatchOSProgramming EnvironmentSensorsBattery
Acc.Gyr.Mag.
Fitbit VersaFitbit OSJavascript through Fitbit studioBad (~1 day)
AmazFit GTRRealtime OS basedSadly, not programmableVery good (14 days)
AmazFit VergeAndroid OS 5.1Android SDK. Needs hacking to sideload app (i.e., AmazMod)Good (5 days)
TicWatch S2Wear OS 2Android and Wear OS SDKGood-ish (~2 days)

Programming Environment

  • Since both Android OS 5.1 and Wear OS are android based, it shouldn't be a surprise that they both actually have a lot in common.
  • AmazFit can be programmed through Android Studio right off the bat (not big dramas for me). That being said, if you want to develop your own smartface, you must check out GreatFit app.
  • If you are interested on having the smartwatch to only run and show one app, google how to enable Kiosk mode on WearOS. Notable links: link1, link2

Sensor List Output

Below is the output from the code.

mSensorManager = activity.getSystemService(Activity.SENSOR_SERVICE) as SensorManager
Log.v("SensorsHandler", mSensorManager.getSensorList(Sensor.TYPE_ALL).toString())

AmazFit Verge

Note that though AmazFit Verge does have the Rotation vector Sensor, at the time of testing (Sept 2020) I can't really obtain sensible rotation vector (i.e., quaternion) data from it. It does, however, output sensible data from the depracated Orientation Sensor.

[{Sensor name="TAOS Light sensor", vendor="Huami Tech", version=1, type=5, maxRange=10240.0, resolution=1.0, power=0.15, minDelay=0}, 
{Sensor name="Accelerometer Sensor", vendor="Huami Tech", version=1, type=1, maxRange=39.2266, resolution=1.0E-5, power=0.17, minDelay=2000}, 
{Sensor name="Magnetic field Sensor", vendor="Huami Tech", version=1, type=2, maxRange=200.0, resolution=0.01, power=5.0, minDelay=10000}, 
{Sensor name="Gyroscope Sensor", vendor="Huami Tech", version=1, type=4, maxRange=2000.0, resolution=0.01, power=6.1, minDelay=10000}, 
{Sensor name="Pressure Sensor", vendor="Huami Tech", version=1, type=6, maxRange=2000.0, resolution=1.0, power=0.0027, minDelay=10000}, 
{Sensor name="Step Counter", vendor="Huami Tech", version=1, type=19, maxRange=200.0, resolution=1.0, power=0.17, minDelay=0}, 
{Sensor name="Pick-out Sensor", vendor="Huami Tech", version=1, type=65537, maxRange=200.0, resolution=1.0, power=0.17, minDelay=0}, 
{Sensor name="gesture Sensor", vendor="Huami Tech", version=1, type=23, maxRange=200.0, resolution=1.0, power=0.17, minDelay=0}, 
{Sensor name="PPG Sensor(auto)", vendor="Huami Tech", version=1, type=65538, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="PPG Sensor(25mA)", vendor="Huami Tech", version=1, type=65538, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="PPG Sensor(40mA)", vendor="Huami Tech", version=1, type=65538, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="PPG Sensor(55mA)", vendor="Huami Tech", version=1, type=65538, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="infrared  Sensor", vendor="Huami Tech", version=1, type=65539, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="Orientation  Sensor", vendor="Huami Tech", version=1, type=3, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="rotation vector Sensor", vendor="Huami Tech", version=1, type=11, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="linear acceleration  Sensor", vendor="Huami Tech", version=1, type=10, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}, 
{Sensor name="Gravity Sensor", vendor="Huami Tech", version=1, type=9, maxRange=200.0, resolution=1.0, power=0.17, minDelay=2000}]

TicWatch S2

 [{Sensor name="LSM6DS3 Accelerometer", vendor="STMicroelectronics", version=1, type=1, maxRange=78.4532, resolution=0.0023956299, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Accelerometer Uncalibrated", vendor="STMicroelectronics", version=1, type=35, maxRange=78.4532, resolution=0.0023956299, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Gyroscope", vendor="STMicroelectronics", version=1, type=4, maxRange=34.906586, resolution=0.0012207031, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Gyroscope Uncalibrated", vendor="STMicroelectronics", version=1, type=16, maxRange=34.906586, resolution=0.0012207031, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Accelerometer -Wakeup Secondary", vendor="STMicroelectronics", version=1, type=1, maxRange=78.4532, resolution=0.0023956299, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Accelerometer Uncalibrated -Wakeup Secondary", vendor="STMicroelectronics", version=1, type=35, maxRange=78.4532, resolution=0.0023956299, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Gyroscope -Wakeup Secondary", vendor="STMicroelectronics", version=1, type=4, maxRange=34.906586, resolution=0.0012207031, power=0.9, minDelay=10000}, 
 {Sensor name="LSM6DS3 Gyroscope Uncalibrated -Wakeup Secondary", vendor="STMicroelectronics", version=1, type=16, maxRange=34.906586, resolution=0.0012207031, power=0.9, minDelay=10000},
 {Sensor name="Gravity", vendor="QTI", version=2, type=9, maxRange=78.4532, resolution=0.0023956299, power=1.7999878, minDelay=10000}, 
 {Sensor name="Linear Acceleration", vendor="QTI", version=2, type=10, maxRange=78.4532, resolution=0.0023956299, power=1.7999878, minDelay=10000}, 
 {Sensor name="Step Detector", vendor="QTI", version=2, type=18, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Step Counter", vendor="QTI", version=2, type=19, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Significant Motion Detector", vendor="QTI", version=2, type=17, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=-1}, 
 {Sensor name="Game Rotation Vector", vendor="QTI", version=2, type=15, maxRange=1.0, resolution=5.9604645E-8, power=1.7999878, minDelay=10000}, 
 {Sensor name="Heart Rate Monitor", vendor="QTI", version=2, type=21, maxRange=250.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Wrist Tilt Gesture", vendor="QTI", version=3, type=26, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Gravity -Wakeup Secondary", vendor="QTI", version=2, type=9, maxRange=78.4532, resolution=0.0023956299, power=1.7999878, minDelay=10000}, 
 {Sensor name="Linear Acceleration -Wakeup Secondary", vendor="QTI", version=2, type=10, maxRange=78.4532, resolution=0.0023956299, power=1.7999878, minDelay=10000}, 
 {Sensor name="Step Detector -Wakeup Secondary", vendor="QTI", version=2, type=18, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Step Counter -Wakeup Secondary", vendor="QTI", version=2, type=19, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Game Rotation Vector -Wakeup Secondary", vendor="QTI", version=2, type=15, maxRange=1.0, resolution=5.9604645E-8, power=1.7999878, minDelay=10000}, 
 {Sensor name="Heart Rate Monitor -Wakeup Secondary", vendor="QTI", version=2, type=21, maxRange=250.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Gaze Detector -Wakeup", vendor="COMPAL", version=2, type=33171025, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="AMD", vendor="QTI", version=2, type=33171006, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="RMD", vendor="QTI", version=2, type=33171007, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Pedometer", vendor="QTI", version=2, type=33171009, maxRange=1.0, resolution=1.0, power=0.8999939, minDelay=0}, 
 {Sensor name="Coarse Motion Classifier", vendor="QTI", version=4, type=33171012, maxRange=2.14748365E9, resolution=1.0, power=0.8999939, minDelay=0}, {Sensor name="PAH8011 Touch", vendo
V/SensorsHandler: 1000000 [{Sensor name="LSM6DS3 Accelerometer", vendor="STMicroelectronics", version=1, type=1, maxRange=78.4532, resolution=0.0023956299, power=0.9, minDelay=10000}, null]
Avatar
Luke Sy
PhD Candidate

My research interests include state estimation, robotics, wearable sensors, machine learning, and biomedical engineering.

Previous

Related