YAVTA – Low-Level Camera Tests & RAW Capture
With our Ezpire module for YAVTA (Yet Another V4L2 Test Application), we offer you the perfect tool for low-level hardware camera evaluations on PHYTEC hardware. The compact YAVTA test applications and accompanying shell scripts are already integrated into our phytec-vision-image. Whether it's system debugging, sensor calibration, or full-resolution RAW image capture — YAVTA gives you direct control over the V4L2 interface.
What is YAVTA?
YAVTA (Yet Another V4L2 Test Application) is an extremely lightweight C program originally developed by the maintainer of the Linux V4L2 subsystem. Its primary purpose is testing video interfaces at the kernel level and capturing image data (frames) directly, bypassing large multimedia frameworks like GStreamer or OpenCV.
In the PHYTEC context, YAVTA is the "Swiss Army knife" for embedded vision developers. It is ideally suited for validating the basic functionality of a phyCAM camera module, reading out formats, or saving pristine RAW images (8, 10, or 12-bit) straight from the camera sensor to internal storage.
What We Deliver: YAVTA Out of the Box
We have already firmly integrated YAVTA and its corresponding configurations into our phytec-vision-images (Vision BSPs). You receive a ready-to-use environment featuring pre-built scripts for the most common low-level use cases:
Pre-compiled C Binary: The native YAVTA executable is already present on your PHYTEC module's file system.
RAW Image Capture: Easily save RAW files directly at the sensor's maximum resolution using predefined scripts.
Variable Image Formats: Use our ready-made scripts to capture images in different resolutions and bit depths (e.g., 10-bit or 12-bit RAW).
Direct V4L2 Integration: Alongside YAVTA, we also integrate the v4l2-ctl tool, allowing you to configure the camera hardware and controller interface directly via the console prior to image capture.
Comprehensive Documentation: You will find all commands explained in detail in the "YAVTA Examples" section of our phyCAM Getting Started Guide.
Technical Deep Dive
Unlike GStreamer, YAVTA does not construct a complex pipeline. It simply opens the device node (e.g., /dev/video0), requests buffers from the kernel via Memory Mapping (mmap) starts the video stream, and saves the raw data to disk. This makes the tool extremely fast and completely immune to bugs in higher-level software layers.
Before YAVTA can read image data, the camera sensor and the processor's V4L2 interface (e.g., i.MX 8M Plus or i.MX 93) must be configured. In our BSPs, this is handled using the v4l2-ctl tool.
A typical, direct access flow (without a shell script wrapper) looks like this: You select the desired V4L2 device (e.g., the first camera device), initiate a single capture run using a memory-mapped stream mechanism, and write exactly one captured frame to the file system as a RAW file (e.g., under a custom filename like raw_image1.raw).
Our provided yavta-capture... scripts are designed to natively capture the specific Bayer pattern (e.g., GRBG, RGGB) and bit depth of the connected phyCAM (VM-x16, VM-x20, etc.). These raw, uncompressed *.raw or *.bin files are perfectly suited for offline analysis on a PC (e.g., using tools like ImageJ or dedicated RAW viewers) to evaluate the exact sensor characteristics and lens properties before applying any Image Signal Processing (ISP).
Recommended Hardware
To evaluate our System on Modules and phyCAM modules in practice, we offer tailored Embedded Vision Development Kits. These bundles contain everything you need to get started: a System on Module (SoM), baseboard, camera, lens, and a pre-installed Vision BSP including all YAVTA examples.
For demanding video applications, we particularly recommend these platforms:
Our reference platform for embedded vision — featuring a dual ISP and a dedicated AI accelerator (NPU) for high-performance multi-camera setups.
The next generation of architecture, equipped with massive AI compute power and the latest MIPI-CSI interfaces for high-resolution streaming.
You can find additional vision setups for other SoCs and form factors on our Imaging Kit Overview Page.
The PHYTEC phyCAM Portfolio
The YAVTA integration unlocks its full potential when paired with our extensive range of industrial-grade camera modules (phyCAM series).Whether you need a rolling shutter or global shutter, monochrome or color, from 1 megapixel up to 4K resolutions — our hardware and software drivers are perfectly matched.
Which setup best suits your requirements? Thanks to the standardized phyCAM interface, camera modules can be easily interchanged. Reach out to us – we are happy to help you select the right hardware.
Links & Resources
All YAVTA demo scripts are integrated into our phytec-vision-image. Here is how you can get started in just a few steps:
With a PHYTEC Vision Development Kit: he Vision Image comes pre-installed from the factory. You can boot up and start right away.
With Standard Kits or SBCs: Download the phytec-vision-image yourself. Simply visit the product page of your board (e.g., i.MX 8M Plus) and navigate to the Downloads.
How to find the YAVTA instructions:
Navigate to your board's product page: Downloads > Image Processing > Quick Start Guides with cameras.
Open the Getting Started Guide phyCAM.
In the YAVTA Examples section (e.g., Section 11.2), you will find detailed instructions and all pre-configured YAVTA scripts for your setup.