LibrePilot Forum

General Category => General Discussion => Topic started by: jdl on September 17, 2019, 02:16:13 pm

Title: Oplink Relay Station with Telemetry Display and Logging
Post by: jdl on September 17, 2019, 02:16:13 pm
This project realizes a 2.4GHz radio-control (FrSky, Radiolink, etc.) - to - Oplink Control and Telemetry (433MHz) relay. This is a convenient way to control and monitor UAVs with Revolution FC with all the benefits of the embedded RFM22B radio @ 433MHz (lightweight, much better range and reliability) without necessity of cables between the 2.4GHz Radio TX and the groundside Oplink Mini module and giving opportunity for optimal positioning of transmitting antenna and for separation between control tx and video rx when necessary.

Beside the simple relay functionality, this project also provides a two-way Bluetooth connectivity to PC or smartphone(LP2Go) and telemetry uplink to an optional antenna tracker.

Incoming UAVO packets are buffered and once completely received and passed CRC verification, OPL blocks with current timestamp from Atmega328 internal counter are built and written to an opened log file on SDCard (FAT32 pre-formatted). Log files are named and grouped in folders according date and time of recording. These log files can be later replayed in GCS on PC.

Selected location data from the telemetry (current/last GPS coordinates of UAV, height, distance from home, etc.) is displayed on a tiny OLED (SSD1306) display. This may be helpful in a case of a crash to narrow the search of possible crash site location.

Extra features: a buzzer, battery voltage monitoring and alarms, audible alarm for lost/interrupted incoming telemetry, etc.

The code for Arduino ProMini is compiled with Arduino 1.0.5-r2. The additionally required libraries are included in the repository. They should be copied/replaced in the Arduino Libraries folder (usually "C:\Program Files (x86)\Arduino\libraries").

There are build options in code for OLEDLCD, LOGGING, STATION_BATTERY_MONITORING, USE_WDT. If one is not used, it can be disabled before compile.

WatchDog functionality is provided. It requires to use ProMini without its bootloader and program it via USBASP programmer. Btw, for the last two years I've never seen the WDT to fire during use of the relay stations so I assume the code is stable and its safe to disable USE_WDT config option and program the ProMini via standard serial with its original bootloader (if no USBASP programmer available).

Precise battery voltage reading calibration is available through VOLT_DIV_RATIO definition. Low battery alarm thresholds are defined in MIN_VOLTAGE1 and MIN_VOLTAGE2.

The UAVObjects definitions in UAVTalk.h are matched with the current LibrePilot "next" (from r711 onwards). Also provided UAVtalk.h with definitions for "official" 16.09 LibrePilot release.

Portions of code (UAVTalk communication) are based on MinOPOSD sources, further modified to suit the project specifics.

Github repository: https://github.com/jdlilov/Oplink-Relay-Station (https://github.com/jdlilov/Oplink-Relay-Station)

The electrical "scheme" is in the repository. I've omitted there optional ferrite bead and LC filters after the BEC. I believe it is safe to go without them when using the stock OpLink Mini (100mW).

