Releases: RomanLut/hx-esp32-cam-fpv
Release list
Release 0.6.5
Online Flash Tool: https://romanlut.github.io/hx-esp32-cam-fpv/
A lot of stability fixes and some new features. Upgrade recommended for all.
Note
The wireless packet format has changed since v0.6.4. Update both the Air Unit firmware and Ground Station software together.
Highlights
- A lot of stability fixes for Radxa, Android and Oculus GS;
- Added Spectator Mode for RAW Broadcast, allowing multiple ground stations to watch the same camera while only the owning ground station can control it.
- Added optional video and RC link-quality gauges to the on-screen display.
- Added a live image histogram to the camera image-adjustment menus.
- Added a channel activity graph while searching for RAW Broadcast cameras.
- Improved camera search speed and excluded the currently connected camera when searching for another one.
- Raspberry PI GS image is now dual-boot esp32-cam-fpv/RubyFPV image
- fixed Meta Quest 3 support
RC and telemetry
- Added [!RC] warning on top line if RC updates are missing on air unit.
- Added MAVLink 2
RADIO_STATUSinjection, allowing compatible flight controllers to display Wi-Fi RSSI and link quality. - Added an option to provide RSSI through RC channel 16.
- Added selectable MAVLink port baud rates.
- Moved the camera-off and image-stabilization RC channel settings into the camera configuration, so they follow the Air Unit.
Connection and stability improvements
- Improved APFPV connection stability.
- Improved APFPV reliability on RTL8812AU-based ground stations.
- Fixed hangs when switching between connection modes.
- Fixed Wi-Fi packet fragmentation in APFPV mode.
- Fixed USB permission prompts and UART device handling on Meta Quest.
- The active Air Unit ID and Ground Station ID are now shown in the menus.
Air Unit and camera improvements
- fixed ESP32-C5 File Server mode and APFPV mode crash when DFS channel is selected.
- Fixed ESP32-C5 browser-based flashing for new ESP32-C5 revisions.
- Updated the ESP32-C5 SDK.
- Fixed overly bright black levels on the OV3660 camera.
- Fixed a crash when suspending an OV3660 camera.
- Added an alternative Radxa fan-control pin configuration.
- fixed cyan tint in 1280x720 mode on ov3660.
On-screen display
- Added separate On/Off settings for:
- Top status line
- Video link-quality gauge
- RC link-quality gauge
- OSD screen margin
- Added a visible
SPECTATORindicator when connected in receive-only mode.
Release 0.6.4
Online Flash Tool: https://romanlut.github.io/hx-esp32-cam-fpv/
Changelog
- Braking change: packet format has changed, all units have to be updated
- Optimized rendering on Radxa and RPI, fixed low FPS on Radxa and RPI in hires modes
- Full OV3660 sensor support with corect video modes list in GS
- Optimized OV3660 video mode frequencies
- lens correction settings are kept on camera now
- new 0.6.4 images for Radxa and RPI
Release 0.6.3c
Online Flash Tool: https://romanlut.github.io/hx-esp32-cam-fpv/
Changelog
- Added OV3660 sensor support
- Added RTL8812EU and RTL8822BU support in the Android and Oculus Quest applications (thanks to the new devourer version)
- Optimized OV5640 video mode frequencies to match datasheet specifications
- Implemented OV2640 PCLK Calculator → Open tool
- Implemented OV3660 PCLK Calculator → Open tool
- Fixed OV5640 PCLK Calculator — now working correctly → Open tool
- Fixed critical bug: ESP32-C5 would crash when certain channels (e.g. channel 161) were selected
- Fixed ESP32-C5 online flashing
- Upgraded SDK to support new ESP32-C5 revisions
Radxa and Raspberry Pi images are available in release 0.6.3
Release 0.6.3b
New landing page: https://romanlut.github.io/hx-esp32-cam-fpv/
- Implemented online firmware flashing from the download section of landing page https://romanlut.github.io/hx-esp32-cam-fpv/#firmware-by-board
- Firmware is now released as a single merged image for easier flashing.
- OV2640 and OV5640 esp32s3sense firmware has been merged into a single build that automatically detects the connected camera sensor at runtime.
- Fixed an issue where transmission power settings were not applied until the channel was changed or the Android/Oculus Quest app was restarted.
- Updated the ESP32-C5 firmware and schematics to match the pinout of the current hardware prototype.
- Mavlink UART baudrate can be configured in camera web interface
Radxa and RPI images are in release 0.6.3.
Release 0.6.3a
Critical fixes and RTL8821AU support on Android and Oculus Quest.
Radxa and RPI images are in release 0.6.3.
- critical fix in camera firmwares: in mavlink2mspRC mode, MSP RC frames are sent continuously on connection loss. Flight controller can not enter failsafe mode.
- major fix: MSP OSD does not work on esp32cam
- RTL8821AU wifi cards are now supported on Android and Oculus Quest.
Release 0.6.3
🚀 Huge update: Android GS application, Oculus Quest OpenXR application, improved image quality with post-processing, image stabilization, lens correction, APFPV firmware, channel scanning, recordings playback, VR mode, and more.
🆕 Highlights:
- Android GS application can receive video streams in RAW Broadcast mode using an RTL8812AU adapter, and in APFPV mode using the phone’s built-in Wi-Fi
- Native OpenXR Oculus Quest 2/3 GS application supports both RAW Broadcast mode with an RTL8812AU adapter and APFPV mode using the built-in Oculus Quest Wi-Fi
- JPEG compression artifacts are filtered to reduce blockiness and improve image quality
- Image stabilization smooths camera movement
- lens correction compensates camera lens distortion
- APFPV firmware adds a mode where the camera creates a Wi-Fi access point and the GS connects directly to it
- Channel scanning allows monitoring Wi-Fi channel congestion
- Recodings playback can be used to view recordings on GS
- VR mode allows using the Android GS application with VR headsets
The protocol is compatible with version 0.5.3, but APFPV mode can only be enabled with firmware version 0.6.3.
Android and Oculus applications were made possible thanks to the Devourer Project
RubyFPV on shared image is updated to version 11.8.
Release 0.5.3
🚀 Release: esp32c5 experimental air unit, 5.8 GHz band support, USB MSC on esp32s3
🆕 Highlights
- ESP32-C5 air unit support: Experimental support of esp32c5 +ov5640 air unit.
- 5.8 GHz band support on esp32c5
- Runcam VRX ground station support (experimental, 5.8 GHz only)
- Radxe Zero 3E and Emax Wyvern Link VRX GS support
- USB MSC (Mass Storage Class) support for SD card access on ESP32-S3
- mavlink stream via USB serial support
- Ruby image updated to 11.7
- long press of Air Rec button starts GS recording (Runcam VRX is missing second action button)
esp32c5 and Runcam WiFiLink VRX support is stable in this release. esp32c5 air unit SD card recording requires more tuning.
Release 0.4.3
🚀 Release: Camera web interface, OTA mode for XIAO S3
🆕 Highlights
-
Camera web interface allows to playback videos in browser /doc/web_interface.md
-
OSD Font selection is stored on camera.
-
RubyFPV is updated to v11.4 in dualboot image.
-
Other minor changes.
⚠️ Breaking Changes
- Communication protocol has changed significantly. Previous versions are incompatible. Please reflash all units.
Release 0.3.2
🚀 Release: Radxa Zero 3W GS Support
🆕 Highlights
-
Radxa Zero 3W support : Radxa Zero 3W is now the recommended hardware for GS.
-
Dualboot Radxa Zero 3W image : GS image for Radxa Zero 3W is dualboot RubyFPV 11.1/hx-esp32-cam-fpv 0.3.2 image.
-
Integrated GPIO joystick support : Joystick handling via GPIO is now part of the main application. No external applications required anymore.
-
Pairing support: Multiple GS/Air Unit pairs can now coexist on the same channel.
-
Camera settings persistence: Camera-related settings are now stored directly on the camera.
-
Temperature monitoring: Implemented for both Air Unit and Ground Station (GS).
-
PWM Fan control: Added PWM Fan speed control script.
-
Radxa Zero 3W enclosure design: Designed a 3D-printable enclosure for Radxa Zero 3W GS.
-
RC-based camera control: Ability to disable camera via RC channel added.
-
Mavlink2 → MSP RC translation: RC commands from Mavlink2 cannot be translated to MSP.
-
Unified ESP32 configuration: Merged separate ESP32 configs into one using a new schematic.
-
Other minor changes.
⚠️ Breaking Changes
- Communication protocol has changed significantly. Previous versions are incompatible. Please reflash all units.
Release v0.2.1
Changes:
- braking change: GPIO Joystick pinout changed to be compatible with Ruby Digital FPV System
- HQ DVR mode: https://github.com/RomanLut/hx-esp32-cam-fpv?tab=readme-ov-file#hq-dvr-mode
- Composite output support on Raspberry PI: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/composite_output.md
- runnig GS on Ubuntu: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/running_gs_on_ubuntu.md
- running GS on Fedora Linux: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/running_gs_on_fedora.md
- optimized buffering ( less dropped frames )
- minor non-critical fixes
Update from 0.1.1: reflash ESP32 and remake GS SD Card.
Please refer to documentation in the v0.2.1 tag ! master branch may contain changes already.
https://github.com/RomanLut/hx-esp32-cam-fpv/tree/v0.2.1
See:
Flashing esp32cam firmware: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/flashing_esp32_cam.md
Flashing esp32s3sense firmware: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/flashing_esp32s3sense.md
Preparing SD Card for GS from pre-built image: https://github.com/RomanLut/hx-esp32-cam-fpv/blob/v0.2.1/doc/prebuilt_gs_image.md