VGA Monitor adaptor using AVR microcontroller

Nov 13, 2012 by

Background of the project.


Several months ago I tried to connect a microcontroller system to a VGA monitor to output data in the form of text. I was surprised to find little on this subject on the internet, to assist me in achieving this goal. Certainly nothing simple a beginner could find useful.


There are examples out there that utilise standards such as PC-104 or complex FGPA implementations found at Other solutions include graphic controllers from Fujitsu or even one local Russian person who was offering for sale a project for $5000 on ACEX. These are fine but are little help to most hobbyists etc out there who wish to display text on a VGA or similar screen.

 VGA VGA Monitor adaptor using AVR microcontroller


Monitor VGA Monitor adaptor using AVR microcontroller


TV VGA Monitor adaptor using AVR microcontroller

What I desired was a “quick and dirty” solution that did not cost too much.


Initial calculations showed that the the AVR 8-bit microcontroller from ATMEL, with its 16Mhz clock speed providing approximately 16 MIPS was a good candidate for further research. Also note that newer AVRs such as the Mega48, Mega88 and Mega168 will officially support clock rates upto 20 Mhz.  Therefore I concluded that with a clock of 16 Mhz I could achieve something in the order of 8 Mhz speed of data being transferred out of a port.  I also chose the AVR as I had already built up quite a body of experience with it and so I began work of the project.

After approximately two to three months of research, I present you the fruits of my labour!




The goal of the project:


The problem which I have set myself is simple enough to enumerate.  With commonly available microcontrollers like the Mega8, Mega16 and similar, and with a minimum of external components I wanted a design that would be capable of displaying at least 15×15 characters on a VGA monitor using standard VGA frequencies.  The data itself is to be received by the microcontroller via its USART port.  All using a 16 Mhz clock for the AVR.


The given problem at present is solved successfully.

Moreover – the project is a little bit expanded and added by introduction of formation usual

Video monochrome (PAL/SECAM) a signal. I.e. depending on position of a jumper type of formed video of signal VGA or Composite Video.


The initial goal has been achieved.  The project has expanded to include Monochomatic Video singal (PAL/SECAM). In my test set up a mere jumper determines whether the output is VGA or Composite Video.


For more detail: VGA Monitor adaptor using AVR microcontroller

This free embedded project also found using:

  • atmega vga
  • schematic vga to monitor

Leave a Comment

You must be logged in to post a comment.

Recent Posts

Thermistor Respiratory Monitor Using Atmega1284

Thermistor Respiratory Monitor Using Atmega1284

Our final project for ECE 4760 is a respiratory monitor that was designed for low-resource environme[...]
Glove Mouse Using Atmega1284

Glove Mouse Using Atmega1284

For our ECE 4760 final project, we designed and built a wireless computer pointing device with accel[...]
Hand-Motion Chess Using Atmega1284

Hand-Motion Chess Using Atmega1284

An Introduction "A glove embedded with accelerometers to play a hand motion-controlled chess ga[...]
Color to Sound Player Using Atmega1284

Color to Sound Player Using Atmega1284

Introduction We created a device that determines the RGB content of a surface and then speaks the c[...]
Multi-functional Music Box Using Atmega1284

Multi-functional Music Box Using Atmega1284

Our final project is to build a multifunctional music box. This music box can generate different son[...]

Read more:
Virtual Keyboard Using Atmega32