Smart trainer FEC not working

1,338 views
Skip to first unread message

Олег Цыганов

unread,
Jan 17, 2020, 11:35:06 AM1/17/20
to golden-cheetah-users
I've got a 'chinese copy' of Kickr - Thinkrider x5.
It works just fine in Zwift, erg mode included, seems to be decently accurate.
Unfortunately, Zwift subcription is expencive and Thinkrider app is in chinese, so I wanted to use this program...

It does find the trainer with ANT+ usb stick, both power and FE-C channel, but does not control it (no change in resistance when it change desired wattage, same with slope).

Is there a way to make it work?

인현기

unread,
Sep 7, 2020, 5:53:52 AM9/7/20
to golden-cheetah-users
Same issue for me,
Have you found out the solutions?


2020년 1월 18일 토요일 오전 1시 35분 6초 UTC+9에 bal...@gmail.com님이 작성:

Sergio Hinojosa

unread,
Nov 5, 2020, 4:33:43 PM11/5/20
to golden-cheetah-users
Did you guys find a solution? same issue here with my thinkrider x7 generation 3

Ale Martinez

unread,
Nov 5, 2020, 6:31:16 PM11/5/20
to golden-cheetah-users
GoldenCheetah v3.6 also has support for the Wahoo Kickr Core using BTLE, may be something to try if FE-C doesn't work.

Sergio Vázquez

unread,
Nov 21, 2020, 7:19:20 AM11/21/20
to golden-cheetah-users
Same here. Not able to control resistance of Thinkrider X7 v3

Ale Martinez

unread,
Nov 21, 2020, 7:43:32 AM11/21/20
to golden-cheetah-users
It looks like this trainers are not compatible with GC, until an interested developer with access to one of them I am afraid is better to avoid them if you want to use GC or look for other software otherwise.

App 4G

unread,
Dec 10, 2020, 9:58:48 AM12/10/20
to golden-cheetah-users
Can those with this trainer provide some help and do a screenshot of what services the trainer supports? 
For those on Android Phones, can download this --> https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en

I am personally using a Magene Gravat2 trainer and I can connect to GC (development version) on MacOS using ANT+ (never did try using BTLE :-p) and I can get trainer resistance to be changed automatically based on the erg workouts.

I am also using this app for the Gravat2 --> https://apps.apple.com/us/app/breakaway-indoor-training/id1541280053 which works. Thus far, TrainerRoad don't work. TRainerDay didn't work (perhaps newer version did work but I didn't try). Zwift works. OneLap works.

Ale Martinez

unread,
Dec 18, 2020, 2:10:13 PM12/18/20
to golden-cheetah-users
An important issue to consider is: we have confirmed the cycplus ANT+ stick doesn't work with GC (https://github.com/GoldenCheetah/GoldenCheetah/wiki/ANT--and-BTLE-Troubleshooting#cycplus-ant-stick) and this may be a confounding factor.

So, if you have one of these trainers and want to use them with GG, please try with a supported ANT+ stick (Garmin or Suunto) and report back.

Tony51 X

unread,
Dec 24, 2020, 9:28:41 AM12/24/20
to golden-cheetah-users
Hello everyone, I have the same resistance issue on my Thinkrider X7 Pro gen3.
Everything works fine on Zwift, both ANT + and BTLE.
As for the GC, I have also tried via both ANT + and BTLE, the problem is same: there is no control over the resistance although all the sensors works.
I strongly doubt that stick from Garmin / Suunto / Elite will help, but perhaps this is my last option at this moment, I have tried many configurations etc..
I'm not an engineer, but I think this is some kind of problem with hardware, but not transmissions through Stick, after all, this is not branded Smart Trainer and apparently GC is not popular with users of chineese noname trainers.
If the developers can fix this problem, I would like to provide at least some help or data about that smart trainer.

P.S.

I forgot to admit thinkrider x7 comes with their own ant+ stick: http://www.youtube.com/watch?v=RmOw55UnGiM&t=1m51s .  
I'll attach photos from nRF , but im not sure if this is what you need (connected via Bluetooth).
1.jpeg2.jpeg3.jpeg4.jpeg5.jpeg6.jpeg7.jpeg8.jpeg9.jpeg

App 4G

unread,
Dec 24, 2020, 9:59:44 AM12/24/20
to golden-cheetah-users
Thanks.. That's helpful. From the looks of it, your trainer is not broadcasting FTMS (if it's FTMS it would have a service number of 0x1826), but from what I can see it has cycling power (0x1818) which one can get the Power Data from 0x2A63.

