Garmin Varia Rearvue 820 Radar development

The new Varia Rearvue 820 radar can pair in Ant+ mode and works great with the popular MyBikeRadarTraffic data field I created. But in order to access the new lateral information, one needs to have connected the sensor via the secure BLE connection instead of Ant+. This means that the BikeRadar object part of the Ant+ MonkeyC library isn't being populated at all b/c it's not using Ant+. 

I am wondering if a ConnectIQ app or data field can intercept/access the BLE data coming from the Rearvue when it is connected via Bluetooth instead of Ant+. My guess is that it cannot, but I am wondering if there are any Garmin developers who could put this on their roadmap to extend the BLE library https://developer.garmin.com/connect-iq/api-docs/Toybox/BluetoothLowEnergy.html in some way to make it easy to access newer devices/sensors that are paired with newer Garmin devices via Bluetooth instead of Ant+.

Garmin specifically said that third parties won't be able to access the new lateral data (presumably b/c they aren't sharing the "secure" Bluetooth credentials you would need). I would like to propose that Garmin allow us Connect IQ app developers to access this extra info via some sort of Bluetooth extension to the SDK either specifically for the new Reavue 820 radar or for any of the likely upcoming BLE connected sensors (rather than Ant+). The app shouldn't be involved with the pairing at all since the Garmin device is already managing pairing with the new BLE sensor (e.g., Rearvue 820 radar). It should just be able to access the data coming from the sensor.

I would really like to extend my data field to record the "history" of what cars behind the rider are doing including what position within the lane and how close they are laterally at the last reading (when they pass). But even if that is not possible, I want my data field to work when a user pairs the radar via bluetooth instead of via Ant+. Thanks in advance for any tips, or pointers in the right direction, or for committing to put this on the development roadmap for the Connect IQ SDK.

  • A first step of having this be put on the road map is to post a feature request in the connect iq bug reports forum 

  • thanks i have posted into bug reports as a feature request, and it has been "acknowledged", hopefully we will see some movement on it in the near future.

  • "acknowledged" just means that it's been added to be discussed internally, not that it will change.

    This sounds like running dynamics and the HRM-PRO where it's never been exposed in CIQ directly, only by way of the FW.

  • I am now also receiving constant reports that the radar data is no longer displayed in my data fields because the new Radar 820 connects via Bluetooth by default.

    A question about BLE:

    Is there also a standard here—similar to ANT—for the transmission of individual data packets, or does each company do what it wants?

  • They have a BLE developer program where they will reveal the BLE communication protocol that Garmin uses. There is no standard for how the radar needs to communicate via bluetooth, so what we know has been reverse engineered. I have applied to this program twice now, but never even received an acknowledgement of the application (which is just an email). Here is the link to the developer program: https://developer.garmin.com/radar-data-ble/overview/

    Based on the email template, I think they are only accepting and even acknowledging applications from major hardware manufacturers like Wahoo or Karoo, etc... the rest of us are left to reverse engineer the raw packets and then figuring out what bytes mean what. If you search for varia garmin bluetooth, you should be led to another forum post which has the results of that reverse engineering.

    The BLE / SMart communication with the new radar is still available. I've created a phone app that connects to the new radar and displays all the raw packets. There are extra packets that I do not understand and are different from how the 315/515/715 radars communicate via bluetooth. Here is sample of the packets and my best guess at the meaning of the packets: it's entirely possible that's there's even some of the new lateral info in the first couple bytes as that is changing. I'm still pretty sure the third byte is distance in meters behind ... this is radar data from when there was one car on the radar connected via BLE/Smart Garmin Rearvue 820. The fourth byte used to be the speed of the approaching vehicle, but they have made that always 0 now in the Rearvue 820 BLE communication. I have no idea the meaning of the 3 byte 02 03 32 00 packet which is just spammed constantly between the "real" readings.

    {"timestamp":"20260215_172336.667","raw":"C2 A0 06 00","info":"6m, 0m\/s"}
    {"timestamp":"20260215_172336.693","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172336.975","raw":"22 A0 06 00","info":"6m, 0m\/s"}
    {"timestamp":"20260215_172336.975","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172336.976","raw":"A2 A0 05 00","info":"5m, 0m\/s"}
    {"timestamp":"20260215_172336.977","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.011","raw":"12 A0 05 00","info":"5m, 0m\/s"}
    {"timestamp":"20260215_172337.013","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.118","raw":"92 A0 05 00","info":"5m, 0m\/s"}
    {"timestamp":"20260215_172337.119","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.219","raw":"12 A0 05 00","info":"5m, 0m\/s"}
    {"timestamp":"20260215_172337.220","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.351","raw":"82 A0 06 00","info":"6m, 0m\/s"}
    {"timestamp":"20260215_172337.352","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.452","raw":"02 A0 07 00","info":"7m, 0m\/s"}
    {"timestamp":"20260215_172337.453","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.602","raw":"82 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172337.603","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.742","raw":"F2 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172337.745","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.851","raw":"72 A0 09 00","info":"9m, 0m\/s"}
    {"timestamp":"20260215_172337.852","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172337.985","raw":"E2 A0 09 00","info":"9m, 0m\/s"}
    {"timestamp":"20260215_172337.986","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.081","raw":"62 A0 09 00","info":"9m, 0m\/s"}
    {"timestamp":"20260215_172338.093","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.226","raw":"E2 A0 09 00","info":"9m, 0m\/s"}
    {"timestamp":"20260215_172338.228","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.390","raw":"62 A0 09 00","info":"9m, 0m\/s"}
    {"timestamp":"20260215_172338.391","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.499","raw":"D2 A0 0A 00","info":"10m, 0m\/s"}
    {"timestamp":"20260215_172338.499","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.667","raw":"52 A0 0A 00","info":"10m, 0m\/s"}
    {"timestamp":"20260215_172338.714","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.715","raw":"C2 A0 0A 00","info":"10m, 0m\/s"}
    {"timestamp":"20260215_172338.719","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172338.861","raw":"42 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172338.863","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.006","raw":"C2 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.007","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.118","raw":"42 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.119","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.203","raw":"C2 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.214","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.351","raw":"22 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.352","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.445","raw":"A2 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.448","raw":"02 03 32 00","info":"less than three bytes"}
    {"timestamp":"20260215_172339.602","raw":"22 A0 08 00","info":"8m, 0m\/s"}
    {"timestamp":"20260215_172339.603","raw":"02 03 32 00","info":"less than three bytes"}
     

  • I wrote a longer reply but it was flagged as "spam" / "abuse" because I included part of my BLE radar logs. The TLDR is that you need to reverse engineer the packets yourself as they only document the protocol to approved 3rd party companies (major hardware companies such as wahoo, karoo, etc...). Here is the application form in case you want to apply. I have tried twice and never heard back from the email application form: developer.garmin.com/.../

  • Also, even if they connect via ANT+ which is practically impossible once you have selected Secure Bluetooth (the default), the BikeRadar object is no longer showing speed ... it's always 0. Distance and the other fields work, but the speed is 0. I've posted a bug report about it here: forums.garmin.com/.../bikeradar-object-broken-with-garmin-rearvue-820