Home

Awesome

VTX power measurment tool

Terminal based python script based on a pandas library. It can be used to read an Immersion RF-Meter v2 via USB.

This script is not finished at all and in an alpha-release status ;-). But it works for my needs.

Note

This software is tested on OSX only and should be running on Linux as well. Working unter Windows is ongoing.

This is a quick & dirty implementation to compare different VTX boards on my workbench - and what can I say - none of the cheap Banggood / AliExpress China VTX boards came close to the manufacturer's stated maximum output power. <br> Most 800mW VTX delivered on average between 500-650mw. I tested about 10-12 different VTX boards. <br><br>Buy cheap, buy twice

In comparision to a TBS-Sixty9 vtx no China crap comes into the range of TBS !

Immersion RF-Meter V2

https://www.immersionrc.com/fpv-products/rfpwrv2/

For this tool the Immersion RF-Meter V2 is used and connected via USB to the host. This little RF-Meter use a simple CDC parameters for communication.

Workflow

A couple of different parameters controll the worklow

System read the first frequency and the first power configuration and wait for user to configure connected vtx-board. If done press ENTER.

Example terminal output

***************************************************************************
Please set POWER on     VTX to 200mW
Please set FREQ on      VTX to 5785Mhz Freq

Nearest frequency for ImmersionRF-Meter was set to 5800Mhz automatically

Please set your VTX to above values - Press ENTER to start measuring
***************************************************************************

Now the system measures "time" seconds and collect data. In this case loop through all power configurations. If done, loop through all frequencies

Stored data

AttributecsvInfluxDBComment
ModelxxModel/Type of VTX board
TestxxInfluxDB tag: unique timestamp for the complete run
BandxxInfluxDB tag: VTX Band (like A, B, H, I, R, ...)
Infoxonly output to CSV, additional information pased on paramter --info
t_mwxxInfluxDB tag: target mw (e.g. 25mW, 100mW, 200mW, ...)
t_dbmxxInfluxDB tag: target mBm (e.g. 14.0 dBm, ...)
mwxxInfluxDB field key = mW, field value = measured mw
dbmxxInfluxDB field key = dbm, field value = calculated from read mW
diff_mwxxInfluxDB field key = diff_mw, field value = target_mW - mW
diff_dbmxxInfluxDB field key = diff_dbm, field value = target_dbm - dbm
timestampxInfluxDB timestamp unix format in nanoseconds (ns)

Starting parameters

This python script do not have any graphical output, it's designed as a pure terminal script with output on console.

Arguments

<todo>

Examples

<todo>

InfluxDB & Grafana

It's possible to store data into a InfluxDB V2 database. Generating output plots can be done with grafana.

A simple dashboard is included in folder

Via parameter it's possible to include output to this database

CSV output

Via parameter it's possible to create from all data an output csv file. Filename includes model name and a timestamp. Default separator is ";" - can be adjusted inside config.py

Used Libraries

Developer hints

<todo>

History

VersionDateInfo
0.106-21initial