COROS APEX Multisport GPS Watch In-Depth Review


I don’t think there’s any sports technology GPS watch startup that’s being watched as closely by GPS watch industry giants as COROS is. Now as you’ll see, it may not be entirely for the reasons you think, but no matter the reason – they are definitely be watched.

COROS first arrived on my radar a few years back with their COROS Linx helmet, which used jawbone conduction to let you listen to music while riding without blocking out ambient street/car noise. It was great, and well executed. It also became my day to day helmet.  They went onto release a few more variants of that helmet over the last couple years.

Then a year ago they announced the COROS Pace GPS watch, a full blown multisport GPS watch. It was effectively a basic triathlon watch that was more or less a duplicate of the Garmin Forerunner 735XT in terms of looks and many basic features.  Despite its somewhat basic software, it actually threw down really impressive GPS performance and strong optical heart rate performance. In many cases besting Garmin, Suunto and Polar in my tests.

Skip down the road to this past November, and COROS announced their APEX lineup. These watches did away with the plastic look of the COROS Pace units, and instead looked a bit like a blend between a Garmin Fenix 5 and a Polar Vantage, with a side of Apple digital crown. Aside from the physical aspects, the company also added in addition training load related performance tracking software features. The price for all of this ended up being $ 299 – quite impressive.

Of course, the most basic question in many people’s minds is: Is it any good?

Well, it’s a complicated answer.

With the previous COROS Pace watches it was slightly more black and white, but with the APEX there’s a lot of grey. Not fifty’s shades worth, but, enough that nuances is important.

In any case – we’ll dive into all those details down below. Note that COROS sent over a few APEX media loaner units to test out (one of each size), and after this review I’ll stick them in a box and send them back. After which I’ll go out and pickup any units I want via normal retail channels.  Just the way I roll. If you find this review useful, hit up the links at the end of the post to support the site.

What’s in the box:

There are two versions of the COROS APEX watch, a 42mm and a 46mm. Within that there are a few color variants. The main differences between the 42mm and the 46mm are that the case materials and battery life.

The 46mm gets up to 35hrs in regular GPS mode (and 100 in UltraMax GPS mode) – $ 349
The 42mm gets up to 25hrs in regular GPS mode (and 80 in UltraMax GPS mode) – $ 299

Meanwhile, on the materials front the 46mm uses an titanium allow bezel, while the 42mm uses a ceramic bezel. Both are waterproof to 100m and both have full barometric altimeters.

In any case, I tested two variants. I tested a white 42mm as my primary watch, and then I also had a black 46mm variant that I double-checked some stuff on, including one workout where I wore one of each watches (more on that in the accuracy section).

Here’s the outer box:

DSC_5320 DSC_5321

Next, once we crack open the box we’ve got three things inside: The watch, the cable, and the manual set.


The watch has a nifty little bit of plastic protecting it. I always appreciate companies practicing safe shipping.


Meanwhile, the cable is a three-pronged affair that charges only. You cannot download file from it via USB, as download can only happen via the mobile app.


Then there’s the user guide. You won’t need it after this post.


And…that’s it. A quick and tidy look at stuff. Fear not – you’ll get plenty of pics of the watch throughout this review.

Oh, but because I don’t have all the units, here’s a quick cheat sheet that COROS has to the sizes, straps, and colors:


Ok, now it’s onto the main review.

The Basics:


From a basics standpoint, no matter which watch you’ve selected, everything is the same. To start the watch is *not* a touchscreen watch, which is good. I rarely find touchscreens work out well for endurance sports watches. Instead, you have a mere two and a half buttons. You’ve got one dedicated pressable button in the lower right, followed by one digital crown in the upper right.


The digital crown can be rotated to scroll through menus and pages, while it also serves as a secondary button when pressed in. COROS has basically duplicated the button layout of an Apple Watch here…except without the requisite touchscreen.

Meanwhile, the strap is detachable. For the 46mm variant it has a 22mm strap, whereas the 42mm watch has a 20mm strap. It uses standard watch straps, so you can mix and match based on whatever you find on Amazon.


On the default watch face you’ve got a near identical duplication of the Garmin Fenix series (at right) watch face, making it an easy transition for those coming from Garmin.

DSC_5916 imagexx

Don’t worry though, if you’re trying to move away from the Garmin ecosystem you can change these within the app to non-Garmin watch faces if you prefer:

2019-02-05 12.21.38 2019-02-05 12.21.43 2019-02-05 12.22.01

On the backside of the unit is both the optical HR sensor as well as the charging port:


Next, you can scroll through various widget screens, which include basic metrics like stairs and calories:

DSC_5924 DSC_5923

Or 24×7 heart rate, and pressing the digital crown button will take you to the instant HR screen:

DSC_5926 DSC_5925

Scrolling again takes you to a threesome of a selection showing pressure, altitude, and temperature over the past 6 hours:

DSC_5929 DSC_5927 DSC_5928

One more scroll and you’re down to the compass and GPS signal strength:

DSC_5930 DSC_5931

And finally, one last scroll and you’re into the smartphone notifications panel:

DSC_5933 DSC_5932

When it comes to daily metrics like steps or such, all of those are also viewable on the smartphone app. That image to the lower right is an near exact duplication of Apple’s famed circular activity chart:

2019-02-03 22.41.46 2019-02-03 22.41.50 2019-02-03 22.43.29

You can’t view trends over longer periods of time beyond that’s shown above, nor is there any website that things are sent to for review. Meaning everything is contained within the app. Though, as discussed later, some metrics can be transmitted to Apple Health on iOS, as well as other 3rd party services like Strava.

