VGA output with PIC Microcontroller

0.00 avg. rating (0% score) - 0 votes

I tried to use the instructions from here to make a PIC16F84A display some test patterns on my monitor. The circuit diagram is simple:

You should try with an old CRT monitor first, which is less sensitive to noises and will not be expensive to replace should you damage it due to connection errors. I tried to build this circuit on a breadboard and found out that it works every time with a CRT monitor but randomly will not work with my LCD monitor – the LCD simply stays in standby mode. Another important thing not mentioned in the article is that the monitor ID (pin #11) has to be grounded to indicate a low-resolution output (VGA 640X480) and the digital ground pin (pin #5) also needs to be grounded. The VGA pinout is detailed below for your reference:

I build the circuit on a veroboard and a breadboard:

Here is the result:


You can display different colors by connecting pin 1 (Red), pin 2 (Green), pin 3 (Blue) or any combinations of these to the 10k resistor.

Here is the horizontal sync and vertical sync signals on my oscilloscope:

Pin 7 output signal vs. horizontal sync:

Pin 7 output after the 10k resistor. The resistor is for brightness adjustment and can be omitted:


0.00 avg. rating (0% score) - 0 votes


A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>