Sign in to follow this  
Followers 0
Mr.RC-Cam

DiY FPV Video Calibration Tool. Low Cost!

8 posts in this topic

FPV Video Calibration Tool: DiY -- Low Cost -- EZ to use.

The signal level (amplitude) of a FPV system's vTx / vRx composite video matters a lot. Unfortunately many are incorrectly adjusted out of the box. There's a number of reasons for this -- marginal designs, poor manufacturing QA, compatibility problems due to brand mixing by end users, cheap component drift, and just plain bad luck.

Hold on you say! You are convinced that your system's video is fine. But perhaps that's wishful thinking. Here's the cold hard reality -- Many FPV systems have marginal video levels and this invites problems that are often blamed on other things. For example, the random "weak signal" blackouts we all hate are not always directly RF signal related. Poorly calibrated video levels will contribute to those random blackouts too. Plus a host of other image quality problems (e.g., image tearing, poor brightness / contrast, random sync, color loss, etc.) that are simply victims of marginal video levels.

Checking the composite video signal normally requires an oscope (oscilloscope). Ideally a test pattern generator is also used to provide the 1Vpp standard video signal that is measured with the oscope. Not many hobbyist have access to this equipment or know how to correctly perform the measurements.

So I experimented with video level testing using simpler tools than a oscope. My goal was to have something that worked well, but was cheap and simple to use. After a bit of head banging a clever DiY solution was born. How does ~$20 USD and a couple hours work sound to you? Yes, really.

Here's what my DiY FPV Calibration Tool looks like.

Full_Assy1_1000.jpg

 

Spoiler alert: Inside the small 3D printed plastic box is a $8 eBay circuit board and a 9V battery. To calibrate a FPV system you'll need two of them. Both boxes will use identical hardware but with different firmware. Oh you guessed it, Arduino is involved.

Come back soon. I'll show you how to build and use it. Your FPV system will thank you. The world will be a better place.

 

Share this post


Link to post
Share on other sites

Interesting :)

 

Terry

Share this post


Link to post
Share on other sites

The magic behind the Video Cal Tool relies on our eyes' ability to easily see relative differences in brightness during a side-by-side comparison. The basic test setup is as follows:

(1) A monochrome video overlay board provides an image reference (comparison) target pattern on the FPV display (goggles or monitor). It is directly connected between the FPV vRx's Vid-Out jack and the display.
(2) A second video overlay board provides a mating target pattern. It is directly connected to the video input of the FPV vTx (the FPV camera is removed).

The picture-in-picture formatted setup allows the vTx's pattern to be superimposed on the vRx's reference pattern. The mating target sets will have matching brightness when the FPV system's video level is properly calibrated. To account for the display's dynamic range and/or gamma behavior, one target set has 80% luminance and the other has 120%.

Here is the vTx test pattern:

Vid_Cal_vTx2_600.jpg


Here is the VRx reference pattern:

Vid_Cal_vRx_600.jpg

 

Ok, so that's what the vTx source and reference vRx targets look like. But now you're asking, how do you use them to measure the video signal's level (amplitude)? Answer: Your eyes are the "measuring" equipment. When I say using the tool is EZ, I mean it!

During the test the T-target pattern fills the empty inside area on the R-target. Properly calibrated video level appears on your display monitor as shown below.

Vid_Cal_targets_600.jpg


But if the two interlocking patterns do not blend together (brightness not the same) then the FPV system's video level is incorrect. Here's two examples:

Vid_Cal_bad1_600.jpgVid_Cal_bad2_600.jpg


What do you do when the brightness does not match? Fortunately this problem can be fixed on most analog 900MHz / 1.3GHz /  2.4GHz FPV video systems since they usually have an adjustable video level POT (variable resistor) in the vTx or vRx. Unfortunately modern 5.8GHz systems don't provide a calibration POT, so if the test fails you will be out of luck. But at least you will know that your 5.8GHz system has a video level problem.
 



Here's a short video that shows how to use the Video Cal Tool:

Share this post


Link to post
Share on other sites

So it's time to gather the parts to build this cool tool. As mentioned before, you need two video target pattern generators; One for the FPV vTx and another for the vRx. The target patterns are provided by low cost Arduino based FPV OSD boards.

Here's the Parts List:
2 pcs, MinimOSD (KV Team version recommended). Approx $8 USD each on eBay and AliExpress.

minimOSD_pcb2_600.jpg


To flash the custom firmware you'll need one (1) of these:
FTDI FT232RL USB to TTL Serial Converter (6-Pin version) for Arduino. Approx $3 on eBay and AliExpress.

FTDI_usb1_600.jpg

 

Keep in mind that there are several similar looking Chinese clones of the MinimOSD on the market. I recommend the "full size" board that has the KV Team Mod (built-in voltage attenuation resistors). Here is what the KV Team version looks like:

minimOSD_pcb1_800.jpg

How to tell the difference in board versions: The KV Team version will have the JP6 8-Pin header area (8 empty solder pads across the top). See photo above.

Useful Info:It's important that both OSD's have identical video signal characteristics. Therefore, I recommend that you purchase both boards at the same time from the same supplier. This should reduce the chance of any component variations that might cause unmatched video levels.

You can use your existing 7-12VDC FPV batteries (3S LiPO is fine) to power the boards. No other components need to be purchased. But if you want a power switch, A/V connectors (I used RCA phono chassis panel jacks), or plastic enclosure, then feel free to add these things to the shopping list.

Although you can simply protect your OSD board with some heatshrink or duct tape, the 3D printed plastic case gives it a professional appearance. Here's the STL files for it.
  Case Base: case_base1.stl
  Case Top: case_top1.stl
  Case Hole Plug: case_plug1.stl