If you want to tweak settings you can do so from within the app for many things, such as backlight options, do not disturb periods, and smartphone notification settings:

2019-02-05 13.12.03 2019-02-05 13.12.16 2019-02-05 13.12.05

Interestingly, it allows you to toggle certain types of notifications – appearing to gate those from the standard iOS (in my case) notifications center. Ones not listed here still come through as expected. For example I use Nest Cams and those notifications come through as expected despite not being on the list above.

Finally, the last feature you’ve got is a page of your accomplishments, including ‘medals’ or badges that you’ve unlocked, as well as total time. Note that if you’re using an indoor trainer and haven’t paired the speed side of the equation over, these numbers will be rather low in wintertime (like mine are for cycling).

2019-02-05 13.13.53 2019-02-05 13.14.09

With that – let’s switch over to the fitness side of the house.

Sport Usage:


It’s likely the reason you bought the COROS APEX is for sport usage.  So let’s get kicking into a sport mode. Simply tap the digital crown and then you’re presented with a list of sports to select. At present they are:

– Run
– Indoor Run
– Bike
– Indoor Bike
– Pool Swim
– Open Water
– Triathlon

There’s also a ‘System’ option and an ‘AI Trainer’ option, but more on those later.


Once you’ve selected a sport mode it’ll start acquiring your heart rate as well as GPS signal (if an outdoors activity). You’ve also got the choice of either starting an open-ended activity, or doing Interval/Aerobic/Anaerobic Training.


The training modes are actually pretty interesting. It’s basically filling buckets within certain HR times, to achieve the desired impact. It’s frankly a rather logical way of doing it.

DSC_5940 DSC_5941

You can also shortcut into settings, and enable Auto-Pause, as well as distance, pace, cadence, and HR alerts. Distance alerts are based on preset distances, whereas the others are based on ranges (like 140bpm to 150bpm).


You can also configure basic intervals, using either time or distance for the work/rest portions, plus a separate warm-up and cool-down. You can’t download structed workouts to it, but as a basic interval mode it’s pretty handy.


We’ll go ahead and keep things simple for now and just do a regular run, sans-alerts. Once you’ve got GPS and HR lock the icons will stay solidly lit, and you’re ready to roll. Press the digital crown again and off you go. I do like that if it doesn’t have lock yet on those, it’ll warn you that things won’t be good. A nice touch that other companies omit.


Once started you’ll see your data on your default data pages:

You can scroll through the data pages using the digital crown, which is about the most impossible thing ever when doing intervals. It’s just not good. While Apple uses a digital crown on their Apple Watch, you typically change data pages by just swiping the screen. But the COOS APEX isn’t a touch-screen, so no swiping here. I get that when sitting in a conference room the digital crown might be fine, I find it just annoying when running hard – or cycling.

You can press the lower right button to trigger a lap at any time:


It’ll show you the current lap time and lap distance. At this point that’s not customizable.

However, what is customizable is the data pages. To change these you’ll select the ‘Custom Interfaces’ option within the phone app, and then choose the sport you want to tweak:

2019-02-05 12.01.32 2019-02-05 12.01.35 2019-02-05 12.01.50

You get five data pages you can customize, with between 2 and 6 pieces of info – more than any Garmin GPS running watch (on a per page basis, Garmin allows more pages):

2019-02-05 12.03.53 2019-02-05 12.02.44 2019-02-05 12.03.10

For those cyclists in the room, you can display power as well, including normalized power (NP). It’s not clear if they’ve licensed this from TrainingPeaks like others, or just are using it. Either way, it’s there for now.

Speaking of sensors, you can currently pair ANT+ sensors. It does not support Bluetooth Smart sensors. At present it supports ANT+ power meters, ANT+ heart rate straps, ANT+ cadence sensors, and ANT+ speed sensors. No footpods yet. I used it with both a power meter and on a few activities also a heart rate strap:

DSC_5943 DSC_5945

Looking at cases where I recorded a power meter to the COROS APEX and also to a secondary Garmin device – the two plots of power meter data matched perfectly. So at least for that particular unit (Stages LR), it worked just fine. However, be warned that the COROS APEX cannot calibrate (zero offset) your power meter. So be sure you’ve got another app to do that.

COROS also added re-broadcasting of heart rate over ANT+, matching Garmin and skipping ahead of both Suunto and Polar which lack doing so over Bluetooth Smart. I didn’t use this feature because the way its implemented requires being in the broadcast-only widget mode, versus allowing me to enable it within a specific sport mode and still track on my watch.

After you’ve completed a workout you’ll be able to review the stats from the workout on the watch:

These are then synced to your phone once you’ve opened the COROS app and it’s brought to the forefront (it doesn’t seem to sync in the background for me). It’s an easy to read and clean basic layout of stats:

2019-02-05 15.03.23 2019-02-05 15.03.27 2019-02-05 15.03.31

If you’ve configured sharing of the data, it’ll go to Health Kit, Strava, TrainingPeaks, and WeRun:

2019-02-05 12.06.50 2019-02-05 12.06.43 2019-02-05 12.06.37 2019-02-05 12.06.33

Alternatively, you can share a workout directly from the app via .FIT/.TCX/.GPX/.KML/.CSV – which is great, and then to various apps.

2019-02-05 12.07.28 2019-02-05 12.07.30 2019-02-05 12.07.34 2019-02-05 12.07.39

I’d love to see the company add direct Dropbox support. I think that’d be a hit with some of the geeks in the house, myself included.

