Overlaying text onto NTSC video?

Does anyone have any tips for using an Arduino to overlay a real-time data stream onto an NTSC video signal?

My application is a downlink video system to be flown in large model rockets. My idea is to have an Arduino read the telemetry data (5V RS-232 serial, 9600 baud) from my altimeter, generate a numeric display, and overlay it onto a video signal from an onboard NTSC camera, with the combined video signal then sent to an ATV transmitter to be broadcast during the flight. A update rate of a couple times per second would be needed to be worthwhile.

The altimeter is a MARSA4, and the telemetry specs are available here:

http://www.marsa4.com/jmla/index.php?option=com_content&view=article&id=57&Itemid=62

I am using a 1/4" CCD board camera for a video source. I have seen a couple of video shields for the Arduino, but they only seem to provide a video output, not the ability to overlay onto an external video signal. Does anyone make a video output board that can accept external sync signals, so I can "genlock" the arduino generated text to the sync of the camera?

It may be possible to change the TVout library to use external sync pulses instead of clock generated pulses. That would be a mostly-software solution.

MAX7456 video overlay IC from Maxim.

Sparkfun has a breakout board: SparkFun On Screen Display Breakout - MAX7456 - BOB-09168 - SparkFun Electronics

IIRC, someone either has or is making a shield.

There's a library here: http://www.eng.uah.edu/~jdw/avr/MAX7456_lib.tar.gz

It assumes you've downloaded a different character set to the OSD's flash memory. Details are in this thread on the old forum: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1220054359/0

I started playing with this specifically for ATV video overlay. It works well - that's what the IC is designed to do.

-j

I think boffin1 did something similar a while back


Rob

IIRC, someone either has or is making a shield.

It's been done...

http://dangerousprototypes.com/2010/05/06/video-overlay-shield-for-the-arduino/

@n2ixk, if you can wait a little while, I'm announcing a new Arduino shield in about 2 weeks that provides the ability to overlay text and graphics onto an NTSC signal (among many other features).

nootropic:
@n2ixk, if you can wait a little while, I'm announcing a new Arduino shield in about 2 weeks that provides the ability to overlay text and graphics onto an NTSC signal (among many other features).

Sounds cool, will it be using the MaX7456 OSD chip?

Sounds cool, will it be using the MaX7456 OSD chip?

Nope, it's a far lower cost solution than that. This overlay solution will be affordable! The shield will be around $25.

nootropic:
@n2ixk, if you can wait a little while, I'm announcing a new Arduino shield in about 2 weeks that provides the ability to overlay text and graphics onto an NTSC signal (among many other features).

Sounds great! No particular rush on this project, so I will be awaiting your release....

@n2ixk,
I just announced the product in the Products and Services board:
http://arduino.cc/forum/index.php/topic,56049.0.html

Nootropic:

Order placed...

Thanks!

I'm trying to take a more direct hack approach, by locking the Arduino 16 mHz clock to an external NTSC signal.

Would probably use a PLL (CD4046) and a varactor. Would use the amazing TVout library.

Any interest? Best. kwd... VE2KXD

One more project with LM1881 & Atmega8: