Amazfit T-Rex 3

Good Stuff:

Bad Stuff:


Amazfit v Garmin v Casio

Casio make some big chunky watches, the only problem is that the actual display real estate is small compared to the size of the watch.

Casio PRW-3510

Garmin FR245

Amazfit T-Rex 3

Case = 56.9 x 53.4mm
Display = 22mm = 0.86inches

Case = 42 x 42mm
Display = 30mm = 1.2inches

Case = 48.5 x 48.5mm
Display = 38mm = 1.5inches

Finally a rugged display with a decent sized screen.


Heart Rate

All fitness watches make a big deal about heart rate zones and their effect on training. Despite the aggressive marketing wrist based optical Heart Rate sensors have limitations. Mostly they have trouble detecting changes quickly and brief peaks. For steady state cardio a wrist HR sensor is good enough. For HIIT or Weights a chest HR strap provides better metrics.

Heart Rate Zones

It gets even worse with Heart Rate Zones. Amazfit Zepp app assumes a maximum HR of (220 - age). So for me this is a Max HR of 166. But after wearing the watch for a couple of months, for my 10km runs Zepp app shows the following metrics:

If these fitness watches and cloud computers are so smart, with all sorts of proprietary algorithms and Artificial Intelligence, why does it show:

Surely given all the data and metrics accumulated about me over the past few months it should automatically adjust my Max HR and HR Zones? But no, each run shows I break the laws of nature. Garmin was just the same.

Despite the agressive marketing wrist based optical Heart Rate sensors have limitations.

Even with accurate Heart Rate monitoring by a Chest Strap not all is as it seems. My empirical evidence of Heart Rate does not match the advice on the internet.


SDK Environment

Amazfit has a ZeppOS SDK which is based on JavaScript.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.0`

# verifies the right NPM version is in the environment
npm -v # should print `10.7.0`

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

nvm install lts
nvm use lts

nvm install --lts
nvm use --lts

npm i @zeppos/zeus-cli -g

zeus -v

Then we are up an running.

Time to create some Amazfit Apps.


Watchfaces

The Amazfit T-Rex 3 has a fantastic OLED display with 2000nits.

Full power display.

Always on Display (AOD).

Amoled Color Power Consumption.

Workout Duration comes from getSportData()


Apps

Parkrun

Parkrun Barcode.

Parkrun QR Code.

Workout Timer

The default workout timers on Smart Watches are rubbish.

So I wrote my own simple workout app with a number of pre-defned timers: 60, 90, 120, 180, 300, 600.

Timer. 6 preconfigured.

Time and Date.

Elapsed Time.


Widgets/Shortcut Cards

Rather than widgets Amazfit T-Rex 3 uses Shortcut Cards. I use these to display information in large text rather than putting them on the main display in small text.

Big Date

Big steps

Big battery


Data Screens - Workout Extensions

In activities it is possible to add custom data screens.

The big problem with the Amazfit T-Rex 3 Data Screens is that even with a single data field the text is too small. For example the pace screen in the Outdoor Running activity compared to the much smaller Garmin Forerunner 245

Amazfit T-Rex 3
Display = 38mm

Garmin FR245
Display = 30mm

Look at all that wasted screen space on the T-Rex 3! The smaller Garmin Forerunner 254 with its choice of thicker fonts is more readable.

I find this difficult to read when running. Doubly so when its bright sunlight and need to wait for the raise wrist action to light the screen up. The older smaller Garmin Forerunner 245 wins here.

I guess most software is written by youngsters with perfect eyesight. But once you pass 40 years of age close vision gets worse. It's a condition called presbyopia. No one wants to wear their reading glasses while running!

For me Data Screens are probably the most important feature of any sports/smart watch. I have yet to read a review that even mentions them.

Thankfully Amazfit T-Rex 3 supports Workout Extensions.

Workout Duration

Workout Duration comes from getSportData()

Amazfit Workout Time

My Workout Time

Garmin FR245
Display = 30mm



Workout Distance

Workout Distance comes from getSportData()

Amazfit Distance

My Distance



Running Pace

Pace is my key running screen. Its important to be able to see this while running at a glance in bright sunlight while wearing shades!

Amazfit Lap Pace

My Lap Pace.

Note the much bigger font. It also shows lap number and progress (green) arc) in lap. Unfortunately getSportData() does not make any lap data available. Also lap data is not exported in GPX files, and the lap alert screen cannt be customised. So I stopped using Amazfit lap feature and calculate the 1km laps myself. I also display a custom lap alert screen.

Amazfit Lap Pace

My Lap Pace.

For running (lap pace below 10mins a km) I use an even bigger font, I also enable pauseDropWristScreenOff to keep the display on for easy reading in direct sunlight. Raise to Wake screen is too slow. This does mean a small hit on the battery, but running is the main reason I bought this watch. I lose around 5% (GPS and screen) on an hours run. I can live with this.


Heart Rate and Zone

Amazfit Heart Rate

My Heart Rate

I also include lap number and lap progress.