The Trainer Resistance Control, looks like it's getting it from ANT+FEC Through BTLE (UUID 6E40FEC1-B5A3-F393-E0A9-E50E24DCCA9E - just take note of the "FEC1" and "FEC2" and "FEC3") 

This trainer, _seems_ to be exactly like my own Magene Gravat2 and GC can control it fine (it is also using the FEC1/FEC2/FEC3 connections for resistance control). What version of GC are you on? I'm on the development version 3.6_DEV2006 (I remember I tried the stable branch and it didn't work). Also, are you connecting to the trainer to GC via BT or via ANT+

If connecting using BT, it will go connect using the FECx connections. ANT+ should just be the typical ANT+ FEC channel.
If you have an IOS device (iPhone / iPad) you can try this app --> http://apps.apple.com/us/app/breakaway-indoor-training/id1541280053 as it connects to FECx using Bluetooth. (no Android version tho)

Tony51 X

unread,
Dec 24, 2020, 4:16:26 PM12/24/20
to golden-cheetah-users
Currently I am on GC Dev 3.6_Snapshot Build(x64) , but I tested every version for Windows(10) since 3.5_release: 
GoldenCheetah_v3.5_64bit_Windows (ANT+) 
GoldenCheetah_v3.6-DEV2005_x64 (ANT+ , didnt tested BTLE)
GoldenCheetah_v3.6-DEV2006_x64 (ANT+ , BTLE)
GoldenCheetah_v3.6-DEV2009_x64 (ANT+ , BTLE)
GoldenCheetah_v3.6-DEV_x64 Snapshot (ANT+ , BTLE)
vc_redist's were installed each installation aswell
 
So on dev2009 and Snapshot I tried different settings(like Language, Units: Metric or Imperial, probably all check marks on/off considering all of parameters etc.), 
setups(Bluetooth on/off while running on ANT+), custom profiles (when adding new device: xxxf,xxxp,xxxs,xxxr), custom workouts (formats aswell: erg,erg2,mrc,zwo),
turned off firewall, even installed and uninstalled couple of times and retried again thoose "program failure search" actions... 

When Thinkrider is connected and I'm "cycling" on GC I can see: 
Power(changing),
Target power(changing, depends on workout),
Bikestress(not changing),
W'ball(seems always 20.0),
Cadence(0 constant on BTLE but 255 on ANT+ when starting to spin pedals),
Speed (changing). 

