The goal of this project is to create a device that is capable of outputing VGA signals to a CRT monitor inorder to display figures, text and characters.
Timing is a core essential in this project. If the signal is off by even 1 microsecond, the signal synchronization with the CRT display will be lost and forced to resync.
This will be done using a Microchip PIC microcontroller at 4 MHz clock speed. The programming required to achieve the VGA timing signals must be done in low level assembly because of the high level of precision that is necessary. The hardware assembly is just basic buttons, switches & wire that you can purchase from local electronics stores.
PIC 18F452 Microcontroller
Female DB-15 VGA Connector
4 MHz Oscillator
SPST Buttons
SPDT Switch
15β³ Monitor
1Β΅F Capacitor
30 pin SIP
SPTT Switch
Knob for the switch
540 point Breadboard
4x 10KΞ© Resistors
Solder
Wire 22 AWG
Wire 30 AWG (aka Wirewrap; multiple colors is better)
8 small nails
5 minute E-poxy
Fancy Door Hinge
Plastic Sheet
Soldering Iron
Laptop Computer
MPLAB IDE (installed on Laptop)
PIC Programmer
Power Drill
Hammer
Jigsaw
Sand Paper
Parts List Details
You may or may not be familiar with the parts above so a picture of each item has been included to clear up any possible questions. The only truely necessary parts for this project are the electrical parts, a wire wrap tool, computer & MPLAB IDE installed. Making the wooden enclosure is not necessary however it often looks nice to have the electronics hidden and just the electric input/output components (buttons, vga port, switches, etc..) exposed.
Schematic Overview
Luckily the schematic for this project is plain & simple. There are actually very few electronic components necessary for this project as the PIC Microcontroller is the powerhouse doing most the work. The few components necessary like, buttons, switches & power circuit are trivial forms of I/O which makes understanding how the project works even easier.
Schematic Specifics
Power Circuit
The power circuit is just a 9v Battery hooked up to the LM7805 with a 1uF capacitor hooked to output & ground of the LM7805 to keep a steady 5v DC.
Buttons & Pull-up Resistors
The SPST buttons are tied to ground so when the button is pushed the I/O pin it is attached to is effectively tied to ground. To avoid having a short circuit when the button is pushed, 4.7KΞ© or 10KΞ© pull-up resistors are used.
SPTT Switch
The SPTT Switch is a non-standard 3 way switch. It can be substituted with any other type of button(s) or switch(es) that will allow 1 input to go to one of 3 outputs. It is optional but you can just tie the wire directly from the PIC to one of the the CRT R/G/B inputs. Itβs just a matter of which color will display, Red, Green or Blue.
MCLR*/Vpp β Pin 1 on the PIC
This is tied high (logic 1; +5v) once again using a pull-up resistor. Pin 1 is effectively a reset pin. The PIC will restart-Memory Clear-when this pin is low (logic 0, +0v). For this project I did not include a reset button so I just have the pin tied high always, so the PIC will always be running as long as it is powered.
For more Detail: The VGA Test Box using pic18f452 Microcontroller