Printing recommendations: ABS filament, 35% infill, 3 layer shell, 101% size scaling (shrinkage correction).

plastic_case1_1000.jpg

 

There's room for a mini toggle power switch, Alkaline 9V battery, and RCA panel jacks. The "Case Hole Plug" file is a small piece that covers an unused RCA mounting hole on the vTx pattern generator (Vid-In is not needed on the vTx side).

Here's how everything fits inside my vRx target generator:

Full_Assy2_1000.jpg

 

The vTx target generator is built the same, but has only one RCA jack.

Vid_Cal_System1_1000.jpg

Share this post


Link to post
Share on other sites

Assembling the vTx and vRx video generators requires basic soldering skills. And in case I have not been clear, there are two (2) MinimOSD's used in this project.

First you need to connect some ground and power pads that are on the two MinimOSD boards. Just add a blob of solder across the pads shown below (Grounding pads on bottom side, SJ2 pads on component side). Some suppliers have already done this for you, but if the pads are not bridged then you must do it.

solder_blob_gnd_1_1000.jpgsolder_blob_SJ2_1_1000.jpg

 

The new firmware (to be flashed later) includes an optional battery voltage monitor feature. This requires adding a jumper wire, as shown below.

bat_jmpr1_1000.jpg

 

If your MinimOSDs are the old/original version (not "KV Team") then the voltage monitor feature will require adding some 1% 1/8W resistors, as shown below.

minimOSD_atten1_700.jpg

 

Each boards' Power and Video connections are available on the stacked 3-Pin headers. The pins are labeled on the bottom of the MinimOSD board. The vTx OSD only uses VOut and +12V power pins. The vRx OSD needs VOut, VIn, and +12V. I used 3-pin servo plugs to connect the MinimOSD boards, but direct soldering can be used instead.

wiring_bot1_1000.jpg

The video connectors you use are up to you. I installed RCA phono panel jacks and made some simple adapter cables that connect them to the FPV system. How you do this is your choice. As a reminder, the vTx's MinimOSD does NOT use the VID-IN signal, so be sure to omit it.

 

Share this post


Link to post
Share on other sites

The existing Arduino firmware on both MinimOSD's needs to be reflashed with a new set of sketch files. The internet is full of How-To's that explain the flashing process, so I won't repeat the details here. If you are new to Arduino then be prepared to watch some YouTube videos and/or visit some web sites.

Note: This Arduino project will compile without any errors on Arduino IDE Version 1.8.1. To avoid compile failure frustrations I suggest you use this version too. In the Arduino Tools menu choose these two settings before flashing the MinimOSD boards: 
  Board: Arduino Pro or Pro Mini
  Processor: ATmega328 (5V, 16MHz)

1. Assuming you already have the Arduino IDE installed on your PC, begin by downloading the project's zipped firmware file set.

      Version 1.0 (dated Mar-25-2017):   Vid_Cal.zip

2. Unzip the files in a Arduino working directory named Vid_Cal.

3. Next, open the Config.h file for editing and go to the User Configurable Parameters section. 

4. You'll need to configure the video mode (NTSC / PAL). Edit the text to look like this:

To Select NTSC Video format:

#define VIDEO_MODE   VID_NTSC           // Video mode is NTSC
//#define VIDEO_MODE   VID_PAL          // Video mode is PAL

To Select PAL Video format:

//#define VIDEO_MODE   VID_NTSC           // Video mode is NTSC
#define VIDEO_MODE   VID_PAL          // Video mode is PAL

 

5. Because you will be flashing two different MinimOSD boards (vRx / vTx), you must specify which target type to load on each board. Configure as follows:

To Select the vRx targets:

//#define TARGET  TARGET_VTX
#define TARGET  TARGET_VRX

To Select the vTx targets:

#define TARGET  TARGET_VTX
//#define TARGET  TARGET_VRX

In summary, select the video type (VID_NTSC or VID_PAL) and enable TARGET_VRX before flashing your vRx MinimOSD board. Then re-edit the config.h and enable TARGET_VTX before flashing your vTx MinimOSD board.


6. Set your FTDI board's 3.3V / 5V jumper to the 5V position. This voltage will be used to power the MinimOSD boards during Flashing.

ftdi_setup1_1000.jpg

 

7. With battery power off, proceed to flash each board using the Arduino IDE's Upload button. Reminder: Be sure to configure the vTx/vRx target choice (see step 5) before each flashing.
 

Share this post


Link to post
Share on other sites

It is important that your two MinimOSD based target generators have identical video characteristics. Sloppy component tolerances and manufacturing mistakes will ruin the Video Cal Tool's effectiveness. Fortunately it's easy to test the target generators to confirm they are OK. Do not use the Video Cal Tool until you have successfully passed this test!

techtalk2_100.jpgPerform this special evaluation test while indoors; Do not test outdoors because the strong ambient light can wash out the display too much. Use a high quality monitor with large screen (mine is a 23" LCD TV/Monitor that lives on my workbench).


The MinimOSDs' evaluation test is quick & easy. Follow these three steps:

STEP 1. Connect the vTx generator's VID-OUT to the VID-IN of the vRx generator. Connect the VID-OUT of the vRx generator directly to the monitor.

Like this:

calibration_setup1_1000.jpg

STEP 2. Turn on the target generators. Within 5 secs you should see the image below:

Vid_Cal_targets_600.jpg

 

STEP 3: While reviewing the R & T target symbols, vary the monitor's contrast and brightness controls. The test is a PASS if the targets remain a perfect match at all settings. Repair or replace the MinimOSD boards if the R & T targets do not have matching video levels (FAIL).

 

Share this post


Link to post
Share on other sites

Next: Come back soon for tips on using your new Vid Cal Tool.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0