Finally, let’s talk about the training load related stats.

When I first talked about the APEX months ago, I expressed skepticism that the company had done much due diligence on this front, compared to incumbents like FirstBeat and Polar (and many others). This skepticism was based on conversations where the company said they had done all the development work in-house, a bit of a red flag for a company that didn’t appear to have sport scientists or similar on staff.

Don’t get me wrong – there’s plenty of times I disagree with the assessment that either FirstBeat (who Garmin/Suunto/others use) or Polar gives me in terms of my workout load. And I also get that for some people, the assessments may not reflect reality (for me they tend to be very close). However, this actually isn’t about that. It’s about the fundamentals of their training load platform not adding up.

Still, let’s ramp into this one step at a time, in the same order as the app would show it. The first field you have is the one labeled ‘Training Load’. The chart attempts to plot the rise and fall of training load based on individual workouts. Except, there’s no logic to it. On days I throw down hard workouts, a few hours later it shows my training load at under half that. And then when I go out the next day and apply another hard workout, it doesn’t rise. Here’s two screenshots (one I took two days prior, one I took today at right).

2019-02-03 22.42.04 2019-02-05 10.12.52

Now in the one to the right with that orange peak, that day is a bit skewed (higher) because I was wearing two COROS watches for an interval workout. But that proves my point even more: It’s got double the accumulated load of a reasonably strong interval workout, yet the next day it unexplainably drops by more than half to 50 (and I haven’t done anything yet – it shouldn’t plot anything yet unless it’s doing time based depreciations like EPOC, which it isn’t, since it doesn’t depreciate throughout the day).

Even more – look closely at the numbers above on Jan 31st, it actually changes the values down the road. Two days ago my training load value for Jan 31st was ~85, but then today it’s now showing at ~40. Huh?

To demonstrate how little seems to be understood about this – consider the duration they show the training graph at: Just 1 week. It’s unchangeable.

The entire point of tracking training load is over many weeks, months of data. You can’t see anything in a week. Garmin for example has three settings (seen above) – 4 weeks, 12 weeks, and 6 months. Polar shows a one-week view but when you click on the chart it expands out to three months by default. Suunto allows you to change the time scale as well. Everyone does – that’s the *singular point* of training load.

Next, let’s look at the ‘Fitness index’ section:

2019-02-05 10.12.52 2019-02-05 15.18.05 2019-02-05 10.41.00

Here, they got RHR (Resting Heart Rate) correct, so that’s good. Because even some of the biggies screw this up.  Though, some of the big companies also now separate out RHR while asleep versus awake. Then it shows my VO2Max as 53. That’s low. I’m tested at 61 (albeit a few years ago, but that wouldn’t shift), but 53 is far too low.

Inversely though it randomly lists my *threshold pace* at 6’02”/mile (3:45KM). To begin: No. Just no. As much I’d love for that to be the case, it’s simply not. Threshold pace is roughly considered 15-20 secs/mile slower than 10KM pace. For the moment, let’s just assume my 10KM race pace is a simple 4:00/km (6:23/mile, so a 40min 10KM).  It might be faster, or a bit slower, but that’s a safe number for me. That would put my threshold pace at 6:40/mile, not 6:02/mile.

But here’s the thing – I’m not even upset about it being off by 40-seconds/mile. I’m annoyed they don’t double-check their own numbers. For my age/gender (36yo male), it’d be near impossible with a 53 VO2Max to have a threshold pace of 6:02/mile. That would imply a 5:45/mile 10KM pace, or a 35 minute 10KM road race time. All research out there indicates that would require a VO2Max of 60 (not 53 as indicated by the app).

What’s funny there though is that the app itself actually pulls the Cooper Institute tables (which is widely used by many organizations to yardstick performance), but they don’t seem to heed any of the underlying metrics from that organization.  I don’t know where the lactate threshold value is coming from in the COROS app. Though, it does manage to match my Garmin value at 171bpm. So I’ll give them that.

Next, below that is Stamina:

2019-02-05 10.49.47 2019-02-05 10.49.01

It claims to be a combination of VO2Max, lactate threshold, and workout efficiency. In general, I’m actually not opposed to such a number, but since this is based on the metrics above that are skewed already, the foundation right now here is shaky. Since my VO2Max is clearly off, then this number will be off.

With that there’s something called ‘AI Trainer’, that’s accessible in the sport menu. This appears to be taking recovery into account, and shows how many hours are left for full recovery:


Ignoring the fact that the algorithm recovers far too fast (like 2x too fast), the usage of the term ‘Stamina’ here is duplicate of the term in the previous screenshot, and they don’t match in terms of actual data or purpose. This one here shows 83% (decreasing from 100% during a workout and rising again afterwards), while the other one shows 53.5 (not percent). One shouldn’t have two totally different metrics named the name thing. In talking with COROS, they agree and are looking to change the app driven one to something else. This particular Stamina concept I do like – since it reminds me a little bit of what Xert is doing with some of their metrics.

Finally, note that you can configure heart rate zones within the app’s settings. Tap the picture of yourself, and then you can change them to show zones in ‘Lactate Threshold Zone’, ‘Max Heart Rate Zone’, or ‘Heart Rate Reserve zone’:

2019-02-05 10.46.43 2019-02-05 10.46.26 2019-02-05 10.46.37

