Jump to content

Attention: RC-CAM.com will be closing down August 2021.

The RC-Cam.com forum was the very first online community dedicated to the advancement of wireless video cameras on radio controlled (R/C) models. This is now called "FPV" (First Person View). We are proud of the contributions that our members have made to the FPV hobby.

We've seen significant changes over the last twenty years. Initially there were a lot of eager R/C hobbyist that built their own video systems. Allowing these creative individuals to share their work was the purpose of this site. Now the FPV market is flooded with low cost systems; Sadly DiY FPV video projects are now rarely discussed.

RC-CAM.com (main site and forum) will be closing down August 2021. This is being announced now (March 2021) so that everyone has time to download any information that is important to them. After the site is shutdown the information will no longer be available here.

We appreciate every member's involvement with advancing the FPV hobby. It is indeed sad to say goodbye to all our online friends. Be safe and stay healthy.

Recommended Posts

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.



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.


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:


Here is the VRx reference pattern:



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.


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:


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:

Link to post
Share on other sites
  • 2 weeks later...

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.


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.



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:


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).



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:



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


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.



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



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.



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.


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.


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:


To Select the vTx targets:


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.



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.

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:


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



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).


Link to post
Share on other sites
  • 4 weeks later...

After confirming that everything is working OK you can put your new tool to use.

Here's an example that shows a 900MHz video transmitter connected to the vTx generator:



Here's an example of the video receiver and LCD monitor connected to the vRx generator:



After everything is connected together you can power up the FPV gear and check the video level.

Link to post
Share on other sites

If the video level needs calibration then you'll have to carefully review the vTx (or vRx) and locate the component that does it. For example, the 900MHz vTx shown above has a video level calibration POT (adjustable resistor) that is accessible from a small hole. See close-up photo below.


Hopefully your 900MHz, 1.3GHz, or 2.4GHz vTx has an obvious Video Cal POT too. If you don't see an access hole then you'll have to dig in and open up its metal case. If you find that your vTx does not have a Video POT then check the vRx for one.

BTW, do not use a conductive screwdriver to adjust the POT through the hole in the metal case. Use a plastic (non-conductive) screwdriver instead.

Some tips:

  1. It is important to correctly identify the video level POT -- Do not touch any other adjustments in the vTx or vRx! For example, there may be a variable cap for antenna matching. Sometimes there's a variable cap and/or inductor for calibrating the audio subcarrier. Do not touch these!
  2. The video level can be affected by the antennas that are installed. So always re-calibrate the video level if you change antennas.
  3. The video level can be affected by the RF channel that is chosen. So always re-calibrate the video level if you change the FPV system's frequency setting.
  4. 5.8GHz FPV systems rarely have a video level adjustment. But unfortunately some have incorrect video levels that cause poor performance. No need to suffer needlessly, you can use this tool to reject those with bad video levels. Either return the offenders to the supplier or use them as a fancy paperweight.


Link to post
Share on other sites

Final Words: Properly calibrated video levels will help improve a FPV system's performance. If you build the Video Cal Tool then please come back and share your experience using it.

Link to post
Share on other sites
  • 4 months later...

Hi Thomas, I just wanted to thank you for this project. I've made one up for myself, and it works great!

I grabbed two board from RTFQ (KV-Team modded ones), but I don't have access to a 3D printer so I put the boards together and made some simple cables to adapting them for my needs. I simply soldered all the pins as standard, added the jumper wire for the voltage sensor on both boards, then soldered a JST power lead to the back of the 12V and GND pins. After a bit of glue for a strain relief on the power leads, I shrink wrapped the board with clear wrap, so I could see the LEDs and also the marking on the boards. (I maked them Tx and Rx, so as not to confuse them later) On the Tx board, I left both pins for video in and out, in case I ever re-purpose the boards later. On the unused video in pins, I just covered the pins in colored tubing, makes a nice reference when I plug in a cable to the other set of pins. ;)

