You land, change your VTX channel with the button, and the next pilot’s video feed washes out because you’re overlapping their frequency. Or your OSD shows “VTX: DEVICE NOT READY” and the power level is stuck at 25mW. VTX tables fix both problems — but only if they’re configured correctly for your specific hardware.
How Betaflight VTX Tables Work
A VTX table is a JSON array that tells Betaflight which frequency bands, channels, and power levels your video transmitter supports. Without a correct VTX table, SmartAudio or IRC Tramp communication still works — the FC can talk to the VTX — but it can’t map the raw frequency/power data to the channel names and power labels you see in the OSD.
The table lives in the Betaflight CLI as vtxtable. It’s stored in flash memory and persists across firmware flashes. If you’ve ever seen “Unknown” in your OSD’s VTX channel display, your VTX table is wrong or missing.
Step 1 — Identify Your VTX Protocol and Wiring
SmartAudio and IRC Tramp are the two VTX control protocols Betaflight supports. They use different UART wiring and different commands. Mixing them up means the VTX doesn’t respond at all.
SmartAudio (TBS, Rush, AKK, Matek): Single-wire protocol. Connect the VTX’s SmartAudio pad to a free UART TX pad on the flight controller. The VTX sends data back on the same wire by pulling the line low — half-duplex communication. In the Betaflight Ports tab, enable “TBS SmartAudio” on the UART you wired it to.
IRC Tramp (ImmersionRC, Eachine, some HGLRC): Similar single-wire but different protocol timing. Wire the Tramp/IRC pad to a UART TX pad. In Ports tab, select “IRC Tramp” protocol instead of SmartAudio.
Verification: Power the quad and navigate to the Video Transmitter tab in Betaflight. The “Device Ready” field should show “Yes.” If it shows “No,” check that (a) the UART has the correct protocol selected, (b) the wire is connected to TX, not RX, and (c) the VTX is powered on.
Step 2 — Find or Build the Correct VTX Table
Betaflight ships with a few built-in VTX tables for common hardware. In the Video Transmitter tab, click “Load from file” and select your VTX from the list. If your VTX isn’t listed, you need to build a custom table.
A VTX table entry for a single band looks like this in JSON:
{
"vtxtable": {
"bands": [
{
"name": "A",
"letter": "A",
"is_factory_band": false,
"frequencies": [5865, 5845, 5825, 5805, 5785, 5765, 5745, 5725]
}
]
}
}
Each band has a name (displayed in OSD), a letter (used in CLI and OSD shortcuts), a factory-band flag (affects how it’s sorted), and eight frequencies in MHz. You can have up to 8 bands.
Power levels are defined separately:
"powerlevels": [
{"value": 0, "label": "0"},
{"value": 1, "label": "25 "},
{"value": 2, "label": "200"},
{"value": 3, "label": "600"},
{"value": 4, "label": "MAX"}
]
The value field matches the power index your VTX uses. Check your VTX manual — VTX manufacturers don’t agree on whether 25mW is index 0, 1, or 14. The label field is what shows in your OSD. The trailing space on "25 " is not a typo — many OSD fonts need that padding to align correctly.
Loading the table: Copy the full JSON object to your Betaflight CLI and paste it. Betaflight accepts the entire vtxtable block as one paste operation. After pasting, type save and the FC reboots.
Verification: Go back to the Video Transmitter tab. Band and channel dropdowns should show your custom bands and frequencies. Power level dropdown should show the labels you defined.
| VTX Brand | Protocol | Common UART Issue | Power Index Quirk | Default Table in BF? |
|---|---|---|---|---|
| TBS Unify Pro32 | SmartAudio 2.1 | Needs Vbat-spec UART (5V tolerant) | 25mW=1, 200mW=3, 800mW=5 | Yes (TBS Unify) |
| Rush Tank Ultimate | SmartAudio 2.0 | Some batches need SA 2.0 not 2.1 | Pit mode included at index 0 | No — build custom |
| AKK FX2-Dominator | SmartAudio 2.0 | Frequent counterfeit chips, silent on UART | 0/25/200/600/800mW mapped to 0-4 | No — build custom |
| Matek VTX-HV | IRC Tramp | Wire to TX pad; some boards need 5V not Vbat | Power labels in mW not indices | No — build custom |
| HGLRC Zeus Nano | IRC Tramp | Shared UART with GPS causes conflicts | 25mW=14, 350mW=18 — unusual | No — build custom |
What Most Pilots Get Wrong
Mistake 1 — Using the wrong protocol on the right UART. You soldered SmartAudio to UART3 TX and selected “IRC Tramp” in the Ports tab. The VTX never responds because it’s listening for SmartAudio frames and receiving Tramp frames.
Consequence: “Device Ready: No” in the Video Transmitter tab. You assume the VTX is defective and order a replacement — when the fix is changing one dropdown menu.
Fix: Check your VTX manual for the protocol. If the manual doesn’t specify, connect to any UART TX, try SmartAudio first (it’s more common), then Tramp. The correct one shows “Device Ready: Yes” immediately after power-on — no reboot needed.
Mistake 2 — Copying someone else’s VTX table without checking frequencies. A VTX table for a TBS Unify Pro32 HV loaded onto a Rush Tank Ultimate will show channel names that don’t match what the VTX is actually transmitting. The Rush might output 5740MHz on what the table calls “5840.”
Consequence: You think you’re on R8 at 5917MHz. You’re actually stomping on the pilot on R1 at 5658MHz because the frequency mapping is wrong. Both video feeds degrade and neither pilot knows why.
Fix: Always use a VTX table built specifically for your VTX model. The Betaflight wiki’s VTX table repository is the canonical source. If your VTX isn’t there, build the table from the manual’s frequency chart — the manufacturer’s specs are the ground truth.
Mistake 3 — Forgetting to set the VTX table after a full chip erase. A Betaflight firmware flash with “Full chip erase” wipes the VTX table along with everything else. You reconnect, configure everything, but the VTX shows “Device Ready: Yes” with no bands listed.
Consequence: You can’t change channels from the OSD. You’re stuck on whatever channel the VTX was last set to, which might be on the bench-test channel (usually F1 at 5740MHz).
Fix: After every firmware flash with full chip erase, paste your VTX table into the CLI before doing anything else. Save a copy of your VTX table JSON in a text file on your computer — rebuilding it from scratch after every flash wastes 15 minutes.
Mistake 4 — Power index mismatch causing “stuck at 25mW” behavior. Your VTX uses power index 14 for 25mW and 18 for 200mW (common on HGLRC Tramp VTXs). Your VTX table lists power index 1 for 25mW and 2 for 200mW. The FC sends index “1” to the VTX, and the VTX interprets that as an undefined command — it stays at whatever power it was at before.
Consequence: You select “200mW” in the OSD, the FC sends the command, nothing changes. You assume 200mW is working and fly behind a building. Video breaks up. You crash.
Fix: The power index values in your VTX table must match the indices your VTX firmware expects. This is manufacturer-specific and undocumented on half the VTXs on the market. When in doubt, use the OSD to cycle through power levels while a spectator watches the VTX’s LED — it should change color or blink pattern at each power step.
The uavmodel FlyDream F7 stack’s integrated VTX ships with a pre-validated VTX table for Betaflight 4.5, already configured for every legal power level from 25mW to 800mW across all eight frequency bands.
⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. VTX power output is strictly regulated — 25mW CE (EU/UK), up to 1W FCC (US) with ham radio license, and varying limits in other jurisdictions. Operating above legal power limits can result in fines and equipment confiscation. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.
If you’re also configuring OSD elements alongside your VTX controls, our Betaflight OSD configuration guide covers element layout, warnings, and the craft name display that pairs with VTX channel info. For antenna selection that maximizes the range from your properly configured VTX, see our FPV antenna placement guide.
