# FPV VTX Table Setup: SmartAudio, IRC Tramp, and Manual Frequency Configuration
“I changed my VTX channel in the OSD but it did not actually change.” If this sounds familiar, your VTX table is either missing or misconfigured. The VTX table is a JSON array that tells Betaflight exactly which frequencies and power levels your video transmitter supports. Without it, OSD channel switching, pit mode, and low-power-on-disarm are all broken. This guide explains VTX tables end-to-end.
## Why VTX Tables Matter
Before Betaflight 4.1, VTX communication relied on hard-coded frequency tables buried in the firmware. Every VTX manufacturer had its own table, and updating meant reflashing. VTX tables (introduced in BF 4.1) moved this configuration to the user. Now you load a JSON file specific to your VTX, and Betaflight knows exactly how to talk to it.
## SmartAudio vs IRC Tramp: Protocol Comparison
| Feature | SmartAudio (TBS) | IRC Tramp |
| — | — | — |
| Protocol Version | SA 2.0 / 2.1 | Tramp Protocol |
| Origin | Team BlackSheep | ImmersionRC |
| Power Levels | Index-based (0-4) | dBm values (25, 200, 600, etc.) |
| Pit Mode Support | Yes (SA 2.1) | Yes (0 dBm or dedicated mode) |
| OSD Channel Change | Yes | Yes |
| Race Mode / Lock | Yes (SA 2.1) | Limited |
| Common VTX Brands | TBS, Rush, AKK, RDQ | ImmersionRC, Lumenier, Most AIO VTX |
## How to Find the Correct VTX Table
### Method 1: Betaflight Presets (Easiest)
1. Go to **Presets** tab in Betaflight Configurator.
2. Search for your VTX model (e.g., “Rush Tank” or “TBS Unify Pro32”).
3. Apply the preset — it loads the VTX table and sets the correct protocol.
### Method 2: VTX Table from Manufacturer
Most VTX manufacturers now distribute `.json` VTX table files:
1. Visit the manufacturer website.
2. Download the JSON file.
3. In Betaflight Configurator, go to **Video Transmitter** tab → **Load from file**.
### Method 3: Manual Entry
If no preset or file exists, you must build the table manually. This requires the VTX datasheet for frequency bands and power levels.
## Manual VTX Table Structure
A VTX table is a JSON file with three sections:
“`json
{
“vtxtable”: {
“bands”: […],
“powerlevels”: […],
“channels”: […]
}
}
“`
### Bands Array
Each band entry defines a real frequency band your VTX supports:
“`json
{
“name”: “A”,
“letter”: “A”,
“is_factory_band”: true,
“frequencies”: [5865, 5845, 5825, 5805, 5785, 5765, 5745, 5725]
}
“`
### Power Levels
Map the VTX’s power levels to dBm-like values:
| VTX Power | Label | Value for Table | Notes |
| — | — | — | — |
| Pit Mode | PIT | 0 | Zero power (SmartAudio 2.1) |
| 25 mW | 25 | 14 | ~14 dBm |
| 100 mW | 100 | 20 | ~20 dBm |
| 200 mW | 200 | 23 | ~23 dBm |
| 400 mW | 400 | 26 | ~26 dBm |
| 600 mW | 600 | 28 | ~28 dBm |
| 800 mW | 800 | 29 | ~29 dBm |
| 1 W | 1W | 30 | ~30 dBm |
| 1.6 W | 1W6 | 32 | ~32 dBm |
These “dBm” values are not actual dBm measurements — they are labels. Betaflight uses them to identify which power level the VTX is set to.
### Channels Array (Optional)
For non-standard bands or custom channel arrangements.
## Common VTX Table Issues and Fixes
| Symptom | Likely Cause | Fix |
| — | — | — |
| OSD shows wrong channel | VTX table bands don’t match VTX hardware | Load correct table from manufacturer |
| Power level stuck at 25mW | Power level labels mismatch | Verify powerlevels array matches VTX specs |
| “Device not ready” in OSD | Wrong protocol (SA vs Tramp) | Check wiring, check protocol in Ports tab |
| VTX resetting on arm | Low Power Until First Arm enabled | Configure power levels correctly |
| Pit mode not working | SA 2.0 doesn’t support true pit mode | Use lowest power (0) instead |
| Frequency mismatch by 1-2 MHz | Rounding in band definitions | Use exact manufacturer frequencies |
## Setting Up Low Power Until First Arm
One of the best features enabled by a correct VTX table:
1. Go to **Video Transmitter** tab.
2. Enable **Low Power Until First Arm**.
3. Set a low power level (Pit or 25mW).
4. Your VTX stays cool while you set up, and ramps to full power when you arm.
## Wiring Check for VTX Control
For SmartAudio or Tramp to work, you need:
– VTX data wire connected to a **free UART TX pad** on the FC (not RX).
– That UART’s **Peripherals** column set to either “TBS SmartAudio” or “IRC Tramp” in the Ports tab.
– Correct protocol selected in Video Transmitter tab.
**Common Wiring Mistake**: Connecting VTX SmartAudio to an RX pad. SmartAudio is one-way (VTX receives commands from FC), so it must go to a TX pad on the FC.
For quality VTX units with clean SmartAudio implementation and reliable power delivery, check the VTX selection at [uavmodel.com](https://uavmodel.com). A well-implemented VTX with proper SA 2.1 support makes channel management effortless.
—