To test the boards after flashing the firmware, I simply used a male-male servo lead and plugged from the output of the TX board to the input of the RX board. This also carried power between both board so they were both powered by one small 2-cell lipo. They matched up well and passed fine to me, at least to my eyes. Test pattern shown below...

When using them to test my video transmitters, I simply plug in a transmitter to the Tx board. (all my transmitters are wired with servo plugs, so it worked out perfect!) I power the test board with a 3S lipo, which also powered the transmitter plugged into it. On the Rx board I made two of the adapters like the one in the picture, RCA type to servo connector. It goes inline between the video receiver and my monitor. This board is powered by another small lipo, separate from the power for my receiver/monitor. 

So far I've tested 6 video transmitters. All of them 1.2/1.3GHz ranging from 200mW up to 1500mW, from various sources. (US FPV shops, Chinese resellers, etc.) Only ONE of them was set correctly "out of the box", coincidentally, it's the one transmitter that's always seemed to give me the nicest video and audio. We're onto something here! lol It's worth noting that the 200mW transmitters I have do not have a pot for setting the video levels. Both of them are close, but not perfect. I have 300, 400, 800, and 1500mW transmitters that DO have pots in them. The 1500mW (Gold cased "budget" transmitter from RMRC) was the only transmitter that didn't need to be tweaked. 

As far as my receivers, I have two tan cased "Racewood" type. One from your store (DPCAV), and one from RMRC when Tim was selling those. I remember a note on your store saying that your transmitters and receivers are checked and verified before shipping, so I used that receiver as my starting point. I checked all the transmitters using that receiver. Once I was finished setting them all, I tested them again with the other receiver from RMRC. All of them were still good to go, so I'm guessing the receivers are matched up well. I use them both on a diversity setup, so that's good to know.

I'm looking forward to flying some of these again soon to see how much better my video looks, if any. I've had less than perfect video from some of these planes with these receivers in them. I suspect they will be better now. Thanks again!

It's also interesting to note, look how much the voltage varies between the two boards. (8.1V vs 8.4V) They were both powered off the same 2S lipo for that test. It was showing 8.4V on my meter.




Link to post
Share on other sites

Thanks for the detailed report, I appreciate it. Your shrink-wrapped construction is great for this project. Fast and easy!

BTW, I'm not surprised to hear that your 1.2/1.3GHz vTx's had video levels that were out-of-spec and needed to be adjusted. This issue has been ignored by everyone (even old FPV pro's don't want to believe how widespread it is).  But accurate video levels make the FPV link more robust, so ignoring the problem has been the wrong thing to do.

You can fix the low voltage reading (8.1V vs 8.4V) on your Receive Target tool by editing the voltage divider constants (R1,R2) found in the Config.h file. My best guess is that changing the R2 define value to 15500.0 might do it, but tweak as needed until the voltage display is correct.
Example: Edit Line 45 in Config.h as follows -
  #define R2  15500.0


Link to post
Share on other sites
  • 2 years later...

Hi Thomas,

                          First of all i appreciate your all the work you have done towards fpv community!!


So i assembled your tool but i am having little issue.When i connect both minimosd boards, the image on top left doesn't match perfectly between vtx and rx miniosd boards.Any way i can calibrate? or i have to get another set of boards.I did order both boards together from the same manufacturer on aliexpress.Could you please have a look at the pics?Thanks.


Link to post
Share on other sites

It appears that the two minimOSD boards are not identical, perhaps due to sloppy components. Some ideas to try:

1. Ensure battery voltage is at least 8V when powering the boards.

2. Retest with a different video patch cable connecting the two modules. Should be short, good quality.

3. Check the two boards' video input termination. With nothing connected, use a DMM and measure the Vin input resistance of each board (DMM across Vin & Gnd). They should be identical values (within 1%) that are very close to 75 ohms.  If beyond 1% mismatch, replace the resistor that has the worst deviation (so it is a match).