This is also where you set RHR, because while COROS will measure RHR, it doesn’t use the measured number for any recovery calculations. Confusingly it uses this statically set number deep in the menus. While that might have impacted some recovery metrics, it wouldn’t have impacted my specific concerns on training load – since my concerns were focused on how things are displayed more than the actual number itself.  Finally, note that at this point these zones are not available beyond heart rate to areas such as cycling/running power.

GPS Accuracy:


There’s likely no topic that stirs as much discussion and passion as GPS accuracy.  A watch could fall apart and give you dire electrical shocks while doing so, but if it shows you on the wrong side of the road?  Oh hell no, bring on the fury of the internet!

GPS accuracy can be looked at in a number of different ways, but I prefer to look at it using a number of devices in real-world scenarios across a vast number of activities.  I use 2-6 other devices at once, trying to get a clear picture of how a given set of devices handles conditions on a certain day.  Conditions include everything from tree/building cover to weather.

Over the years I’ve continued to tweak my GPS testing methodology.  For example, I try to not place two units next to each other on my wrists, as that can impact signal. If I do so, I’ll put a thin fabric spacer of about 1”/3cm between them (I didn’t do that on any of my COROS APEX workouts).  But often I’ll simply carry other units by the straps, or attach them to the shoulder straps of my hydration backpack.  Plus, wearing multiple watches on the same wrist is well known to impact optical HR accuracy.

Next, as noted, I use just my daily training routes.  Using a single route over and over again isn’t really indicative of real-world conditions, it’s just indicative of one trail.  The workouts you see here are just my normal daily workouts.

I’ve had quite a bit of variety of terrain within the time period COROS APEX testing.  This has included runs in: Amsterdam, Nevada: Las Vegas + Nearby Mountains, and Cape Town, South Africa.  Cities and countryside, mountains, trees, desert, oceans, and open-air. It’s been everywhere!

Let’s get right into it with a relatively easy run alongside the waterfront last night. This was an intervals workout, but it was mostly on the promenade and/or side walks, making it actually really easy to spot when the GPS track goes awry. There were a few points where I was near some buildings, but those were somewhat rare. Here’s the data set from that:

This is a unique set in that I’ve actually got not one, but two COROS APEX units on this run. On my left wrist I have the COROS APEX 42mm, whereas on my right wrist I’ve got a COROS APEX 46mm. I’ve also got a Garmin FR935 and Suunto Trainer Wrist HR along for the ride as well, mostly collecting HR data from other straps.


At a high level, things look pretty strong. No obvious issues. Let’s zoom in a bit though, here’s the first looped area:


With the exception of the part near the sandy beach, the COROS APEX units are spot on. However, near the beach the 42mm does go off and play in traffic – something generally frowned upon here. The Spartan though does briefly do the same as I’m finishing my cool-down though.

Along the waterfront edge the 42mm seems slightly offset from the rest. Not a huge amount, perhaps 3-5 meters. But noticeable:


However, once I turn the corner a few hundred meters later it seems to sort itself out, and the main section where I do significant back and forths for my intervals is perfectly on-point:


Finally, what’s somewhat interesting here is the distance totals recorded by each unit. Both the two COROS watches were notably below the Garmin and Suunto watches – by almost 200m. I don’t really know where they lost:


There’s no single moment where it lost the distance, but rather, a very slow roll. You can see the gap very slowly separating throughout the run.


Next, let’s head out for a run through Amsterdam’s Vondelpark. In this case compared against a Forerunner 935 and Vantage M. Here’s that data set:


You can see right off the bat from the view above that the Vantage M is struggling in certain sections of the (mostly wide open) park. Notice how that red track is off in the buildings/woods on both the northern portion, but also offset on the lower southern portion. However, the COROS APEX matches near perfectly the FR935 – and right on track on the northern portion.

But on the southern portion it’s slightly offset from the trails, matching the Vantage M a bit.


Towards the eastern edge of the park you see the Vantage M continue to struggle, but actually so does very briefly the COROS APEX. You see it dip through one section of pond there. Had it been summer people would have been sunbathing there too and trampling over them, but this time of year you’d just have been cold and wet with the ducks.


Still, on the whole it’s pretty close. Not as good as the FR935 in this case, but better than the Vantage M.

Now, let’s transition to some road riding. First back to the desserts about 45 minutes outside of Vegas. This is interesting because while this entire ride was on asphalt, some sections were on tight and winding bike paths – a great test of GPS:


At a high level it looks fine, and indeed, on the roads it was. But it’s those smaller bike paths that things sometimes go off the rails…err…road. For example, you can see this turn here where the Vantage M just cut straight across. Note, this was a low-speed turn (going uphill). The COROS APEX nails these backs and forts without any issue at all.


Same here where the track is spot-on and only the Vantage M struggled.


Since this ride had some nice elevation changes in it, let’s take a quick diversion over to elevation related stats. After all, that’s a key selling point of this unit over most other sub-$ 300 multisport devices that lack a barometric altimeter:


You can see that it and the Stages M50 while offset, do mirror each other. I don’t know which one had the correct starting elevation, but I like that they maintain their offset throughout. The COROS APEX does allow you to set the elevation manually if you want, or you can utilize GPS to obtain the initial lock. The Polar Vantage M lacks a barometric altimeter, but actually didn’t do too bad here at all. A bit smoothed as is often the case, but nice.

And then we’ve got one last ride – this time a ride here in Cape Town along the coast on a relatively wide road, but up against some cliffs in some sections:


As I departed the city areas, things were pretty solid from all units, including the COROS APEX. No problems with buildings:


However, as I started to head out of town, there were definitely a few spots were the Vantage M sliced the corners a bit (in orange on these charts). The COROS APEX didn’t exhibit that issue.