All of the modules used (Arduino ProMini, OLED i2C LCD, TF SPI adapter, HC-06 Bluetooth modules, BEC, etc. are dirty cheap and available from Banggood, xt-xinte, AliExpress or anywhere else.

Some photos from fully functional builds (still actively used on the field) provided in the Images folder in the repository.

I hope the project to be found interesting and useful to Librepilot users and fans. Feel free to build/use/improve/share. At the moment I do not plan any further development. Yet, if you have suggestions, please share them here in the forum!




(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Schematic.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20171105_150426.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20171105_150129_HDR.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20171105_150438_HDR.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20181209_175837.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20181209_180016.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20181209_180206.jpg)

(https://raw.githubusercontent.com/jdlilov/Oplink-Relay-Station/master/Images/20181223_163340_LLS.jpg)
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: TheOtherCliff on September 19, 2019, 08:41:27 pm
Ooooooh, I like the telemetry screen!  And that was before I saw that it does logging without a laptop and to an SD card!!!  Automatic logging would be useful in the day to day usage, but especially useful that one time you didn't log and your plane went down and you don't know the GPS coordinates.

With your idea, how long has it been, a couple years ago?  I "built" :) a simpler setup onto an arrow.  Simple but functional.  Arrow point sticks in the ground and the antenna is on top.  RC transmitter to OpLink relay with bluetooth.

The Oplink has an RFM23BP and an added power input (fed from external 5V/6V) and filtering for it.  The added power input feeds the RF directly and also connects to the OpLink mainport/flexiport and thus provides power for everything.  There is also a silicon diode from normal +5V OpLink power input (usb/mainport/flexiport) to the RF so that it will still work at approximately stock RF power if the second power input is disconnected.  I often power it via USB from my laptop/GCS and skip the battery.  BEC has a jumper for 5V/6V so I can actually run it at 6V, but I have never tried that and probably never will.  So RF has 3 different possible power inputs, 4.3V, 5V, and 6V.

The OpLink was one of the ones with a bad RFM22B, so it wasn't a waste even if it didn't work and I really like the SMA connector.

I haven't got the bluetooth working yet.  I fought it a while (bluetooth chip versions on one side and old Linux configuration on the other side), then put it aside.

I am currently limited by FPV video range, but I am considering an RFM23BP Revo mod and using OpMap or the synthesized FPV of OSGEarth for ground based projects, etc.  :)

Below the OpLink hang the BEC, Bluetooth, and RC receiver.  The battery is rubber banded on.

A short extra stub of arrow shaft is glued parallel to the arrow shaft at the top so the antenna is not wobbly.

I note that this relay does add a small control delay.  You've actually got normal RC control delay plus normal OpLink control delay.  This is not enough to generally cause problems, but can make close in FPV hovering even more challenging.
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: karla on September 20, 2019, 04:36:41 am
Lovely thing!

@cliff, may i guess your reluctant bluetooth unit is a hc-05 with 6 pins and not hc-06 with 4 pins?
I have never been able to successfully configure hc-05, but hc-06 units always works.
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: TheOtherCliff on September 20, 2019, 05:37:13 am
I think I recall having better luck with the slave only one, but I recall there was still an issue where I had to configure something or other each time I wanted to use it?  Issues with Blueman?  Issues with powering up the chip and the button for the master-slave one?  It's been a while.  :)  The bluetooth was fairly low on the list since it was easy to just connect a 3 meter USB cable to the laptop.

I tried variations on the bluetooth instructions in the wiki, and what I could find on line.  I recall that I did finally find a good set of AT commands that matched my device.  Certainly partly my fault for buying a cheap bluetooth rather than a common bluetooth.  I would like to try again if you know of some fairly complete instructions.  :)
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: jdl on September 20, 2019, 03:49:11 pm
I've had success with both HC-05 & HC-06 modules from Banggood and xt-xinte. Old Dell Latitude D630 laptop with Windows7. Never tried on Linux...

Here is a list of instructions I've used to configure BT modules, hope this can help:

--------------------------------------------------------------------------------
HC-06 (slave):

Code: [Select]
Connect to the new module using Arduino Serial Monitor, setup to 9600bps, No line ending.

AT             // just to confirm module is connected
AT+BAUD7
                // Now set Serial Monitor speed to 57600bps! Re-power module!
AT
AT+PIN1234                 // 1234 is the new password
AT+NAMEBIG_RELAY_BT // BIG_RELAY_BT is the new name

--------------------------------------------------------------------------------
HC-05 (slave)

Code: [Select]
Connect to the new module using Arduino Serial Monitor, setup to 38400bps, Both NL&CR

Enter HC-05 command mode by pressing SW while powering module up!

AT                 // just to confirm module is connected
AT+UART=57600,0,0
AT+NAME=BIG_RELAY_BT
AT+PSWD=1234
            