4. There is also a 75 ohm series resistor on the video output of the MAX7456 chip. One end of the resistor is on the boards' Vout pin, the other is at the negative (-) junction of the two 47uF tantalum caps. Check them (meter across Vout and 47uF cap junction), should match within 1%. If beyond 1% mismatch, replace the resistor that has the worst deviation.

If the resistor values are good matches then the easy answer is to just use the boards as-is; When you adjust a vTx video level you'll need to set it so that the image results match exactly what you saw in the validation test. That is to say, the upper right "T" area will have a subtle darkness, as displayed in your posted image.


Link to post
Share on other sites

Success!! and thanks for your quick reply.

I just swapped the vtx osd board with Rx and reflashed both and now it matches good.So it must be difference in the resistor value  in one of them as you mentioned.Now i get same results on 7.5v and 12v.Picture attached.


Now when i tried to check my actual two 1.3ghz Rx(both latest readymaderc comtech Rxs) and two Vtx(one 600mw RMRC and one bangood patrom 1.3ghz 600mw),i found they are not matched with each other.

1 patrom is matching with one RMRC Rx and 1 RMRC Vtx is matching with 1 RMRC Rx.


One strange phenomenon i found that RMRC Vtx changes the video level a lot  by turning its position but patrom Vtx doesn't do that.It remains constant even if i am turning it around.Does it mean that RMRC Vtx is bad?



Edited by ninja_zx11
Link to post
Share on other sites

Now when i tried to check my actual two 1.3ghz Rx(both latest readymaderc comtech Rxs) and two Vtx(one 600mw RMRC and one bangood patrom 1.3ghz 600mw),i found they are not matched with each other. 1 patrom is matching with one RMRC Rx and 1 RMRC Vtx is matching with 1 RMRC Rx.

These observations are ongoing issues that the suppliers ignore. And the reason for the video calibration tool.


One strange phenomenon i found that RMRC Vtx changes the video level a lot  by turning its position but patrom Vtx doesn't do that.It remains constant even if i am turning it around.Does it mean that RMRC Vtx is bad?

You are now getting acquainted with the performance issues that haunt many FPV systems. Along with what you observed, be prepared to find that some systems will alter the video level after you change antennas. And sometimes whenever you change RF channels.

These undesirable quirks are due to inadequate RF designs, mostly affecting the 900MHz-1.3GHz systems. I doubt the suppliers care and most users are unaware of these problems. The video cal tool not only allows you to properly calibrate a good set of components, it also helps you identify the bad performers that need replacement.

I suggest calibrating the video levels after everything is installed and the desired RF channel has been set. Do the cal with the vTx and vRx several meters apart, preferable outdoors (less multipath from workshop walls).

Replace the bad parts in installations that suffer a lot of video level instability as the model is moved around (will cause poor video performance in flight). Whenever **anything** in the FPV model or ground station is altered then repeat the video calibration.

You're on your way to experiencing better FPV video performance. Your video diversity system should work better too. Enjoy!


Link to post
Share on other sites

Anyway to get quality 600~800mw Vtx from dpcav?I really like your quality products.

Thanks for the kind feedback. Sorry, but nothing to offer in that RF power category.

After the product quality fiasco with Lawmate, followed by the Racewood factory closure, I evaluated several higher powered 1.3Ghz vTx's. None met my quality / performance expectations. That was several years ago and it doesn't appear anything has changed given what's available today.

My workaround back then was to in-house modify an expensive 1000mW vTx from a China supplier (I forget the brand). With our modifications it was a reliable performer. But every sale was at a loss due to market pricing pressures. Did that for a couple years to support our customers. Unfortunately the mods were too time consuming and so we ended sales. Fortunately this was after the FPV market had shifted to 5.8GHz.

Link to post
Share on other sites

The physical location of Partom's pot suggests it is the video level adj. So give it a try.

It's very unfortunate that the other board is missing the video adj pot. And it appears to be hand soldered and has a lot of flux residue. Disappointing to see.


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...