Same goes for other areas of the road – it nails them all perfectly.


Lastly, let’s look at an openwater swim or two. Here’s one from a few days ago up at a reservoir outside of Cape Town.  From a topography standpoint it basically sits atop a mountain, and has wide open lines of sight – so zero GPS disrupters here! On one wrist I had the COROS APEX, while the other wrist had the Polar Vantage M (both in swim mode). Then, for track reference I had a swim buoy with both a Garmin FR935 and Suunto Trainer Wrist HR in just regular running mode (so they properly track every second, whereas openwater mode would try and apply fancy algorithms to them):


Ultimately, here’s what that data set looked like:


In retrospect I should have just done one loop, because it makes it harder to see. On my second loop I realized this and decided to split the lake down the middle. So let’s remove everything except a single reference track and the COROS APEX:


You can see that it’s all over the place here, like the Polar Vantage M track compared to the reference is below. However, the APEX is worse because it wiggles around even more (thus falsely adding distance), plus, it draws a shark tail in the upper corner.

Below is the reference track compared to the Vantage M:


Note that the best openwater GPS tracks I’ve seen to date have actually come from Apple. Here’s a video I did back in October – including the COROS Pace series as well on openwater swim GPS testing:

Oh, as for the other recent swim, it was a few days ago as well. This is an *incredibly tough* swim for GPS units to track, due to one swimming in a canal (maybe 2ish lanes wide) with 4-8 story buildings on either side of it. Even the reference GPS track struggled. While the other wrist based unit on this swim was the Polar Vantage M (and the track was really bad), it wasn’t nearly as useless as the COROS APEX.

The APEX recorded in the (very rough) ballpark of the right distance, but the actual GPS track only managed to connect my start and end points – a mere 50m away from each other (I’ve highlighted it in yellow – that tiny little line):


Look, on this particular swim route (the most challenging GPS-wise I’ve ever swam), I’m not expecting miracles. But, I’m also expecting it to at least plot more than the start and finish points. Polar gets some points for managing to very vaguely plot the return trip (albeit missing the front half).

Now, openwater swims aside, GPS accuracy for me has been very close. Not the best I’ve ever seen, but still more than good enough for most people.  Note that at this point it’s only GPS+GLONASS, though, I haven’t seen significant gains yet from Galileo in most of the watches I’ve tested. Of course, the full satellite constellation is only just coming online, so things should get better there soon.

Ultimately though, I don’t have any major land focused complaints on the COROS APEX when it comes to GPS accuracy.

(Note: All of the charts in these accuracy portions were created using the DCR Analyzer tool.  It allows you to compare power meters/trainers, heart rate, cadence, speed/pace, GPS tracks and plenty more. You can use it as well for your own gadget comparisons, more details here.)

Heart Rate Accuracy:


Before we move on to the test results, note that optical HR sensor accuracy is rather varied from individual to individual.  Aspects such as skin color, hair density, and position can impact accuracy.  Position, and how the band is worn, are *the most important* pieces.  A unit with an optical HR sensor should be snug.  It doesn’t need to leave marks, but you shouldn’t be able to slide a finger under the band (at least during workouts).  You can wear it a tiny bit looser the rest of the day.

Ok, so in my testing, I simply use the watch throughout my normal workouts.  Those workouts include a wide variety of intensities and conditions, making them great for accuracy testing.  I’ve got steady runs, interval workouts on both bike and running, swimming, as well as tempo runs and rides. Basically, most everything a typical triathlete would do.

For each test, I’m wearing additional devices, usually 3-4 in total, which capture data from other sensors.  Typically I’d wear a chest strap (usually the Garmin HRM-DUAL, Polar H10, or Wahoo TICKR), as well as another optical HR sensor watch on the other wrist (and sometimes also either the Scosche Rhythm 24, and Polar OH-1).  Note that the numbers you see in the upper right corner are *not* the averages, but rather just the exact point my mouse is sitting over.  Note all this data is analyzed using the DCR Analyzer, details here.

Let’s dive right into things, first up with a run from two weeks ago. More or less a straightforward run with a bit of intensity shift in the middle as I climbed up a tiny bit, but otherwise pretty vanilla. But we want to start easy and then crank the screws with each successive set. Here’s the DCR Analyzer set if you want to dig in deeper yourself:


We see the nice and proper gradual increase in intensity from the HRM-DUAL whereas the Vantage M and COROS APEX don’t quite get it right. The COROS does some weird bobble, and the Polar follows alone slightly under as well. Nearly 3 minutes into my run I’m still at 110bpm according to it.

Beyond that point though, the three sorta agreed – the APEX is mostly in agreement with the HRM-DUAL, though the Vantage M has these weird bobbles.


I’d point out this little bump here:


This little spike in HR (only up to 164bpm) is spot-on correct by the HRM-DUAL. It’s when I went a bit harder up a short/steep hill. Not all out, but enough that you notice it. Whereas the COROS APEX and Vantage M missed the boat.

And…time for another run. This one back in Vegas and mostly steady-state on/off road. Same crew – Polar Vantage M (in brown), COROS APEX, and HRM-DUAL. Here’s the data:


You see a nice clean build by most of them, but slightly nicer from the HRM-DUAL. Shortly after that the Polar Vantage M completely loses the plot for about 4-6 minutes for some unknown reason, but the COROS APEX holds on pretty well. After that moment the dip for all of them is me taking a picture at the ‘Leaving Las Vegas’ sign (so the dip is correct). From there, the rest of the run is pretty much the same for all of them, save a few brief bobbles from the Polar Vantage M.