--------------------------------------------------------------------------------
HC-05 (master) - I use it in the antenna tracker station, to connect to oplink relay station(s) and receive the telemetry with GPS data

Code: [Select]
Connect to the new module using Arduino Serial Monitor, setup to 38400bps, Both NL&CR

Enter HC-05 command mode by pressing SW while powering module up!

AT             // just to confirm module is connected
AT+ORGL
// Re-power with KEY pressed

AT             // just to confirm module is connected
AT+UART=57600,0,0
AT+NAME=TRACKER_HOST
AT+PSWD=5678
AT+PSWD="5678" // One HC-05 module came with newer firmware, PSWD command has changed syntax!

AT+RMAAD
AT+ROLE=1
AT+RESET
// Re-power with KEY pressed
AT+CMODE=1 // Must be 1 to be able to connect to anyone of the relay stations (which one is available)
// Passwords of host and slave modules MUST be identical

AT+INQM=0,5,9 // Execute with KEY pressed


AT+INIT // Execute with KEY pressed
AT+INQ // Execute with KEY pressed
// select the address of the desired slave from the list


AT+RNAME?98E3,32,610466 // Execute with KEY pressed, ... just to check the name of desired slave...


AT+PAIR=98E3,32,610466,10 // Execute with KEY pressed

AT+BIND=98E3,32,610466 // ... this may not be necessary as AT+CMODE=1...
--------------------------------------------------------------------------------

Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: karla on September 27, 2019, 06:51:28 am
Thanks a lot for this!
Very useful.
I will for sure try to kick some life into all the HC05 boards I have sitting idle.
Seeing what commands you use, there is no wonder I never got it to work :) soo complex.
Another problem with the 6 pins is that I feel unsure what pins to connect to what.
You have any picture on how you connect it to the pc when doing the configuration?
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: jdl on September 27, 2019, 09:43:31 am
You're welcome, glad I could help!

Quote
... what pins to connect to what.
You have any picture on how you connect it to the pc when doing the configuration?

The pins used are the same as for HC-06: Vcc, GND, RX, TX (the four middle pins). You have to press/hold the tiny button on the module (named SW, KEY, etc.) by hand during configuration.

Once being configured, HC-05 connects automatically to its paired HC-06 module when both in range. Very convenient to establish a serial link between two devices like the antenna tracker and the relay station :)

And the Bluetooth range is pretty enough to achieve a good separation of 3-4meters between 433MHz Control Tx (OpLink) and the 1.3GHz video receiver in the tracker.
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: jdl on October 12, 2019, 10:39:47 am
I note that this relay does add a small control delay.  You've actually got normal RC control delay plus normal OpLink control delay.  This is not enough to generally cause problems, but can make close in FPV hovering even more challenging.

What are the typical values of the oplink control delay? 20-30ms?

Radiolink claims their AT9S system has fast response, 3ms only, while all channels act synchronously. This delay is almost non-existant, at least for my far-from-perfect pilot skills :) So it is only the oplink induced delay that matters when using the relay. I cannot feel it at all when flying planes. For quads - there is maybe, only maybe, a minimal added "softness" in controls compared to direct 2.4GHz radio-control, but I cannot swear I really feel it as I don't usually fly my long-range copters race-style :)


...
With your idea, how long has it been, a couple years ago?  I "built" :) a simpler setup onto an arrow.  Simple but functional.  Arrow point sticks in the ground and the antenna is on top.  RC transmitter to OpLink relay with bluetooth.

The Oplink has an RFM23BP and an added power input (fed from external 5V/6V) and filtering for it.  The added power input feeds the RF directly and also connects to the OpLink mainport/flexiport and thus provides power for everything.  There is also a silicon diode from normal +5V OpLink power input (usb/mainport/flexiport) to the RF so that it will still work at approximately stock RF power if the second power input is disconnected.  I often power it via USB from my laptop/GCS and skip the battery.  BEC has a jumper for 5V/6V so I can actually run it at 6V, but I have never tried that and probably never will.  So RF has 3 different possible power inputs, 4.3V, 5V, and 6V.
...

