SilverVISE
Simple Android telemetry application for tracking data from quadcopters flashed with silverxxx firmware modified to work with BLE technology. Made for pilots that has no Devo or other telemetry compatible controllers supported by silverxxx firmware or want to track some more telemetry data and check PID values.

Application can track and warn you about bind status, power-up and flying time, battery level (voltage, percentage shown in two different ways etc.), RC signal level and bluetooth RSSI, current flight mode (acro/level), speed (normal/high), acro PIDs etc., all with audio, vibration and visual alarms with configurable treshold values and other options.

Quick info:

Here is a condensed summary about the “Silvervise” app and it's uses


Latest stable, official application version download link and thread for reporting bugs, comments, questions, critics etc.: https://www.rcgroups.com/forums/showthread.php?2759160-SilverVISE-Android-application-for-tracking-TLM-data-from-silverised-quads

Latest firmwares with SilverVISE support:

Special thanks to all who tried and tested application, and very big thanks to users from RC GROUPS forum who helped to develop this (listed in random order): silverxxx, MegaloRex, bikemikem, Bonaventura, SirDomsen, sammy4703, samhain616, nigelsheffield, ltwvince, Nitro123, lostmyquad, Ian444, ArbitraryNotion, Markus Gritsch, 0a23cb7af4d242, eitama, Appelmoesman and others I forget to mention (sorry :( ).


Configuration needed to work:

How to prepare firmware and quadcopter to enable transmitting telemetry data:


FIRMWARE CHANGES ARE MADE ONLY FOR SPECIFIED FIRMWARES FOR NOW! DO NOT TRY TO USE THESE FILES WITH OTHER QUADCOPTERS/BOARDS AND DON'T USE PARTS OF THIS CODE IN OTHER FIRMWARES BECAUSE YOU MAY DAMAGE YOUR QUADCOPTERS! ALSO, PLEASE READ ALL DETAILS, INSTRUCTIONS AND DESCRIPTIONS WRITTEN INSIDE COMMENTS IN RX_BAYANG_BLE_APP.C REGARDING ALL OPTIONS FOR SILVERVISE TELEMETRY!

In config.h:

Turn on SilverVISE support (RX_BAYANG_BLE_APP) and turn off Devo and Eddystone beacon support (RX_BAYANG_TELEMETRY and RX_BAYANG_BLE or RX_BAYANG_PROTOCOL_TELEMETRY and RX_BAYANG_PROTOCOL_BLE_BEACON - depending on a firmware you use):

//rx protocol selection
//#define RX_BAYANG_TELEMETRY
//#define RX_BAYANG_BLE
#define RX_BAYANG_BLE_APP

or:

//#define RX_BAYANG_PROTOCOL_TELEMETRY
//#define RX_BAYANG_PROTOCOL_BLE_BEACON
#define RX_BAYANG_BLE_APP

In rx_bayang_ble_app.c

In case you have problems with receiving data (some H101 boards have signal problems with some Android devices especially when you hit full throttle), check application settings screen and “Telemetry scanning/data receiving mode” option, and also check rx_bayang_ble_app.c for additional options that might help you to get stable connection (explanations what is what is inside rx_bayang_ble_app.c. Also, read section “Possible problems you might get using app on your Android device and additional steps to check and solve “…

Setup phone to receive and track TLM data:

Download ZIP with APK file, unpack APK from ZIP and install application (unpacked APK file) on your Android device - here you might have problems because application is not downloaded from Google PlayStore so your Android device might reject installation. In that case, you need to allow installation of APK files from unknown sources. Here is how to do that: go to “Settings”, then “Security” and there check “Unknown sources” (I hope menus looks like that on phones set on English because all my test phones are in Croatian so I'm guessing ). Then download file and tap/click it. If it won't install, go to “file manager” and under “applications” or “downloads” (or where you unpacked APK file) find SilverVISE-v2_10.apk file and then click/tap on it and it will allow you to install. When installation is finished, don't forget to uncheck “Unknown sources”.

How application works:

When started, application check is bluetooth enabled. If not, you will be warned and app. will enable bluetooth if you allow that. If you deny, app will stop and close itself. Also, app can check is BLE support available and warn you if not and, also, close itself if not. Application contains two main screens:

On both screens you can select “settings” (the usual way - by tapping/clicking on 3 dots placed in right corner in app bar) to set few options.

Settings screen options:

TLM screen - what telemetry data can be tracked/seen and what alarms/messages you get:

Alarms:

Info messages:

Warning messages:

Possible problems you might get using app on your Android device and additional steps to check and solve:

If application does not geting any signal from the quad, check does your Adroid device have BLE capabilites (some models don't). If your Android device dos not support BLE, application should warn you. If app. did not warn you about BLE and you still have no connection to the quads, please try to scan for quad few times in a row because on some Android devices, some BLE chips during first finding of some device will “catch” signal only after few attempts (on these devices this delay and repetitive scanning need to be done only once and when quad is found, it will get its signal faster after that). Also, try to turn on Location Services (Settings → Location → On) - on some phones (notably the Nexus 5 phones), this is necessary step for BLE scanning to work (maybe your phone is also among them). If that does not help, install and use nRFConnect (https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en) to validate that your device support BLE and to exclude possibility that application have some problems that prevent you from using BLE: check does nRFConnect gets any TLM data when config.h is set as described in “How to prepare firmware…” section. If there is no data in nRFConnect, set firmware to work with standard Eddystone beacon by enabling RX_BAYANG_BLE like this:

//rx protocol selection
//#define RX_BAYANG_TELEMETRY
#define RX_BAYANG_BLE
//#define RX_BAYANG_BLE_APP

or (depending on firmware you use):

//#define RX_BAYANG_PROTOCOL_TELEMETRY
#define RX_BAYANG_PROTOCOL_BLE_BEACON
//#define RX_BAYANG_BLE_APP

Build and flash and then again check is there any packets available in nRFConnect.

If problem persists and your Android device still does not recognize your quad, you can reduce transmitting power in firmware by uncommenting appropriate lines (TX_POWER_GENERAL) in rx_bayang_ble_app.c. Also, you can force quadcopter to reduce power used for other work while TLM packet is in transmitting. Check rx_bayang_ble_app.c for all details (all entries are explained in details in rx_bayang_ble_app.c, but feel free to ask if you have any questions). Here is brief list of options that can help getting stable TLM connection:



Now, happy flying and TLM-ing (or whatever that might be called ).
I hope this is application is usefull at least to some extent…