Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Name | Sensor | Field of Use | Price |
---|---|---|---|
HDMI cameras require the MMAL Overlay.
To use an HDMI Camera, you need an HDMI-CSI Adapter. These adapters enable you to connect cameras with HDMI outputs, allowing the use of a wider variety of cameras beyond the usual Raspberry Pi camera sensor boards. Depending on the camera, this may result in improved picture quality, including support for features like WDR.
Most small/cheap Toshiba chip boards support up to 1080p25 or 1080p30 HDMI camera resolutions on most Raspberry Pi models. The Raspberry Pi Compute Module boards are technically capable of 1080p60, but the necessary driver change to support 1080p60 has not been implemented yet.
Note: If your camera only supports 1080p60 or 4k60 HDMI output, it will not work with the Toshiba boards.
A latency test was conducted by Bortek using the Auvidea B102 with a GoPro4 camera.
GoPro4
SJcam M10
Canon EOS 700D
Cameras That Do Not Work:
Samsung NX500 (1080p60, framerate too high)
Canon EOS M (1080i, interlaced output is not supported by these adapters)
AliExpress link: DCDZ HDMI CSI-2 Adapter
This adapter is widely used for OpenHD. It's available through AliExpress and Taobao. Users in the U.S. or Europe may experience delays in obtaining them. For those regions, consider the similar geekworm board mentioned below, available on Amazon.
The adapter is compatible with both Raspberry Pi Zero and full-size Raspberry Pi models, setting it apart from other cards.
Available on Amazon in the U.S., this adapter is similar to the DCDZ adapter mentioned above. Amazon store link: Geekworm HDMI CSI2 Adapter Geekworm store link: Geekworm HDMI CSI2 Adapter
The adapter is compatible with full-size Raspberry Pi models.
More info: Auvidea B102
The Auvidea B102 shares similar capabilities with other adapters, but it's only compatible with the Pi Zero.
More info: Auvidea B101
Similar to other adapters, the Auvidea B101 is compatible with full-size Raspberry Pi models. Technical details
More info: Lintest Systems PiCapture HD1
This more complex (and expensive) card supports HDMI like other adapters, as well as analog component input. However, it's unlikely that any drone-worthy camera uses component connections. The adapter includes LEDs to indicate the status of the camera connection.
A drone-specific HDMI camera with onboard recording to MicroSD, WDR support, and a weight of 60g.
Note that some cameras were shipped without HDMI output. The provided link is reported to be the correct HDMI model.
OpenHD has the ability to automatically detect and utilize USB cameras that provide either raw uncompressed or pre-encoded (h264, h265, mjpeg) data streams. However, it's important to note the following potential limitations:
Fixed Encode Bitrate: Cameras with a fixed encode bitrate may not support features like variable bitrate. This could necessitate manual tuning of your connection settings.
Suboptimal Encoding Parameters: Some cameras might have encoding parameters that lead to issues such as increased latency or poor error recovery in your stream. Thoughtful adjustment of these parameters is recommended for optimal streaming performance.
RAW Format Challenges: Cameras that deliver RAW data require software-based encoding, which can impose constraints on achievable resolutions and frame rates. This limitation persists even on powerful platforms like the Raspberry Pi 4.
By being mindful of these potential challenges, users can make informed decisions about camera selection and configuration to ensure the best possible streaming experience with OpenHD.
The RPI HDMI to CSI adapter provides a means of interfacing HDMI output from cameras to the Raspberry Pi platform. However, it's important to note that this adapter is not officially supported by the Raspberry Pi Foundation, and as a result, it presents certain challenges and limitations. Here's a concise rundown of these quirks:
Encoder Bitrate Control: One notable issue is the unreliable performance of the encoder bitrate control. This often results in fluctuations like overshoot and undershoot in the bit rate. To mitigate this problem, it is recommended to disable variable bitrate and instead manually set a conservative bitrate, such as 8 MBit/s for MCS3 encoding.
Resolution and Framerate Configuration: Configuring the resolution and framerate through the adapter can be problematic and may even fail in certain instances. To enhance the likelihood of successful configuration, it is advised to set the camera resolution to match exactly the resolution and framerate output by your HDMI source.
Maximum Resolution and Framerate: The Raspberry Pi hardware encoder is constrained to a maximum output of 1080p@30fps or 720p@60fps. Consequently, it's important not to select an HDMI output video signal from your camera that exceeds these limits.
Reliable Adapter Detection: For consistent and reliable detection of the HDMI to CSI adapter during boot, it is crucial to sequence the power supply. In practice, ensure that the OpenHD system is powered on after your HDMI camera. This ensures that the adapter receives a valid HDMI input signal prior to the initialization of the Air Pi system.
While the RPI HDMI to CSI adapter serves as a bridge between HDMI cameras and Raspberry Pi devices, its unofficial nature can lead to these operational quirks. Users seeking to employ this adapter should be aware of these limitations and implement the recommended workarounds for optimal results.
CMOS
Good WDR
$75
Unknown
Good WDR
$75
As the Rock5 is a distinct platform and MIPI is not a plug-and-play system, we are awaiting official camera releases for compatibility. We are actively dedicating resources to introduce more camera options in the future.
Currently, the camera support is limited to:
Camera | Recommended | Notes |
---|---|---|
Note 1: There currently appears to be no compatible adapter or camera with this sensor available for the Rock5.
We are working towards expanding the selection of supported cameras and adapters, and we appreciate your patience as we continue to develop and improve camera compatibility
Important Note: OpenHD does not support ANY autofocus cameras due to their impracticality on equipment with vibrations, such as drones. This restriction includes the official Raspberry Pi V3 lineup.
On the Raspberry Pi, you have the option to choose between two CSI camera modes.
The Broadcom MMAL mode is the legacy camera stack. It only works with original Raspberry Pi Foundation cameras or clones that have the security chip. While it offers better latency compared to libcamera, it has been deprecated by the Raspberry Pi Foundation in favor of libcamera. OpenHD uses Broadcom MMAL as the default option, as done in previous OpenHD releases.
The libcamera mode works with both original Raspberry Pi Foundation cameras and a wide range of other cameras. Generally, you can achieve the same or even better image quality using libcamera by selecting the appropriate CSI camera. However, it might not provide the same latency as broadcom mmal.
You can switch between Cameras using QOpenHD (V_OS_CAM_CONFIG), but it requires a reboot.
Note: Autodetection is not available for identifying whether you've connected a camera supported only by libcamera/libcamera-ardu. You must manually select the appropriate CSI camera mode in QOpenHD for OpenHD to detect your CSI camera.
Note: We use a proprietary version of the libcamera library, which ensures compatibility with arducam and normal libcamera while also providing image adjustments which are normally excluded in gstreamer-libcamera. This version is licenced to OpenHD and not Open Source.
Tip: When choosing between the camera modes, consider your latency and image quality requirements along with the compatibility of the camera you are using.
OpenHD supports and recommends the following cameras on the Raspberry Pi:
Vendor | Model | Field of use | Price | Overlay |
---|---|---|---|---|
*This cameras use mainly raspivid which is legacy and discontinued. These cameras aren't really recommended for FPV, since V1,V2 of Raspberry cameras do not provide a good image outdoors, and the HQ camera is much bigger and more expensive then smaller versions of it. V1 sensor is also not produced anymore and V2 sensor is about to follow.
More information about CSI-HDMI can be found here.
Cameras not listed here may potentionally work, but aren't tested and configured.
We only integrate Cameras which are tested and fitting to the purpose of openhd. If you want to get new cameras supported ask your camera vender to support OpenHD development with their hardware, but contact us first at developer@openhdfpv.org
While many cameras can potentially work, latency is the biggest issue. Please read the Camera pages to fully understand all variables.
When using multiple Cameras you need to choose one Camera-Subsystem, so you can not use libcamera and raspicam at the same time. This means f.e. you can not use an Veye-Camera and an Arducam camera at the same time.
When using multiple Cameras the second camera is using Software decoding and encoding, it is not recommended to use a high quality camera. It is generally made for a thermal camera or something with lower resolutions.
With the upcoming of many new camera's there is one thing we need to mention. OpenHD is not supporting ANY autofocus cameras, since they are basically not usable on equipment with vibrations (like drones), this also includes the Raspberry V3-lineup
We also want to thank our cooperation partners for providing the Team with Prototypes and want to specifically thank Arducam for helping us in developing cameras specifically to our need.
Supported Cameras *
Can be enabled and used easily (No custom scripting), in case things don't work you can ask us for help.
Recommended Cameras **
Among the available options, we highly recommend the top 3 cameras as they offer unparalleled versatility and optimization for OpenHD. These cameras stand out for their exceptional image quality, low latency, extensive feature set, and suitability for professional applications. If you are currently without a preferred camera choice, these top recommendations are guaranteed to provide unique benefits and fulfill your requirements.
Name | Lens | Sensor | Resolution | FPS |
---|---|---|---|---|
Name | Csi lanes | Resolution |
---|---|---|
IMX219
1
IMX415*
*
Arducam IMX462 B0333
*
1
Arducam IMX708 B0310
*
1
Arducam
Highest Quality
$37
libcamera_imx708
Arducam
High Quality
$37
libcamera_imx519
Arducam
low weight,small
$37
libcamera_imx477
Raspberry Pi Foundation
Normal
$25
MMAL
Raspberry Pi Foundation
Normal
$25
MMAL
Raspberry Pi Foundation
HQ
$50
MMAL
Arducam
Normal
$75
libcamera_imx477
Arducam
Low Light
$60
2
Arducam
HQ Mini fixed focus
$35
libcamera_imx519
Arducam
Low Light
$30
libcamera_imx290
Arducam
Low Light
$30
libcamera_imx327
Arducam
Ultra Low Light
$60
libcamera_imx462
VEYE
Low Light
$90
veye_cam2m
VEYE
Low
Hti-201
Chalcogenide
Raytheon
320x240
9hz
Hti-301
Germanium
iRay
384x288
25hz
Infiray T2 search
Germanium
iRay
256×192
25hz
FLIR Boson 320
Germanium
FLIR
320x256
9hz/60hz
FLIR Boson 640
Germanium
FLIR
640x512
9hz/60hz
2
up to 1080p@30fps
2
up to 1080p@30fps
4
up to 1080p@30fps
OpenHD supports a variety of thermal cameras, including the Hti-301, Infiray T2, and others.
Thermal cameras typically connect via USB and need to be enabled as secondary cameras.
Thermal cameras are not like ordinary cameras. It's important to review available information about each camera before making any purchase decisions.
Surprisingly, a thermal camera with a resolution of 204x156 can be notably worse than one with an 80x60 resolution. The entire thermal imaging system matters, from lens material and size to the sensor type, sensor resolution, and image post-processing by the camera.
Any weak link in the system can severely degrade the image, making it unsuitable for specific uses. Sometimes, this trade-off is acceptable to achieve a lower price point.
Additionally, remember that while a thermal camera might be useful for close-up electronics work or basic household tasks, it may not perform well for drone flight.
Thermal cameras are highly regulated items, so legal requirements can impact purchasing decisions. Depending on your location, you may need to pay a higher price, obtain licenses, or face limitations on buying certain cameras.
Regulations often center around frame rate, not resolution. This is due to the potential use of thermal cameras in weapons.
For countries part of the Wassenaar agreement, buying 30/60Hz thermal cameras is possible, although prices may be higher if imported from the United States.
Direct purchase options are available from Chinese companies like Hti Instrument on platforms like AliExpress and TaoBao. If obtaining FLIR or Seek cameras from the U.S. proves difficult, alternatives like Hti might be more accessible.
Consider what you will realistically see with a specific thermal camera in various situations.
Low-resolution thermal cameras might show a hot object in an area but not identify it. While this could work for search and rescue, situations requiring higher thermal resolution might necessitate better cameras.
Remember that thermal cameras have much lower resolutions compared to typical FPV cameras. For instance, a 1280x720 FPV camera has 48x the resolution of a 160x120 thermal camera. At greater distances, the main FPV camera might be able to see an object while the thermal camera cannot.
Also, consider the thermal "span" of the area in view. If everything has nearly the same temperature, the image could be noisy or flat. In such cases, a low NETD rating and a larger lens are necessary.
Here are brief descriptions of individual cameras mentioned earlier. Carefully read this information before purchasing any of them.
A high-quality thermal camera with 384x288 resolution, a large germanium lens, and a 25Hz frame rate. Though more expensive, its thermal performance is excellent. These cameras work as regular webcams, requiring no special driver.
A 320x256 thermal imager core with a 60Hz frame rate. Expensive but equipped with Germanium lenses. Primarily designed for integration in larger camera systems or drones. Requires an appropriate connection board. Export controlled due to the high frame rate.
The lens on a thermal camera isn't ordinary glass (which doesn't allow IR wavelengths to pass through).
Germanium lenses offer high-quality thermal images but are costly. Many lightweight thermal cameras use Silicon or Chalcogenide lenses instead.
In most cases, you can't replace a thermal camera lens unless it's designed for it. Even cameras with removable lenses often require careful handling to avoid damage.
Important Note: IP camera support has limitations and should be chosen carefully, considering its disadvantages.
IP cameras cannot be automatically detected, as they lack a common protocol like USB cameras. They also require custom scripting for integration and lack support for bitrate adjustments, making them quite bad for long range sytems. They also don't support adjusting the keyframe interval, which can black out your video for several seconds when having any interference.
To implement IP cameras, you can utilize the custom_unmanaged_camera.sh script, which needs to be activated through the hardware.conf configuration.
IP-Cameras are not specifically designed for low latency, and many of them have latency upwards of 500ms+, but there are specific cameras available for purchase that have reasonable latency closer to 100-200ms. Remember this latency will be added to the "normal" latency your system has. So most IP-Camera Setups will have 300-600ms latency. It is not recommended to use an IP-Camera as primary camera. That means the main reason to choose an IP-Camera is to enable some custom features normal Cameras do not support.
For advanced users, we have implemented "scripting support," which allows for custom camera pipelines, IP cameras, and general debugging.
This feature requires disabling auto-detection and needs manual activation in the hardware.conf
configuration file.
The custom_unmanaged_camera.sh
script can be found on the SD card in the openhd/scripts
folder. You can edit this script. Just like in OpenHD 2.0, you can also use some of the old pipelines for testing purposes. However, please note that omxenc
is not available in OpenHD Evo.
The custom_unmanaged_camera.sh
can also manage Ethernet-Connections for IP-cameras.
Currently, there are several example pipelines available for:
Camera |
---|
Note 1: The custom unmanaged camera service requires careful testing and doesn't provide automatic functionality right away. It is intended for advanced users and developers who understand its intricacies.
We encourage you to experiment with this feature, but please be aware that it's meant for users with a good understanding of camera pipelines and system integration.
As part of the larger OpenHD ecosystem, the OpenHD custom hardware project aims to develop a specialized camera designed to work seamlessly with the OpenHD Custom Hardware project.
The custom cameras will be optimized for use in drone racing and aerial videography applications, offering high-quality imaging capabilities and low latency transmission. They will be designed to integrate seamlessly with the OpenHD Custom Hardware system, providing a complete end-to-end solution for drone enthusiasts.
The OpenHD custom hardware project is currently in development, and prototypes are being tested and refined to ensure optimal performance and reliability. As the project progresses, the team will be working to create a final version of the cameras that meets the needs of drone racing and aerial videography enthusiasts.
If you would like to learn more about this project and stay up-to-date on its progress, be sure to visit . The team is always looking for new supporters and contributors to help bring this exciting project to life.
OpenIPC cameras
General IP cameras
Seek Thermal cameras