Description:
VideoStamp+™ is a single channel on-screen composite video character and graphic overlay device with real-time clock. From any RS-232 or TTL source, such as a PC, control the display of 30 columns by 12 rows (NTSC) or 15 rows (PAL) of information directly onto an incoming composite video source. VideoStamp+™ can overlay characters and graphics onto either an incoming video source or self-generated background screen. VideoStamp+™ has 256 definable 12 x 18 pixel characters. Graphic images (such a logos) can be imported to create on-screen sprites. VideoStamp+™ firmware upgrades are supported via a PC connection.
Included with VideoStamp+™ is a 110 VAC wall power supply, 6’ DB-9 serial cable, demonstration utility, firmware update utility, and font editing software.

Specifications:
- Dimensions: 4 1/4" x 3 1/2" x 1 1/4"
- Weight: 8.0 oz.
- Input voltage: 8.0 to 14.0 volts DC (150 ma max.)
- DC plug: 2.1 mm x 5.5 mm, center tip positive
- Operating temperature: -40C to +85C (extended temperature range standard)
- Text area: 30 columns by 12 rows (NTSC) or 15 rows (PAL)
Due to monitor over-scan a minimum of 26 of the 30 columns and 11 of 12 rows (NTSC) are visible on-screen
- Character set: 256 definable characters. 12 x18 pixels per character.
- Sprites: 16 definable graphic sprites
- Video format: Composite video
- Video level: 1 volt peak to peak
- Video impedance: Input 75 ohm, output 75 ohm resistively terminated
- RS-232 serial or TTL input: 9600 or 19200 baud, 8 data bits, 1 stop bit, inverted data
- Power up defaults: Overlay mode, cleared screen, cursor position top left (0,0), visible text, character blink off, character invert off, character background off
Connections:
Connector |
Hookup |
VIDEO IN |
RCA connector type
Attach noise free NTSC or PAL video source such as a camera
Not required if self-generated screen mode selected |
VIDEO OUT |
RCA connector type
Attach to video monitor, DVR, etc. |
SERIAL PORT |
DB-9 connector type
Attach to 9,600 or 19,200 baud RS-232 or TTL source
Pin 2 Serial out (from VideoStamp+™)
Pin 3 Serial in (to VideoStamp+™)
Pin 5 Ground |
DC 8-14V IN |
2.1 mm x 5.5 mm, center tip positive connector
Attach supplied 110 VAC wall power supply
DO NOT EXCEED 14 VDC |

