Skip to content

Python script to read out an RC Immersion RF-Meter to measure VTX signal strength. Quick and dirty implementation, with storing data into an INFLUX DB

Notifications You must be signed in to change notification settings

mrRobot62/vtx_power_measure

Repository files navigation

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.
Most 800mW VTX delivered on average between 500-650mw. I tested about 10-12 different VTX boards.

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

  • number of different frequencies
  • number of different power (mW)
  • Parameters like "delay" or "time" are used to set number of readings per second and how long a measurment per frequence and per power takes

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

Attribute csv InfluxDB Comment
Model x x Model/Type of VTX board
Test x x InfluxDB tag: unique timestamp for the complete run
Band x x InfluxDB tag: VTX Band (like A, B, H, I, R, ...)
Info x only output to CSV, additional information pased on paramter --info
t_mw x x InfluxDB tag: target mw (e.g. 25mW, 100mW, 200mW, ...)
t_dbm x x InfluxDB tag: target mBm (e.g. 14.0 dBm, ...)
mw x x InfluxDB field key = mW, field value = measured mw
dbm x x InfluxDB field key = dbm, field value = calculated from read mW
diff_mw x x InfluxDB field key = diff_mw, field value = target_mW - mW
diff_dbm x x InfluxDB field key = diff_dbm, field value = target_dbm - dbm
timestamp x InfluxDB 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

Examples

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

  • Pandas
  • InfluxDBClient
  • Matplotlib
  • FPDF

Developer hints

History

Version Date Info
0.1 06-21 initial

About

Python script to read out an RC Immersion RF-Meter to measure VTX signal strength. Quick and dirty implementation, with storing data into an INFLUX DB

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published