I've initally made a similar setup like yours, on a pole, with the idea to position the OPLINK TX antenna as high as possible for a better range. However, I had concerns about moisture protection of electronics and higher chance of mechanical damage during transportation. Also found it not very convenient to carry with me. So I've  put it all in a small box, later decided to use an OLED display for GPS coordinates from telemetry and finally added SD card logging functionality to avoid taking a laptop with me every time. Relay box logger also proved more reliable than smartphone or laptop logging. GCS or smartphone(running LP2Go) occasionally happen to hang/stop while recording on long flights and no log at all...

Now I easily fit all the necessary control and FPV equipment and the 250size quad in the bottom of my tourists backpack (80+15l) when going to interesting locations away from roads :)

Some time ago I've played with RFM23BPS and managed to boost its power output to 3.5-3.8W (RF MOSFET powered with approx 10V - that is why second switching buck/boost regulator is added in the relay box - on the photo). No overheating, I've tested it for 8 hours connected to Revo receiver.

However, good antenna with low SWR is required. Otherwise the module shuts down or may even burn as it has no protection on output. I'm using the relay box with the excellent Retevis RHD-771 SMA-M that you commented here: https://forum.librepilot.org/index.php?topic=4199.0 (https://forum.librepilot.org/index.php?topic=4199.0)

Anyway, 3.5W is way more than needed and sane to use normally. I have made this power option in the relay box switchable via key on the RC transmitter to be used in emergency occasions only. Aside initial tests I've used it only once for 10-15 seconds.

As a side effect of RFM23BPS mods, the "standard" 1W output @6V was raised to approx 1.3W.
On USB power only, I've measured the output approx. 600mW.

I don't think I'll go for 1W Revo mod, although I had such ideas some time ago. I'm afraid the reworked Revo won't be robust and reliable enough. And I've found that standard Revo 100mW TX power is enough to maintain telemetry downlink up to distances of 15km with plain omnidirectional antennas on both sides.

Here are some snapshots from the telemetry log replay of a recent flight. Total travelled distance: 42km, max. distance from start location: 15.2km. No breaks in control or in the [email protected].

I've noticed, and it comforms the theory, that link quality is significantly better when the relay box antenna is far from ground (or any ground plane like the steel roof of a car). Placing the relay box on a tripod works very well.

I guess a Moxon or a small Yagi at the ground station (the relay box) will be sufficient to go to 22-25km with telemetry @57.6kbps.

The telemetry is important, because I use GPS data to feed it to the video antenna tracker station.
The tracker station is DIY, based on the GhettoStation project: https://github.com/KipK/Ghettostation/wiki (https://github.com/KipK/Ghettostation/wiki)
I had revised the code to be compatible with latest Librepilot releases (currently up to next 735). Also did some critical bugfixes and added new features/enhancements. Plan to upload the code to Github to share with the Librepilot community in the near future.


--------------------------------
Off-topic:

...
I am currently limited by FPV video range, but I am considering an RFM23BP Revo mod and using OpMap or the synthesized FPV of OSGEarth for ground based projects, etc.  :)
...

I've recently managed to improve the the FPV video range (1280MHz) I get with my equippment by carefully adjusting video level in the VTX (800mW Partom from Banggood, real output is 560-600mW). The preset video level was lower than standard 1V, it was closer to 0.85V. I was surprised how clearer and more stable the video became at distaces over 7-8km after I'd fine-tuned the video level (with the pot in the VTX) to 1V.

I'm using TrueRC Singularity for TX antenna. These are amaizingly well manifactured and tuned! I've tested the two of them I have with a sweep antenna analyser and got their center frequencies measured at 1279.8MHz & 1283MHz !