Dip Switch Configuration and Internal Battery
VideoStamp+™ comes configured for NTSC video format and 9,600 baud operation. To re-configure these settings VideoStamp+™ has 4 internal dip switches. To access the dip switches disconnect all cables from the VideoStamp+™ then remove the 2 screws from the front of the enclosure. After removing the bezel and front panel the circuit board will slide out.
Note: DIP switch inputs are only checked during power-up.
DIP # |
Description |
1 |
RS-232 baud rate
OFF = 9,600 baud
ON = 19,200 baud |
2 |
NTSC or PAL video format
OFF = NTSC
ON = PAL |
3 |
Display font screen (for testing purposes)
OFF = Do nothing
ON = Display font screen |
4 |
Firmware flash update
OFF = Do nothing
ON = Enter VideoStamp+™ firmware flash update |
Note: VideoStamp+™ contains an on-board removable battery. The battery is used to backup the real-time clock in the event of loss of power. If you plan on using the VideoStamp+™ real-time clock feature then while the enclosure is open remove the battery clip protective film.
Communication Protocol:
VideoStamp+™ RS-232 / TTL protocol settings are 9600 or 19200 baud, 8 data, 1 stop, no parity, no flow control.
Communicating with VideoStamp+™ requires either sending individual displayable font characters (0x00h – 0xDFh) or sending a command ID value followed by the appropriate number of parameters (see table below.) Command values are in hexadecimal (e.g. 0xE1h = 225 decimal).
Command |
Value |
Number
Of Params |
Description |
UNUSED |
0xE0h |
N/A |
UNUSED |
Set Video Format |
0xE1h |
1 |
Set the video format (0-1)
0 = NTSC
1 = PAL
Only required to override dip switch #2 setting |
Set Overlay Mode |
0xE2h |
1 |
Set the video overlay mode (0-2)
0 = Auto switch based on valid video input [default]
1 = Overlay text and graphics with incoming video only (external sync)
2 = Overlay text and graphics with self-generated background screen only (Internal sync) |
Clear Screen |
0xE3h |
0 |
Clear the entire screen with spaces (uses character in font position 00h) |
Show / Hide Overlay |
0xE4h |
1 |
Show or hide the text and graphics overlay (0-1)
0 = Hide text and graphics
1 = Show text and graphics [default] |
Set Cursor Position |
0xE5h |
2 |
Set the cursor position
Byte 0 = X (0-29)
Byte 1 = Y NTSC (0-12), PAL (0-15) |
Set Character Blink Attribute |
0xE6h |
1 |
Set character blink attribute (0-1)
0 = Off [default]
1 = On
Applies to all characters drawn after the command is sent |
Set Character Invert Attribute |
0xE7h |
1 |
Set character invert attribute (0-1)
0 = Normal (white pixels display white, black pixels display black) [default]
1 = Invert (white pixels display black, black pixels display white)
Applies to all characters drawn after the command is sent |
Set Character Background Attribute |
0xE8h |
1 |
Set character background attribute (0-1)
0 = Sets the background pixels of the character to the incoming video [default]
1 = Sets the background pixels of the character to the background mode brightness (0xF7h)
Note: During internal sync mode, the background attribute behaves as if it is set to 1
Applies to all characters drawn after the command is sent |
Draw Upper Range Character |
0xE9h |
1 |
Draw one upper range font character at the current cursor position (0xE0-0xFF) |
Draw Sprite |
0xEAh |
1 |
Draw one sprite at the current cursor position (0-15) |
Wait for VBLANK
|
0xEBh |
1 |
Wait for VBLANK before proceeding
Byte 0 = Pre-delay in milliseconds (0-128)
This is a forced delay before VBLANK detection occurs allowing the user time to send characters to be drawn during VBLANK. |
Set Screen Horizontal Position Offset |
0xECh |
1 |
Set Screen Horizontal Position Offset [default 53]
0 = Farthest left (-32 pixels)
32 = No horizontal offset
63 = Farthest right (+31 pixels) |
Set Screen Vertical Position Offset |
0xEDh |
1 |
Set Screen Vertical Position Offset [default 29]
0 = Farthest up (-16 pixels)
16 = No vertical offset
31 = Farthest down (+15 pixels) |
Set Date and Time
(Internal battery backup) |
0xEEh |
12 |
Set the on-board real-time clock
mmddyyhhmmss
mm = 2 ASCII characters 01-12
dd = 2 ASCII characters 01-31
yy = 2 ASCII characters 00-99
hh = 2 ASCII characters 00-23
mm = 2 ASCII characters 00-59
ss = 2 ASCII characters 00-59 |
Set Date and Time Display Format
(Stored in non-volatile memory) |
0xEFh |
2 |
Set date and time display format
Byte 0 = Date display format (0-1)
0 = mm/dd/yy [default]
1 = dd/mm/yy
Byte 1 = Time 12/24 hour display format (0-1)
0 = 24 hour format [default]
1 = 12 hour format |
Set Time Display Position
(Stored in non-volatile memory) |
0xF0h |
2 |
Set the position to display the on-screen time
Byte 0 = X (0-29)
Byte 1 = Y NTSC (0-12), PAL (0-15) |
Set Date Display Position
(Stored in non-volatile memory) |
0xF1h |
2 |
Set the position to display the on-screen date
Byte 0 = X (0-29)
Byte 1 = Y NTSC (0-12), PAL (0-15) |
Show / Hide Time
(Stored in non-volatile memory) |
0xF2h |
1 |
Show or hide the on-screen time (0-1)
0 = Hide time [default]
1 = Show time |
Show / Hide Date
(Stored in non-volatile memory) |
0xF3h |
1 |
Show or hide the on-screen date (0-1)
0 = Hide date [default]
1 = Show date |
Set Pixel Rise and Fall Time |
0xF4h |
1 |
Set pixel rise and fall time—typical transition times between adjacent OSD pixels (0-5)
0 = 20ns (maximum sharpness/maximum cross-color artifacts )
1 = 30ns
2 = 35ns
3 = 60ns [default]
4 = 80ns
5 = 110ns (minimum sharpness/minimum cross-color artifacts) |
Set Pixel Switching Time |
0xF5h |
1 |
Set pixel insertion mux switching time–typical transition times between input video and OSD pixels (0-5)
0 = 30ns (maximum sharpness/maximum cross-color artifacts )
1 = 35ns
2 = 50ns
3 = 75ns [default]
4 = 100ns
5 = 120ns (minimum sharpness/minimum cross-color artifacts) |
Set Row Brightness Black and White Levels |
0xF6h |
3 |
Set the row brightness black and white levels
Byte 0 = Row number: NTSC (0-12), PAL (0-15)
Byte 1 = Character black level % of OSD white level (0-3)
0 = 0% [default]
1 = 10%
2 = 20%
3 = 30%
Byte 2 = Character white level % (0-3)
0 = 120%
1 = 100%
2 = 90% [default]
3 = 80% |
Background Mode Brightness |
0xF7h |
1 |
Set background mode brightness for external mode (overlay) character background frame and internal mode (no video) background screen (0-7)
0 = 0%
1 = 7%
2 = 14% [default]
3 = 21%
4 = 28%
5 = 35%
6 = 42%
7 = 49% |
Auto Scrolling Message Mode |
0xF8h |
N/A |
After the 0xF8h command is sent wait or a <cr><lf> (13,10) response
To start a new scrolling message:
Send an <esc> (27 decimal) and wait for a <cr><lf> (13,10) response
Send the message repeat count (1-9), 0 = continuous repeating loop, 255 = exit the auto scrolling message mode
Send the screen y position NTSC (0-12), PAL (0-15)
Send the ASCII message (up to 896 characters) followed by <cr><lf> (13,10)
Message will start scrolling
If a repeat count of 1-9 is specified then each time the message has finished scrolling on-screen an ASCII remaining count character is sent from the VideoStamp+. For example if a message is to be repeated 3 times the VideoStamp+ would count down "2" "1" "0". When a "0" has been sent then the last message has scrolled off the screen. Once complete repeat the steps above to start over starting with the <esc>.
To interrupt a scrolling message simple repeat the steps above starting with the <esc>. |
Enable Automatic Sprite Draw (e.g. Graphic Logo) at Power-up
(Stored in non-volatile memory) |
0xF9h |
N/A |
Byte 0 = Sprite to draw (0-15, 255=none) [default 255]
Byte 1 = Cursor X position (0-29)
Byte 2 = Cursor Y position NTSC (0-12), PAL (0-15) |
| UNUSED |
0xFA |
N/A |
UNUSED |
Display System Information |
0xFBh |
1 |
Display system information on-screen
0 = Information screen* (input settings, software version, etc.)
1 = Font screen (font map)
* Partial ASCII character font must be installed |
Soft Reset |
0xFCh |
0 |
Reset the VideoStamp+ to default (power-up) settings |
Define Sprite
(Stored in non-volatile memory) |
0xFDh |
4 |
Define a sprite in non-volatile memory
Byte 0 = Sprite # (0-15)
Byte 1 = Start font table memory position (0-255)
Byte 2 = Sprite width in characters (1-30)
Byte 3 = Sprite height in characters NTSC (1-13), PAL (1-16)
Returns: <cr><lf> (Must wait for before continuing to next sprite) |
Define Font Character
(Stored in non-volatile memory) |
0xFEh |
56 |
Define a character in non-volatile font table memory
Each character is 12 x 18 pixels
Each pixel consists of 2 bits:
00 = black
10 = white
x1 = transparent (pass video though)
Byte 0 = Font table position to fill (0-255)
Byte 1-54 = 54 bytes – 3 bytes per character row, 18 rows
Byte 55 = End byte flag (0xAAh)
Returns: <cr><lf> (Must wait for before continuing to next character) |
Read Data |
0xFFh |
1 |
Read data from the OSD-232+™
Byte 0 = Read request type
0x00h = Verify RS-232 connection
Returns: “ok”<cr><lf> if connected
0x01h = Get firmware version
Returns: Firmware version number e.g. “1.01”<cr><lf>
0x02h = Get board Input pin 0 - 7 settings
Returns: “XXXXXXXX”<cr><lf> (“0” = off, “1” = on)
0x03h = Get video input status
Returns: “X”<cr><lf> (“0” = no sync, “1” = sync) |
Example: Clearing The Screen
Send 0xE3h - Clear the entire screen with spaces
Example: Sending Text
Send 0xE5h, 0x00h, 0x00h - Set cursor position 0, 0
Send “Hello world!” - Send ASCII text
Example: Sending Blinking Text
Send 0xE5h, 0x00h, 0x00h - Set cursor position 0, 0
Send 0xE6h, 0x01h - Set character blink attribute (ON)
Send “Blinking text!” - Send ASCII text
Send 0xE6h, 0x00h - Set character blink attribute (OFF)
Example: Drawing Graphic Sprite #2 At Cursor Position 6, 4
Send 0xE5h, 0x06h, 0x04h - Set cursor position 6, 4
Send 0xEAh, 0x02h - Draw sprite #2 (defined in font editor normally)
Example: Enable On-Screen Date / Time
Send 0xF0h, 0x00h, 0x09h - Set the cursor position to display the on-screen time (0, 9)
Send 0xF1h, 0x00h, 0x0Ah - Set the cursor position to display the on-screen date (0, 10)
Send 0xF2h, 0x01h - Show the on-screen time
Send 0xF3h, 0x01h - Show the on-screen date
Default Font:
Below is the VideoStamp+™ default font. Use the supplied font editor software to create your own or modify the default font. The left column is the high nibble in hexadecimal. The top row is the low nibble in hexadecimal. For example the hourglass character is 0xFCh (252 decimal).

Trouble Shooting Tips:
Problem |
Solution |
Green LED off (unit won’t power up) |
- Verify power supply output is 7.0 to 14.0 volts DC when attached
- Verify the 250ma internal fuse is good
|
Garbage characters on screen or text not displayed |
- Verify using correct RS-232 com port on PC
- Verify communication baud rate 9,600 or 19,200
- Enable DIP 3 to generate the font test screen
- Use the supplied PC demonstration utility to verify the unit is working properly
|
Current date / time overlay information not retained with power loss |
- Replace the internal clock battery
|
Warranty & Service:
If the product fails to perform as described in our product description or specification, within 1 year from the date of shipment to the buyer, we will repair or replace the product and/or accessories originally supplied. Failure due to improper installation, misuse, abuse or accident is not covered by this warranty. Incidental and consequential damages are not covered by this warranty. The buyer must first obtain a Return Material Authorization number by calling (248) 588-4400, or send email to support@icircuits.com. Ship the defective product (with RMA number) to Intuitive Circuits, 3928 Wardlow Ct., Troy, MI 48083, freight prepaid.
|