This device can decode Closed Caption and XDS data on line 21 of NTSC composite video. It is based on a design by Eric Smith & Richard Ottosen.

The voltage regulator and RS-232 circuits have been replaced by an FTDI USB to serial converter cable. The FTDI FT232RQ chip and support components are inside the USB 'A' connector.

The firmware has been updated with several new features. ANSI cursor and attribute codes can be used to mimic a real CC decoder. XDS and V-Chip info can be decoded.

An optional Zilog Z86229 CC/OSD chip can provie text overlay on the composite video.

Download source code, schematic, and font (all GPL license).

The first board revision.

The USB to serial chip is in the end of the cable.

The second board revision. Z86229 CC/OSD chip and support components added. Most of the additional passive components are hidden from view by the SOIC to DIP adapter.


The terminal and OSD can each be independently configured. This picture shows CC1 (english) on the terminal and CC2 (spanish) on the OSD. There wasn't room on the circuit board for a box circuit, so the video is just intensified for OSD text.

XDS data from a local PBS station. PBS stations usually have time code.

ANSI decoding does cursor positioning and color.

A custom bitmap font was created to display the full Closed Caption character set.

Debug mode ('D' command) displays the line 21 samples.
The last two hex values are the decoded closed caption data bytes. The parity bit is in the msb of the 8 bit value (closed caption data is 7 bits + parity).

The custom font can display a 'scope-like trace (enable with 'H' command).

Decoding text with attributes, but no cursor control (click for movie)
An EEG DE-101 closed caption decoder was used for OSD in these movies.

Decoding with ANSI cursor control (click for movie)