The receiver is ReadyMadeRC w/Comtech tuner (narrow SAW filter) VRX with additional SPF5189 LNA, very well shielded and with cleanest possible power supply I could build for it.

Receiving antenna is DIY IBCrazy's CrossHair. I've built it following his instruction in the tutorial and the dedicated thread:
https://fpvlab.com/forums/showthread.php?3626-Crosshair-10-dbic-Circularly-polarized-antenna-tutorial! (https://fpvlab.com/forums/showthread.php?3626-Crosshair-10-dbic-Circularly-polarized-antenna-tutorial!)
Of course, IBCrazy (VideoAerialSystems) also makes and sells new and improved designs of the CrossHair and PepperBox:
https://www.videoaerialsystems.com/products/crosshair-xtreme?variant=29827111518311 (https://www.videoaerialsystems.com/products/crosshair-xtreme?variant=29827111518311)
https://www.videoaerialsystems.com/collections/antennas/products/pepperbox-xtreme?variant=29827341811815 (https://www.videoaerialsystems.com/collections/antennas/products/pepperbox-xtreme?variant=29827341811815)

At the most recent tests I've got quite clean video @15km, despite the RF interference in the area. Now the real range limiting factor becomes the battery capacity :)
https://www.youtube.com/watch?v=Osp_Pck3y_A (https://www.youtube.com/watch?v=Osp_Pck3y_A)
Sadly, youtube compression badly spoiled the original DVR record quality. Anyway, looks little better if settings / quality manually raised to 1080p or if watched fullscreen in youtube...

----------------------

The antenna analyser I've mentioned is quite cheap but can be really useful when building and tuning DIY 433MHz and 1.2GHz antennas.

I've bought it recently from Banggood:
https://www.banggood.com/Geekcreit-Spectrum-Analyzer-USB-LTDZ_35-4400M_Spectrum-Signal-Source-with-Tracking-Source-Module-RF-Frequency-Domain-Analysis-Tool-p-1450129.html?rmmds=myorder&cur_warehouse=CN (https://www.banggood.com/Geekcreit-Spectrum-Analyzer-USB-LTDZ_35-4400M_Spectrum-Signal-Source-with-Tracking-Source-Module-RF-Frequency-Domain-Analysis-Tool-p-1450129.html?rmmds=myorder&cur_warehouse=CN)

There is also an encased variant:
https://www.banggood.com/Geekcreit-Spectrum-Analyzer-USB-LTDZ-35-4400M-Signal-Source-with-Tracking-Source-Module-RF-Frequency-Domain-Analysis-Tool-With-Aluminum-Shell-p-1494125.html?rmmds=detail-left-hotproducts__1&cur_warehouse=CN (https://www.banggood.com/Geekcreit-Spectrum-Analyzer-USB-LTDZ-35-4400M-Signal-Source-with-Tracking-Source-Module-RF-Frequency-Domain-Analysis-Tool-With-Aluminum-Shell-p-1494125.html?rmmds=detail-left-hotproducts__1&cur_warehouse=CN)

Few other components needed:
1. A return loss / reflection bridge like this one:
https://www.banggood.com/RF-SWR-Bridge-0_1-3000MHz-Return-Loss-Bridge-Reflection-Bridge-Antenna-Analyzer-VHF-VSWR-Return-Loss-p-1497170.html?rmmds=search&cur_warehouse=CN (https://www.banggood.com/RF-SWR-Bridge-0_1-3000MHz-Return-Loss-Bridge-Reflection-Bridge-Antenna-Analyzer-VHF-VSWR-Return-Loss-p-1497170.html?rmmds=search&cur_warehouse=CN)

Have to say this one seems badly manifactured, at least on the photo. Mine looks similar but I've ordered it an year ago from ebay and is of much better assembly quality.

2. A 50ohm terminator and a suitable length (25-40cm) RF cable (RG402) with SMA connectors.
3. Optionally, few attenuators.

Here I've found a summarized info:
https://www.rudiswiki.de/wiki9/SpectrumAnalyzer_LTDZ (https://www.rudiswiki.de/wiki9/SpectrumAnalyzer_LTDZ)

I've always wanted to have an antenna analyser but never had convinced myself to pay hundred(s) dollars/euros to buy one.
This cheap module, although being inferior to the original NWT units and the more expensive and high quality analysers, does good enough job to test and tune my DIY antennas :)
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: TheOtherCliff on October 13, 2019, 08:28:57 am
When using my relay, the delay is large enough that if I move the elevator up and down very fast that I can do it fast enough that it is 180 degrees out of phase (as I recall).  (For anyone needing to know, that the delay has it only getting around to processing the up elevator command when I have already moved the stick into the down elevator position.)

Indeed I also have a 2.3m tall (as high as I can reach without a step stool) antenna tower made from PVC that I have used for long distance video.

I've found that standard Revo 100mW TX power is enough to maintain telemetry downlink up to distances of 15km with plain omnidirectional antennas on both sides.
Wow.  15km on omni antennas.  I guess you use the Retevis 771 on ground, and looks like about 1.5m above the ground.

What 433 antenna do you use on the aircraft?  For my airplanes, where weight is not such a big factor, I use the Retevis 771 there too.

This makes me want to try longer waypoint flights (I have done several without relay, even done with transmitter switched off) or even use OSGEarth and telemetry altitude reading for synthetic FPV.  I have done this synthetic FPV within 1km but not ventured out far.  Since I have started using good 433 antennas I have never had OpLink range issues and usually run less than even 100mW. :)

Speaking of transmitter switched off, the PPM code in the OpLink in a relay box apparently converts switching the transmitter off (Frsky transmitter in hand is off, Frsky receiver in relay box is on, Oplink in relay box connected to Frsky receiver is on) into the equivalent of 1ms or 2ms pulses.  :(  Either that, or maybe my FrSky receiver does, but that seems so bad that FrSky should not design it to go e.g. full up, full left, full throttle when it flies out of range.  So...  A bad PPM stream (e.g. always off or always on) given to a transmitting OpLink should probably cause a flag to be set so that the receiving Revo treats it like a failsafe.  I can tell you that all it takes is any PWM channel being disconnected from Revo to generate as I recall 65535 or 65534 count and it enters failsafe.

I've noticed, and it comforms the theory, that link quality is significantly better when the relay box antenna is far from ground (or any ground plane like the steel roof of a car). Placing the relay box on a tripod works very well.
In that 433 antenna thread, I did test a magnetic mount antenna that was probably quarter wave and thus would require a ground plane.  I would stick it to my car roof (careful of scratching the car if your car is new) if I needed to drive and fly at the same time.  :)

I guess a Moxon or a small Yagi at the ground station (the relay box) will be sufficient to go to 22-25km with telemetry @57.6kbps.
I keep saying that 10km with omni antennas will be enough for me when I get my video working better, but we all know that distance is addictive and I will probably want more later.  :)

I've recently managed to improve the the FPV video range (1280MHz) I get with my equippment by carefully adjusting video level in the VTX (800mW Partom from Banggood, real output is 560-600mW). The preset video level was lower than standard 1V, it was closer to 0.85V. I was surprised how clearer and more stable the video became at distaces over 7-8km after I'd fine-tuned the video level (with the pot in the VTX) to 1V.
Are you measuring video level at receiver?  Hard to tell which one (tx, rx) is wrong...  Another way to adjust might be slightly reducing output level at the receiver (to avoid clipping when you increase signal at transmitter), inputting high contrast image from the actual camera I was using, tuning transmitter for highest value without distortion in any part of picture, and then reducing it a little more.  After that, adjust receiver so that video out of receiver is same level as video in to transmitter, maybe using oscilloscope to make sure no parts of signal (sync pulse lows, bright white video highs) get clipped.

When watching the video, I see lots of noise that looks like typically 16us bursts of noise (given that the scan line is about 64us and the noise looks like about 1/4 of a full scan line time).  I guess 433MHz harmonic to 1299, but that is about the length of a single bit at 57.6kbps.  Way too many zero bits though.  Thoughts?  Maybe some small 433 link level packets?  Local RF interference?  If it is 3rd harmonic from your 433, then you might want to put a 433 low pass filter between ground base station 433 transmitter and antenna.

It looks like your long waypoint flight had a problem at that fly circle command.  Did you fly it back manually after that?  It does look like it connected to some of the very last waypoints too though.
Title: Re: Oplink Relay Station with Telemetry Display and Logging
Post by: jdl on October 14, 2019, 01:50:31 pm
When using my relay, the delay is large enough that if I move the elevator up and down very fast that I can do it fast enough that it is 180 degrees out of phase (as I recall).  (For anyone needing to know, that the delay has it only getting around to processing the up elevator command when I have already moved the stick into the down elevator position.)

I've observed an identical situation/behavior even when testing servos directly connected to the 2.4G receiver.

The servos have their own delay that is not even constant (especially true for analog servos).  It would be better to estimate the control delay using devices with more "instantenious" reaction, for example LEDs.

I did a brief and simple (not really accurate) test comparing side by side two of my copters, controlled simultaneously by the one and same Radiolink AT9 transmitter, first copter (CC3D) has its own Radiolink RD9S receiver, second copter (Revolution/onboard RFM22B)  through a relay station (Radiolink RD9S + Oplink Mini). Both copters have front COB LEDs (+drivers), controlled by identical circuits on FC PWM channel:
https://www.xt-xinte.com/PDB-Power-Distribution-Board-BEC-5V-12V-3A-Signal-Loss-Alarm-Quadcopter-Finder-with-2-6S-Lipo-Low-Voltage-Buzzer-p136300.html (https://www.xt-xinte.com/PDB-Power-Distribution-Board-BEC-5V-12V-3A-Signal-Loss-Alarm-Quadcopter-Finder-with-2-6S-Lipo-Low-Voltage-Buzzer-p136300.html)

I captured on video (240fps) series of switching LEDs on and off by key on the AT9 transmitter. Then reviewed the footage and determined the delay between two LEDs by counting frames.

The test is not good because FC themself cause delays. Sometimes LED on CC3D was switched on/off slower than LED on Revo (+oplink).

I've captured 20 transitions. Averaged delay on Revo+oplink side is only 2ms higher than directly controlled CC3D. This is not usesful info, as I'm interested in worst case scenario.

If only the positive delay values are used in calculations (when Revo+Oplink reacts slower than CC3D), then average delay is calculated about 25ms, and biggest delay I've encountered (only once ) was 75ms.

I have an idea to setup a single Revo FC to simultaneously get inputs from Oplink (through the relay box with its R9D receiver paired to the AT9 transmitter) and PPM (from another R9D receiver, also paired to the AT9 transmitter), and output one and same selected channel from both streams to two different PWM outputs, driving two LEDs. This setup should give more precise measurements of the delay caused by oplink, i guess.


What 433 antenna do you use on the aircraft?  For my airplanes, where weight is not such a big factor, I use the Retevis 771 there too.

On my planes I use DIY half-wave dipoles (0.8mm welding wire), made them following these instructions:
https://fpvlab.com/forums/showthread.php?27230-DIY-antennas-for-your-UHF-system&p=458957&viewfull=1#post458957 (https://fpvlab.com/forums/showthread.php?27230-DIY-antennas-for-your-UHF-system&p=458957&viewfull=1#post458957)
On the MiniTalon the bottom element is burried in the fuselage (foam has very little negative effect):

(https://static.rcgroups.net/forums/attachments/6/3/3/3/8/4/a11105870-52-21.433MHz%20Dipole.jpg)

On the quads: coil-loaded dipoles:
https://www.youtube.com/watch?v=_kz9XG72mlc&t=1153 (https://www.youtube.com/watch?v=_kz9XG72mlc&t=1153)


Speaking of transmitter switched off, the PPM code in the OpLink in a relay box apparently converts switching the transmitter off into the equivalent of 1ms or 2ms pulses.  :(  Either that, or maybe my FrSky receiver does, but that seems so bad that they should not design it to go e.g. full up, full left, full throttle when it flies out of range.  Bad PPM stream given to OpLink should probably probably cause a flag to be set so that the receiving Revo treats it like a failsafe.  I can tell you that all it takes is any PWM channel being disconnected from Revo to generate as I recall 65535 or 65534 count and it enters failsafe.

I do only own and use Radiolink AT9 & compatible receivers. They support programmable channels output on failsafe, so I'm using this feature. I've set receiver failsafe to be the same as FC failsafe. So no matter what failsafe is triggered (connection lost between AT9 RC transmitter and relay box, or between Oplink Mini in the relay box and the FC in then UAV), UAV behaves the same way (RTB is triggered).


Are you measuring video level at receiver?  Hard to tell which one (tx, rx) is wrong...

Yes, on the Video Out of the receiver, with dummy 75ohm terminator, using oscilloscope. Double-checked that sync pulses level is 0.3V (this is for PAL standard).

Funny, all chinese FPV cameras I've tested (incl. the Runcam Eagle2 on the MiniTalon) do output 1.25-1.3V instead of 1V when properly terminated with 75ohm load :)

I simply decided to trim the level at the VRX output using the pot in the VTX. I guessed (maybe wrong, didn't look thoroughly at the traces on the VTX PCB) that this pot is just a voltage divider / variable termination load on the video input of the VTX.


When watching the video, I see lots of noise that looks like typically 16us bursts of noise (given that the scan line is about 64us and the noise looks like about 1/4 of a full scan line time).  I guess 433MHz harmonic to 1299, but that is about the length of a single bit at 57.6kbps.  Way too many zero bits though.  Thoughts?  Maybe some small 433 link level packets?  Local RF interference?  If it is 3rd harmonic from your 433, then you might want to put a 433 low pass filter between ground base station 433 transmitter and antenna.

You are surely right about 3rd harmonic and digital transmission. It's definitely a local RF interference, this was the first time I flew in that area and the first time I've got such interference pattern in the video. Btw, Oplink's pattern is quite different, if allowed to affect video reception... Have no DVR sample to show it now but on the next flight I may intentionally bring the relay box antenna transmitting at full power just in front of the VRX antenna to record / demonstrate what is seen in the video feed.

It is really hard to find an RF clean area to fly here... I get different kind of interference in different flying spots:

https://www.youtube.com/watch?v=19TAXOdUo8I (https://www.youtube.com/watch?v=19TAXOdUo8I)


It looks like your long waypoint flight had a problem at that fly circle command.  Did you fly it back manually after that?  It does look like it connected to some of the very last waypoints too though.

Exactly!
The plane incorrectly exitted the circle prior reaching the programmed point. I've been already concerned about the unexpectedly low battery voltage (later I understood that the current sensor calibration had drifed away... and the energy consumption calculation in the OSD (mAh) was way too optimistic :) ) So, confused by the abnormal behavior of the autopilot, I cancelled for safety the automatic flight and switched to manual and brought the plane back myself. Passing near last waypoints is just a coincidence.

I've found the error in the pathplanner code for End Condition > Pointing Towards Next. Already created an issue (LP-616): https://librepilot.atlassian.net/browse/LP-616 (https://librepilot.atlassian.net/browse/LP-616) and a pull request to address it: https://bitbucket.org/%7B%7D/%7Bb2aed4b8-29b7-4665-a6dd-e79d9d33c3af%7D/pull-requests/539 (https://bitbucket.org/%7B%7D/%7Bb2aed4b8-29b7-4665-a6dd-e79d9d33c3af%7D/pull-requests/539)