Next, we’ve got an interval run from a week ago. This had a ton of HR data to look at.


On my left wrist is the Polar Vantage M (yellow), whereas my right wrist has the COROS APEX 42mm. Meanwhile, I’m wearing the Garmin HRM-DUAL on my chest, while my upper left arm has the Polar OH-1 optical sensor, and the upper right arm the Scosche Rhythm 24 optical sensor. All these are therefore properly separated. There’s no more beautiful HR testing setup I can think of than this.

The workout was an interval workout: 10-minute warm-up, then 6x400m, then 2x800m, and then 2x30s sprints, all with 90s recovery between each set. Oh, and a brief cool-down. Let’s look at the warm-up:


You can see the HRM-DUAL chest strap struggled to catch onto my heart rate (in blue). Why? Well, that was technically my fault. I had wet the strap prior to departing the house, but by the time I walked down to the waterfront it had dried in the cooler morning air. A key issue with chest straps that has been around for decades. Once I looked down a few minutes into the run and realized this, I applied some spit to the strap and it immediately rectified itself.  As for the Polar Vantage M optical HR sensor (yellow/orange)? It’s completely and totally lost during this until the conclusion of the warm-up when I start walking.

Let’s look at the six 400m sets:


Here’s my quick analysis of all six sets:

#1: All good except Polar Vantage M losing the plot briefly
#2: Polar Vantage-M missed the recovery by 20bpm, Garmin HRM-DUAL struggled to find lock, COROS APEX also struggled to find lock, Polar OH-1 blip
#3: Polar Vantage-M good, Garmin HRM-DUAL struggled to find lock, COROS APEX a wee bit delayed, brief Polar OH-1 blip
#4: Polar Vantage-M lost the plot, Garmin HRM-DUAL struggled to find lock, COROS APEX bit delayed
#5: Polar Vantage-M good, Garmin HRM-DUAL failed entirely
#6: All mostly good here, though, a bit of a delay on HRM-DUAL into the recovery.

Hmm. I remember moving the strap slightly on my chest at some point towards the 5th or so interval, and that seems to help the Garmin HRM-DUAL strap from there on out. Check out the remaining 2x800m and 2×30-second sprints:


You can see here the HRM-DUAL was perfectly fine (along with the COROS APEX), whereas the Vantage-M totally missed both by a wide chunk (especially notable since these were twice as long, so it had twice as long to figure it out). The pace for the 800m was a 6:23/mile (4:00/KM), and the pace for the sprints was around 5:00-5:30/mile (3:00-3:30/KM). So plenty of variety from a cadence standpoint.

I have zero idea why the HRM-DUAL failed here so badly on the first six sets. I haven’t seen that elsewhere. And typically when we see failures in intervals, it’s exceedingly rare to see them for chest straps. It’s almost always optical, not chest straps. Maybe it was something environmental, or perhaps my shirt or something weird (though, it’s the same shirt I’ve run in quite a bit lately).  Inversely, I don’t know why the Vantage M failed on the 800’s. Sigh.

The COROS APEX wasn’t the worst of the bunch, but it definitely wasn’t the best either.

Still, I’d seen enough weird quirks that I wondered if there were differences between the 42mm and the 46mm. For example – what if I put one on each wrist and did the interval workout again? Ask and you shall receive – here’s last night’s workout:


I’ve also got Wahoo TICKR-FIT data alongside HRM-DUAL data in there too. But I was really bummed, because both the Scosche Rhythm 24 and Polar OH-1 failed to gather the data in the offline modes. I’m sure it’s probably user error, but it’s still frustrating nonetheless.

You can see though that the 42mm struggles right out of the gate, and then again through 3 of the 6 intervals (the 400m ones). For the 2x800m intervals, it nails those perfectly.  And for the two 30-second sprints, it completely misses the boat.  Oddly though, the 46mm only messed up once: The final walking cool-down (somehow).

I’m not sure what to make of this, but it’s interesting nonetheless.

Next, let’s head out cycling– this time out to the desert for a couple hour wander by bike. This one was interesting because the efforts varied quite a bit.  It’s compared against the Garmin HRM-DUAL strap and Polar Vantage M watch (optical), and it allows you to see how well things work in very cool/dry environments (it wasn’t hot), as well as with a bit of wind. The HRM-DUAL was recorded to the Stages M50 unit. Here’s the data files.


At first you might even think the Polar Vantage M was paired to the HRM-DUAL, but when you look more closely you can see the nuanced differences. The Vantage M optical sensor lags a little bit, and in some parts of the ride differs considerably – especially for short burst efforts. All tell-tale signs of an optical HR sensor that’s struggling slightly. Still, on the whole, this is actually one of the best performances I’ve seen from the Polar Vantage M in harder conditions. The COROS APEX meanwhile, is mostly lost the vast majority of the time.

Meanwhile, on the way back you can see areas in yellow where the Vantage M was significantly behind the chest strap (I’ve highlighted the chest strap below, but you can see the red Polar line offset from each of these). Again, semi-common optical HR lag. Whereas the COROS APEX in blue (42mm) was pretty much perpetually wrong by huge amounts.


I don’t generally like to look at averages across a ride/run/anything, because a unit can be totally wrong the entire time and still get a close average. Nonetheless, you can see the average heart rate between the Stages (which is what the HRM-DUAL was paired under) and the Polar Vantage M, in comparison to how far apart the average is for the COROS APEX.


