Serial VGA Monitor Driver board
The serialVGA board drives a VGA Monitor at 800 x 600 pixel resolution to allow you to display 100 characters by 50 rows of text. All control commands and text to be displayed are sent via a standard serial TTL connection at a selectable baud rate.
Additionally, create up to 9 individual "windows" in which you can display information independently. Each window wraps and scrolls automatically, has optional titles and borders and allows the placing of text at a fixed position within each window.
Through one simple serial TTL connection you can create a complex multi-window display to show a large amount of information.
- Drives a VGA Monitor at 800x600 pixels @ 75Hz
- 64 foreground / background colours
- Displays 100 characters x 50 lines
- Controlled via simple Serial TTL commands
- Baud rates 2400, 4800, 9600, 19200, 38400, 57600, 115200
- Use one full size window or create up to 9 mini windows each with optional borders and title
- Automatic text wrapping and scrolling within each window
- Set position of text within a window
- Can be used as a Parallax Propeller development board
The board uses a Propeller chip for creation of the VGA signals. The software onboard can be easily upgraded using a serial PC connection (FTDI Basic board recommended) and can even be used for your own propeller programs.
There are two LEDs on the board.
- A blue LED indicates power to the board.
- An orange LED flashes briefly when data is received.
You can use the full screen of the VGA display without creating any windows or sending any commands. Just send data at the appropriate baud rate and it will display on screen. Text will wrap at 100 characters and the screen display will scroll when text gets to the bottom of the screen.
But Windows are very useful. You can create up to 9 seperate (no-overlapping) windows each with their own (optional) borders and title. The text displayed in a window wraps and scrolls automatically. Windows can be cleared and text positioned within a window.
There are a number of ways to use windows:
- Display raw data scrolling in one window (e.g. GPS data)
- Display calculated data in another window at fixed positions
- Display entered commands in a command window
- Display header and footer information
The image below shows a screen grab from our example Arduino sketch. It has a header and footer window. A window for displaying raw data and a window which displays calculated data. It also has a terminal input window where commands can be entered. Different colours are used for various sections.
Screen coordinates are expressed in an x, y format starting at 0,0 and going to 99,49.
0,0 is the top left of the screen or window
Commands are sent to the VGA board using a simple pair of command codes followed by the command and its parameters in a comma delimited format.
The command codes that prefix all commands are ^[
The following commands are available:
|w||Create a window|
|f||Change which window has focus|
|e||Clear text in current window|
|p||Set text position in current window|
|c||Set text cursor on/off for a window|
|b||Set Baud rate|
|l||Set foreground / background line colours|
Commands should be sent to the serialVGA board with a carriage return at the end (\n)
Full details of the commands and their parameters are available in the product datasheet (see bottom of page).
Terminal Input Windows
The serialVGA board requires only the RX receive serial connection (TX from microcontroller). This leaves the RX on the microcontroller free to use. If a keyboard were attached to the RX input (see USB Host board), the microcontroller could use this for command entry and send the received keystrokes back out through the TX pin to the serialVGA board. You effectively have a terminal.
It is useful when using a terminal window to turn on the cursor. If a backspace character (08) received from the keyboard is sent to the serialVGA board, the board will erase the previous character and move the cursor position back one.
The standard Ascii Character set of values is catered for along with some additional characters used for drawing boxes and lines. These additional characters are detailed below
The complete source code for our VGA board is available to download below. To use this you will need a copy of the Propeller Development GUI, available for free from www.parallax.com
As new versions of our software become available you can easily upgrade the board using a serial connection. The download also includes a utility program and instructions for how to update the board
Example Arduino Sketch and Video
The Arduino sketch is available to download below, but here is a small video showing the output generated in the VGA monitor.
Serial VGA Monitor Driver board
- Manufacturer: HobbyTronics
- Product Code: serialVGA
- Availability: 5
- Ex Tax: £20.00
Tags: serial, vga, monitor, 100x50, 800x600, 800, 600, pixels, svga, resolution, character, display, windows, serialVGA, driver, board, propeller, development, parallax, Serial VGA Monitor Driver board, embedded, chip, HobbyTronics