Skip to content

fpvOS 2026.10.beta4

Pre-release
Pre-release

Choose a tag to compare

@gehee gehee released this 25 Oct 19:04
· 26 commits to main since this release
Immutable release. Only release title and notes can be modified.

fpvOS 2026.10.beta4

The radio opens up. Both images now run Open8030 (Thanks to mh1412), an open firmware for the AR8030 radio chip, on the goggle and on the air unit. Latency is down to 27.5 ms median glass to glass, 25 ms with screen tearing (Ascent Lite+ with the fpvOS air image at 864p120, 120 Hz screen). The screen's refresh can now follow the camera, the radio's clock is read off its own frames, and the spectator view, the DVR and the logs got a lot better.

Version
fpvOS 2026.10.beta4 (0b26cc2)
kestrel-gnd 2026.10.beta4 (521d0d66)
kestrel-air 2026.10.beta4 (abbd379a)
ar_libre 2026.10.beta4 (5c66a0f)
Open8030 2026.10.beta4 (89d3c63, upstream v0.2.0)

Highlights

  • Open radio firmware on both ends. Open8030, built from source in both images and the default. RADIO › VRX Radio Firmware switches the goggle back to Artosyn's firmware.
  • 27.5 ms glass to glass, 25 ms with screen tearing, measured with an LED and a photodiode (details).
  • Screen sync: the screen's refresh follows the camera (DISPLAY › Refresh Sync), so pictures land at the same point of every refresh.
  • Frame clock: the radio's clock is read off its frames on both ends, which times every slice exactly.
  • New video modes: 864p120 on the Lite and 864p144 on the Lite+.
  • Spectator view on a phone over the goggle's WiFi: the goggle's screen, re-encoded.
  • DVR: camera recordings that play everywhere, including QuickTime; screen recordings in H.265 at the camera's rate.
  • Logs that survive a power-off: with HUD › Debug Info on, the goggle keeps its log on the card and an fpvOS air unit keeps a log of each armed flight.

Installing

Download from the assets below:

  • fpvOS-vrxpro-2026.10.beta4.img.xz: the goggle's SD card image
  • fpvOS-2026.10.beta4-Ascent_H_Sky_18_21_10.img: the air unit image (recommended)

Follow the install guide: flash the card with balenaEtcher, and the air unit from your browser with the fpvOS Flasher. The goggle's own firmware is never touched; remove the card and it boots stock again. Keep the air image's file name ending in Ascent_H_Sky_18_21_10.img: both flashing tools check it.

Goggle (Caddx Ascent VRX Pro)

Video and display

  • Screen sync: the screen follows the camera's rate; Sync Margin sets how early a picture arrives before its refresh. A new screen starts with Refresh Sync off and is found reliably on hot-plug (its own EDID, not the last screen's).
  • Video recovers by itself after a restart: the decoder asks for a keyframe until it has one, and no slice is decoded before its picture parameter set.
  • The slice checksum is checked on every video packet; damaged slices are counted in the log.
  • The first connection waits for a decent picture before the warp into live video.

Radio

  • Open8030 on the goggle's radio by default; RADIO › VRX Radio Firmware (OPEN8030 · STOCK).
  • Max Bitrate: 30, 35 and 40 Mbps added.
  • The air unit's TX power is the one you chose: the link-up handshake used to ask every air unit for stock's 500 mW Auto.
  • Settings are kept per air unit; a stock air unit is served as a stock one.
  • The air radio's clock is followed past its 72nd minute (it was off by 2^32 µs after that).

Interface and HUD

  • Stats screen and HUD: each slice's latency by stage, frame spacing, the link's bandwidth and channel.
  • AIR UNIT › INFO shows more of an fpvOS air unit's capabilities.
  • With the canopy HUD, a Betaflight OSD element whose value the canopy already shows (voltage, current, flight mode, speed, Link Quality, DISARMED, and the timer while armed) is left off the OSD, so nothing is on screen twice. A value the air unit gets from the flight controller over MSP leaves its element drawn.
  • Betaflight GPS speed is read (the km/h and mph glyphs were wrong).

Gallery, DVR and spectator view

  • Camera recordings play everywhere: lost pictures are repaired, QuickTime plays them at the right speed.
  • Screen recordings in H.265 at the camera's rate, full range, 30 Mbit/s.
  • Gallery playback hides its title, timeline and hints while the recording plays.
  • Spectator view: phones get an address and a live view that keeps up; the view is the goggle's screen, re-encoded.

Logs

  • HUD › Debug Info on: the goggle writes its log to the card next to the recordings (fpvOS_<date>_<time>.log, newest 30), and tells an fpvOS air unit to keep flight logs.

Air unit (Caddx Ascent Lite and Lite+)

  • Open8030 on the air unit's radio.
  • 864p120 (Lite) and 864p144 (Lite+, OS02K10).
  • The Lite's TX power never goes above 19 dBm (100 mW), its top level on stock too; every power change is in the log.
  • Flight logs on the air unit's flash while the goggle's Debug Info is on: each armed flight from 10 s before arming to 10 s after disarming, with a status line every second (TX power, radio gains, MCS, bitrate), the newest 5, in /usrdata/fpv/air/logs.
  • The frame clock: the radio's clock read off its frames (on Open8030's frame interrupts).

Fixes

  • The air unit's TX power ignored the setting at link-up (stock's 500 mW Auto was asked for); a Lite could be asked for 26 dBm.
  • Link Quality read 9% instead of 90–100% with Betaflight's tenths form.
  • After the air unit's 72nd minute, slice times were thrown out and latency doubled.
  • Spectator view: the encoder kept running for up to 30 minutes after a phone vanished.
  • Recording: a failed start left an empty file; the muxer was not always closed.
  • Shutdown: a use-after-free in the display-lock thread.
  • The radio library: no allocation per write; one writer per socket at a time.

Known issues

  • This is a beta. Fly it, but keep a stock card or goggle handy.
  • With a stock air unit (Artosyn's radio firmware on the air side) and Open8030 on the goggle, parts of pictures arrive damaged or not at all, more so as the link changes rate. Flash the fpvOS air image, or set RADIO › VRX Radio Firmware to STOCK.
  • The Lite+ has no 1080p mode above 100 fps; its fast modes are 864p120 and 864p144.