Last but not least we’ve got an openwater swim. Actually, I tried to do a few openwater swims and gather HR data, but Polar’s H10 offline caching thing with the Polar Beat app is a hot mess. For my first attempt at it, I didn’t put it in the right mode apparently, and thus it didn’t cache/download the data right. On my second swim, the data came out completely useless. As if the strap was malfunctioning. Of course, all of this strap data downloading should absolutely be built into the product like it is for Garmin/Suunto, but it’s not.

In any case, here’s a look at some HR data I captured earlier in the week during a swim. On this swim, I’ve got the Polar Vantage M on one wrist, the COROS APEX on the other, and then a Scosche Rhythm 24 on one upper arm. I wore the Polar H10, but again, that data was useless. Here’s the data set:


The yellow/orange color is the Polar Vantage M. While I’m not entirely sure who is right, I’m going to guess that the Vantage M is correct for at least the first 10 minutes or so. Mostly since there’s little chance my HR was 70-80bpm while swimming.  Then around the 11-minute marker the COROS APEX goes a bit wonky for a few minutes. And by ‘a few minutes’, I mean the rest of the swim. That’s definitely not correct.

However, the Polar Vantage M and Scosche are pretty similar. Certainly not as close as we’ve seen in runs or rides, but not totally misaligned.  There’s one point where the Vantage spikes and the Scosche doesn’t.  I’d put this in the category of ‘mostly believable’, but I just don’t know for sure.

Of course, if you’ve read my reviews long enough you’d know that for the most part I don’t tend to see a ton of value in swimming HR. It doesn’t align as well to efforts as running or cycling does in my experience, and is usually a bit more cumbersome to view due to having to turn your wrist just right. And for example, the water where this swim was in, was super low-visibility, enough that I could barely make out the numbers on my wrist in front of me.

As for HR accuracy on the whole?

Well, I’ll break it apart by the sports I focused on (again, just talking optical HR accuracy here):

Running: Fine for steady-state running, but a really mixed bag for intervals
Cycling: Just bad. About the worst I’ve seen.
Swimming: Solidly mixed. Might be some bright points in there, but it’s a lot of not the same too.

Looking at the sensor setup they’ve got – I’d question the arrangement of the LED’s. In general, there are reasons why other companies have done them in the ways they’ve done them – and COROS should probably consider that when looking at future optical HR sensor arrangements. I think there’s some more work the company could do in terms of software algorithms, but I don’t think they’ll have as much flexibility as someone like Polar would in terms of where we could see things shift from here.

Planned Updates:


Back in November the company briefed me on upcoming features, alongside a timeline of them. The list included the following at the time:

– Sleep Tracking [Done]
– Spanish and German Support [Done]
– UltraMax Mode [Pending]
– Enable watch HR broadcasting [Done]


– Add navigation tracking [Pending]
– Add more workout modes [Pending]
– Add more watch face options [Done]

Of course, there’s actually a bunch more updates that have been added since then, which can be seen in the release notes. Most are minor tweaks and not major updates. But, it’s appreciated nonetheless. As of today, COROS says they’re hoping for the navigation modes to release before the end of February.

Still, I think COROS has a future ahead of it in this space, but they need to step back a bit. The mobile app (and to a lesser extent the watch) is riddled with errors. Many of them are language/grammar driven, but not necessarily just simple typos. Instead, they are fundamentally confusing terms and ways data is presented (as I talked about in the sports section).

Here’s my advice, and it’s actually rather simple:

A) Hire a small full-time team of athletic minded people in an English speaking country that can both vet the product for errors, but also just as sanity checks on functionality and features. I believe COROS needs 4-6 full time employees that understand the end consumer of these very products, but also understand what these features should be doing from a performance standpoint. Ideally having one of these employees with a sport science background would be incredible helpful. This could also include user interface experts that would allow the company to shift away from duplicating the user interfaces of Garmin’s hardware and Apple’s software to have COROS’s own unique look/feel.

B) Plot out a feature list that isn’t duplication, but innovation: I know it’s easier to duplicate hardware and software of their competitors, but people do see through that. You don’t want to be known as the brand that just duplicates everything. While COROS is claiming some industry-leading battery life specs for trail running type scenarios in this form factor, everything else is simply very much copies of other companies features (down to the font). Yet if the company focuses on features like their real-time mid-workout stamina feature, that could be really compelling.

C) Focus on accuracy: I’m not convinced the optical HR sensor on the APEX was designed well for sports. It seems to be more akin to a 24×7 sensor setup than one driven to deal with endurance sports and sorting through cadence lock issues. While I had good results on the COROS PACE, something changed in APEX be it hardware or software (perhaps to hit those battery specs).

D) Slow the roll on products: While it’s desirable to do yearly releases to keep up with competitors, I don’t think that’s what COROS should do here. I think they need to really fine tune what they have from a software standpoint, and add in features there instead. Again, I know more hardware is always better to sell and get media attention – but you don’t want attention on things that aren’t ready.

Again – I really do think COROS has a strong potential in this space if they can focus on the above. They aren’t far away. They just need to step back and take a breath and clean up what they’ve built. And then give it their own style.

Product Comparison:


I’ve added the COROS APEX into the product comparison database, allowing you to mix and match it against other products. Priced at $ 299, it’s theoretically super competitive in the multisport watch scene. But the devil is in the details. So it has many of the big ticket back of the box type features, but once you scratch the surface it gets a bit messy. Nuance is a trougher nut to detail in comparative charts in some cases.

