Hacker News new | ask | show | jobs
by nneonneo 1841 days ago
This is a great visualization. I remember playing with generating VGA through bit-banging an Arduino - it was my course project for a class in the first year of my PhD. I sadly never wrote up a detailed explanation of it, but a picture of the setup survives as my Twitter header: https://pbs.twimg.com/profile_banners/20347234/1463010760/15...

The pixel clock (640x480 at 60fps) is supposed to be ~25 MHz, while the little Arduino Nano only runs at 16 MHz, so the implementation cheats a bit and gets the timings somewhat wrong (plus, it smears the pixels a bit, but I hid this by having relatively blocky graphics). Some TVs I tested with didn't like this signal much, but luckily the projector that I did the final demo on didn't mind the spec violation. For the actual demo I had a simplistic version of Tetris running (with sound!); all the computation happened during hblank and vblank because the main picture time was just a handwritten assembly loop shoving pixels out.