VGA4EVA Sketches

4/18/22 — Color Bars sketch fixed

12/15/21 — It’s been a while since I’ve made any updates, as I have my hands full with a new baby, but I’m going to try to check in periodically to leave some fun new things here. I have a fair amount of work that’s already been completed for this page that just needs some final testing and editing.

Note: Any/all of this code should be considered hacky. You may need to adjust your monitor in order to view it correctly. If your monitor has an “auto-adjust” feature, sometimes that’ll do it. Otherwise, depending on your monitor or converter, the horizontal and/or vertical position may need to be adjusted.


Solid Backgrounds

A basic, but very useful VGA4EVA sketch, and recommended starting point. The ATMega328 outputs a constant voltage on the RGB pins, allowing for a solid background color of back, white, red, green, blue, or any combination of those colors. Changing the background color can also do some limited, caveman-style colorizing of the oscillator patterns.

Color Bars

Some hacky color bars, demonstrating how the code can be hacked. I haven’t looked at any Arduino code in about a year, so it all appears like gibberish to me at the moment, but I’ll go through it one day if I manage to get a full night’s sleep and explain what I did to make this. I think I may have implemented some sort of interlacing hack to make this work. If you notice blown out edges between the bars, you can tune them out by reducing the brightness a bit with the attenuators. The blown out edges are likely the result of VGA4EVA feeding too much voltage into your monitor, and the monitor clipping it with protection diodes. You can also use the filters to get a soft transition between the bars.


Some intersecting waveforms. I’m not a math person, so I don’t have the language to explain what I did here other than the fact that I played around with this equation:

until I found something I liked. Experimenting with the code in a place like this is much, much easier with an ISP programmer because you can tweak something and then upload it in a few seconds without having to remove the chip over and over again.

On this patch, red makes some diamonds, green makes triangles, and blue makes something that looks exponentialish. These shapes make nice sync sources for oscillators. The oscillators will approximate some of the edges.

V Bars

Here’s another color bars sketch, but this time the bars are stacked vertically rather than the traditional horizontal configuration. I just tested this one, and it looks pretty off, but I’m uploading it anyway. It’s possible that when I made this I hadn’t yet dialed in sync as well as I did in some of the other patches. Don’t have time to mess with it at the moment. It’s also altogether possible that it can be adjusted with your monitor settings and work just fine.

Abstract Waves

Again, didn’t look too closely at this to remember how I came upon it, but it was more just playing with the bitmap equation. The waves are higher frequency and a little more chaotic in this one, so they end up looking more abstract. I particularly like using things like this as sync sources. This is possibly the sketch I used in the VGA4EVA demo video.


Just found one more — no memory of making this one, but I was going through an old folder clicking everything and this is the only one that uploaded and displayed a signal. No idea if the sync is configured correctly. It’s a pleasant series of symmetrical H bars that look really nice with some filtering.