Nothings gives to GC a control over resistance... Situation is same on both Ant+ FE-C and Bluetooth 4.0. Maybe this is some kind of driver needed to be installed?
I tried recently couple of programs: ERGVideo, Sufferfest and "Chineese" Powerfun, resistance works everywhere, 
also sometimes with ANT+ (on Zwift) it automaticly finds cadencemeter(Thinkrider doesnt'have one, me neither) which is not working of course (maybe this is a problem?).

Would try "BreakAway" with pleasure , but I sold my last IOS Device recently... Normally there are couple of working free apps on android...

And one more thing about my previous photos, when I did them I was not in engaged in app, so I launched Zwift on Android and made same action, there have been two values added: 

Cycling Power Measurement
UUID: 0x2A63
Properties: NOTIFY
Value:(0x)10-08-00-00-06-00-00-00-!B-24-16-00           \\\\\First added#
Descriptors:
Client Characterristic Configuration
UUID: 0x2902
Value : Notifications enabled                                             \\\\\Second added#


Merry Christmas and Happy New Year everyone! 

App 4G

unread,
Jan 3, 2021, 6:20:02 AM1/3/21
to golden-cheetah-users
I have yet to re-try my trainer w/ GoldenCHeetah. I'll give it a go and revert. Kinda odd that if it works for mine, why not work for yours since looks ike same ANT+FEC Over Bluetooth protocol.

App 4G

unread,
Jan 3, 2021, 9:45:58 AM1/3/21
to golden-cheetah-users
I just tried using Bluetooth connection to my trainer on GC. Doesn't work. Power is picked up but not resistance and it seems like it is connecting to TACX-ANT+ over BLE (per the dropdown box).

Ale Martinez

unread,
Jan 3, 2021, 11:22:02 AM1/3/21
to golden-cheetah-users
If you run GoldenCheetah --debug from a command line it will display more information about the BTLE sensors found when the Train BTLE device is started.

App 4G

unread,
Feb 3, 2021, 4:38:30 AM2/3/21
to golden-cheetah-users
GC Dev Build Jun 2020
Running on Cmdline w/ debug

Connecting to device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
Connected to device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
Service scan done for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
Discovering details for service "{00001818-0000-1000-8000-00805f9b34fb}" for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
service state changed  QLowEnergyService::DiscoveringServices for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
Discovering details for service "{6e40fec1-b5a3-f393-e0a9-e50e24dcca9e}" for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
service state changed  QLowEnergyService::DiscoveringServices for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
2021-02-03 17:23:03.463 GoldenCheetah[2886:94996] -[OSXBTCentralManager peripheral:didUpdateValueForCharacteristic:error:] failed with error Error Domain=CBATTErrorDomain Code=2 "Reading is not permitted." UserInfo={NSLocalizedDescription=Reading is not permitted.}
service state changed  QLowEnergyService::ServiceDiscovered for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
service state changed  QLowEnergyService::ServiceDiscovered for device "58905-5"   "{68f8ebf0-40a6-4b44-af9b-1ff386c4428b}"
[+] Tacx: write gradient 100
[+] Tacx: write gradient 95
[+] Tacx: write gradient 90
[+] Tacx: write gradient 85
[+] Tacx: write gradient 80
[+] Tacx: write gradient 75
[+] Tacx: write gradient 70
[+] Tacx: write gradient 65
[+] Tacx: write gradient 60
[+] Tacx: write gradient 55
[+] Tacx: write gradient 50
[+] Tacx: write gradient 45
[+] Tacx: write gradient 40
[+] Tacx: write gradient 35
[+] Tacx: write gradient 30
[+] Tacx: write gradient 25
[+] Tacx: write gradient 20
[+] Tacx: write gradient 15
[+] Tacx: write gradient 10
[+] Tacx: write gradient 5


So it seems that it is able to connect to the trainer and seems like it's calling this portion of the code.

void BT40Device::setGradient(double g)
{
    gradient = g;

    if(loadType == Tacx_UART) {
        qDebug() << "[+] Tacx: write gradient" << gradient;

        const auto Msg = ANTMessage::fecSetTrackResistance(5, gradient, 0);
        loadService->writeCharacteristic(loadCharacteristic,
                QByteArray{(const char*) &Msg.data[0], Msg.length},
                QLowEnergyService::WriteWithoutResponse);


But I'm not exactly sure why nothing is happening in terms of resistance. 
For TACX ANT+FEC over BLE, it should be connecting to FEC3 but based on the debug output I only see FEC1

Is this what Itt's supposed to show in the pair devices section? I can't seem to be able to "choose" my preferred devices to connect. (I have a Pedal PM and the trainer connected to it). (and what's a VMPro machine?)
Screenshot 2021-02-03 at 5.21.14 PM.png

Peret

unread,
Feb 3, 2021, 4:47:54 AM2/3/21
to golden-cheetah-users
I think it was solved on December 2020; so, you'd better try las build

Peret

unread,
Feb 3, 2021, 4:48:30 AM2/3/21
to golden-cheetah-users

App 4G

unread,
Feb 3, 2021, 5:10:48 AM2/3/21
to golden-cheetah-users
Thanks @Peret

Per this commit: Looks like "write target power"

vs what I"m seeing which is "write gradient"
I'll give it a go and report back.

However, even if only gradient is supported, when I put gradient to 0, it should also response to it anyways right? Anyways, I'll download the snapshot build and give It a go.

App 4G

unread,
Feb 3, 2021, 5:46:58 AM2/3/21
to golden-cheetah-users
okay. update w/ latest development build (on MacOS)

Now I see this on the debug output:

[+] Tacx: write target power 255

[+] Tacx: write target power 255


but.. I am most certainly not feeling 255w as I can still pedal the trainer. and setting it at 0 also yields no resistance change.

Is there anyway to see the actual Packet which is being sent to the trainer? I know this trainer works using the Tacx ANT+FEC over BTLE because I am actually sending commands to the trainer using this protocol.

using this https://github.com/abellono/tacx-ios-bluetooth-example/ and sidelaoding it to my iPhone using Xcode, I can get the trainer to respond and this is the same protocol/code which is being referenced in the GC code.


if(loadType == Tacx_UART) {
         qDebug() << "[+] Tacx: write target power" << load;
         const auto Msg = ANTMessage::fecSetTargetPower(5, (int)load);
         loadService->writeCharacteristic(loadCharacteristic,
                 QByteArray{(const char*) &Msg.data[0], Msg.length},
                 QLowEnergyService::WriteWithoutResponse);

Ale Martinez

unread,
Feb 3, 2021, 11:22:46 AM2/3/21
to golden-cheetah-users
El miércoles, 3 de febrero de 2021 a la(s) 07:46:58 UTC-3, app4g...@gmail.com escribió:
okay. update w/ latest development build (on MacOS)

Now I see this on the debug output:

[+] Tacx: write target power 255

[+] Tacx: write target power 255


but.. I am most certainly not feeling 255w as I can still pedal the trainer. and setting it at 0 also yields no resistance change.

Is there anyway to see the actual Packet which is being sent to the trainer?

You could add additional logging in the piece of code cited below and, for lower level logging, you could configure Qt Bluetooth to do so, see https://doc.qt.io/qt-5/qtbluetooth-index.html

App 4G

unread,
Feb 5, 2021, 6:53:05 AM2/5/21
to golden-cheetah-users
HI Ale - 

I Presume you're talking about compiling it myself from source right?
I looked at the install howto, it's pretty daunting to be frank and it's 5years old document.

Ale Martinez

unread,
Feb 5, 2021, 7:31:01 AM2/5/21
to golden-cheetah-users
El viernes, 5 de febrero de 2021 a la(s) 08:53:05 UTC-3, app4g...@gmail.com escribió:
HI Ale - 

I Presume you're talking about compiling it myself from source right?

Yes
 
I looked at the install howto, it's pretty daunting to be frank and it's 5years old document.

If you are not able or willing to build locally, you could enable Travis in your fork and ci builds will happen automatically after each commit according to: https://github.com/GoldenCheetah/GoldenCheetah/blob/master/.travis.yml
The same happens if you make a PR, build artifacts can be accessed as explained in: 

Ale Martinez

unread,
Feb 5, 2021, 3:54:45 PM2/5/21
to golden-cheetah-users
Recently we merged a contribution which fix a similar problem using Tacx Flow S/2 trainers with updated firmware, may worth a test.

El viernes, 17 de enero de 2020 a la(s) 13:35:06 UTC-3, bal...@gmail.com escribió:

JEAN NICOLARDOT

unread,
Jan 23, 2023, 3:07:19 AM1/23/23
to golden-cheetah-users
Good evening everyone. I have a Kinetic R1 roller and a Wahoo Kickr Core, with BLTe and ANT+ and the GC doesn't find anything, not even the heart rate monitor. How do I find him? Zwift, Rouvy, RGT, all other apps find rollers and straps, except GC. I've uninstalled and reinstalled 8 times. I use Windows 10. On the PC and on the notebook and none is found.

Ale Martinez

unread,
Jan 23, 2023, 3:23:27 AM1/23/23
to golden-cheetah-users
El lunes, 23 de enero de 2023 a la(s) 05:07:19 UTC-3, buerre...@gmail.com escribió:
Good evening everyone. I have a Kinetic R1 roller and a Wahoo Kickr Core, with BLTe and ANT+ and the GC doesn't find anything, not even the heart rate monitor. How do I find him? Zwift, Rouvy, RGT, all other apps find rollers and straps, except GC. I've uninstalled and reinstalled 8 times. I use Windows 10. On the PC and on the notebook and none is found.

See the FAQs on Train and Troubleshooting section on ANT+ and BTLE problems at the wiki.

Jean-Benoît Nicolardot

unread,
Jan 23, 2023, 6:19:33 PM1/23/23
to JEAN NICOLARDOT, golden-cheetah-users
 
Hi. But in my case, the ant+ on the GC doesn't find anything, not even the Garmin heart rate belts, and Bluetooth 5.0 doesn't find anything either...


From: golden-che...@googlegroups.com <golden-che...@googlegroups.com> on behalf of JEAN NICOLARDOT <buerre...@gmail.com>
Sent: Sunday, January 22, 2023 11:21:25 PM
To: golden-cheetah-users <golden-che...@googlegroups.com>
Subject: [Golden-Cheetah-Users] Re: Smart trainer FEC not working
 
--
_______________________________________________
Golden-Cheetah-Users mailing list
golden-che...@googlegroups.com
http://groups.google.com/group/golden-cheetah-users?hl=en
---
You received this message because you are subscribed to the Google Groups "golden-cheetah-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golden-cheetah-users/0fd9ca35-c262-4851-90a7-3b2dc551bcfen%40googlegroups.com.

Ale Martinez

unread,
Jan 23, 2023, 7:23:37 PM1/23/23
to golden-cheetah-users
El lunes, 23 de enero de 2023 a la(s) 20:19:33 UTC-3, jeansaob...@hotmail.com escribió:
  Hi. But in my case, the ant+ on the GC doesn't find anything, not even the Garmin heart rate belts, and Bluetooth 5.0 doesn't find anything either...
That was pretty clear from your first message, just repeating the same in a bigger font doesn't provide any additional information to help diagnose your problem.

FAQs and Troubleshooting guidelines in the wiki are intended to avoid repeating the same information to each new user.
Reply all
Reply to author
Forward
0 new messages