In any case, for the purpose of this chart I’ve compared it against the Polar Vantage M, Suunto Spartan Trainer Wrist HR, and Garmin Forerunner 735XT. Note that one can still buy the far more capable FR920XT (usually about $ 200), though it doesn’t share the round-watch face look. Either way, something to consider.  Note you can make your own comparison tables here.

At a simple glance none of the others on this list have a barometric altimeter. So that’s a key item, as are the battery run times. However inversely, the COROS is the least full features when it comes to the backend app/platform.

Function/Feature COROS APEX Garmin Forerunner 735XT Polar Vantage M Suunto Spartan Trainer Wrist HR
Copyright DC Rainmaker – Updated February 5th, 2019 @ 9:45 amNew Window Expand table for more results
Price $ 299 (42mm), $ 349 (46mm) $ 349 $ 279 $ 279 ($ 329 for metal bezels)
Product Announcement Date Nov 2018 May 11th, 2016 Sept 13th, 2018 August 10th, 2017
Actual Availability/Shipping Date Nov 2018 May 11th, 2016 November 2018 August 30th, 2017
Data Transfer Bluetooth Smart (smartphone) USB/Bluetooth Smart USB, BLUETOOTH SMART USB & Bluetooth Smart
Waterproofing 100m Yes – 50m Yes – 30m Yes – 50 meters
Battery Life (GPS) 25hr (42mm), 35hr (46mm), up to 100hrs UltraMax 14 hours in GPS-on Up to 30 hours Up to 30 hours
Recording Interval 1-second 1S OR SMART 1s Variable
Alerts Audio/Visual/Vibration Vibrate/Sound/Visual Vibrate/Visual Visual/Vibrate
Backlight Greatness Great Good Great Great
Ability to download custom apps to unit/device No Yes No No

Don’t forget you can make your own comparison tables here in the comparison database.



As a brand, COROS is in an interesting spot. It’s spending significant capital to develop and market watches that appeal heavily to Western audiences, but its development is virtually entirely based in Asia. That’s not a problem unto itself, as many great brands have located significant parts of development and engineering in Asia (not talking manufacturing here, almost everyone does that).  The challenge for COROS is that the watch focus seems to be on duplication of competitors, rather than innovation or perfection of the features they do have (such as the training bits).

Still, there are things I do like. The battery life is amazingly strong.  In fact, I don’t even understand how COROS does battery life it’s so good. Seriously, I have some other COROS watches that sit quietly for months on a shelf (always showing the watch face) without charging. It’s really astonishing. Next, the build quality is good. While one can quibble about it being a knock-off in the looks department, it does feel good. The materials have thus far held up, and it’s survived numerous brushes against hard sharp concrete bits and other prickly surfaces.

And unlike Garmin watches you can actually configure data pages on your phone (though, you can’t do them on the watch itself). Ultimately that’s a bit of a religious battle where some people want to tweak on phone and others on the device itself. Nobody to my knowledge in the watch space allows both yet. Not to mention I can put six data fields on a single page with COROS, albeit far less fields than Garmin offers.

And of course – the price is compelling, at $ 299 they’ve nailed that piece. Unlike the previous plastic COROS Pace which was also $ 299, they seemed to have listened here and that’ a really strong price for them considering the hardware.

But I just wish the app and software matched it the hardware.

I don’t feel like the the new training load metrics are actually fully thought out.  While one can have a discussion about preferences between Garmin/Suunto’s FirstBeat metrics and Polar’s performance metrics, you can’t really have that level of discussion with the COROS metrics. None of it really adds up the way its currently implemented, and doesn’t seem to pass the sniff test (it’s also got virtually no documentation behind it).  It’s frustrating when a watch bills itself as a high end competitor, but falls short in key aspects of being a high performance watch.  And I think the app needs some serious work. It just feels half-baked, especially in the language department.

But the bit of good news here is that I think the majority of the hardware (aside from the optical HR sensor) is incredibly capable. I think if COROS takes that step back I discussed earlier, spends the next 6 months on software features and fine tuning only, they could have a really amazing and competitive watch in the APEX for the fall timeframe. And that would be super compelling.

Wanna Save 10%? Or found this review useful? Read on!

Hopefully you found this review useful.  At the end of the day, I’m an athlete just like you looking for the most detail possible on a new purchase – so my review is written from the standpoint of how I used the device.  The reviews generally take a lot of hours to put together, so it’s a fair bit of work (and labor of love).  As you probably noticed by looking below, I also take time to answer all the questions posted in the comments – and there’s quite a bit of detail in there as well.

I’ve partnered with Clever Training to offer all DC Rainmaker readers an exclusive 10% discount across the board on all products (except clearance items).  You can pick up the COROA APEX (or any accessories) from Clever Training. Then receive 10% off of everything in your cart by adding code DCR10BTF at checkout.  By doing so, you not only support the site (and all the work I do here) – but you also get a sweet discount. And, since this item is more than $ 49, you get free US shipping as well.

COROS APEX 42mm (select dropdown for color)
COROS APEX 46mm (select dropdown for color)

Additionally, you can also use Amazon to purchase the unit (all colors shown after clicking through to the left) or accessories (though, no discount on Amazon).  Or, anything else you pick up on Amazon helps support the site as well (socks, laundry detergent, cowbells).  If you’re outside the US, I’ve got links to all of the major individual country Amazon stores on the sidebar towards the top.  Though, Clever Training also ships there too, and you get the 10% discount.

Thanks for reading!

Product Reviews – DC Rainmaker

Leave a Reply