Posts with «vga» label

VGA Monitor Becomes Drawing Toy

We hate to break it to [Rob Cai], but he’s built a VGA drawing toy, not an Etch-a-Sketch. How do we know? Simple, Etch-a-Sketch is a registered trademark. Regardless, his project shows how an Arduino can drive a VGA monitor using the VGAx library. Sure, you can only do four colors with a 120×60 resolution, but on the other hand, it requires almost no hardware other than the Arduino (you do need four resistors).

The hardware includes two pots and with the right firmware, it can also play pong, if you don’t want to give bent your artistic side. You can see videos of both the art toy and the pong game, below.

Because the device started as a pong game, [Rob’s] version has two boxes, each with a pot and a button. Of course, if you were really building it just for the drawing toy, you’d probably put it all in a box. Maybe even a red box. If we were building it, we’d be tempted to put a tilt sensor or an accelerometer in the box so you could shake it to erase the picture. Just saying.

If you want 640×480 resolution from an Arduino, it can be done, but it takes more hardware. If you were trying to get a kid interested in Arduino, you could do worse than start with two projects with video that are fun, use a handful of easy-to-source parts, and shares hardware. Then again, if you are in the “go big or go home” camp, we’d redirect to this pong game, instead.


Filed under: Arduino Hacks
Hack a Day 09 Dec 00:00

ATtiny Does 170×240 VGA With 8 Colors

The Arduino is a popular microcontroller platform for getting stuff done quickly: it’s widely available, there’s a wealth of online resources, and it’s a ready-to-use prototyping platform. On the opposite end of the spectrum, if you want to enjoy programming every bit of the microcontroller’s flash ROM, you can start with an arbitrarily tight resource constraint and see how far you can push it. [lucas]’s demo that can output VGA and stereo audio on an eight-pin DIP microcontroller is a little bit more amazing than just blinking an LED.

[lucas] is using an ATtiny85, the larger of the ATtiny series of microcontrollers. After connecting the required clock signal to the microcontroller to get the 25.175 Mhz signal required by VGA, he was left with only four pins to handle the four-colors and stereo audio. This is accomplished essentially by sending audio out at a time when the VGA monitor wouldn’t be expecting a signal (and [lucas] does a great job explaining this process on his project page). He programmed the video core in assembly which helps to optimize the program, and only used passive components aside from the clock and the microcontroller.

Be sure to check out the video after the break to see how a processor with only 512 bytes of RAM can output an image that would require over 40 KB. It’s a true testament to how far you can push these processors if you’re determined. We’ve also seen these chips do over-the-air NTSC, bluetooth, and even Ethernet.


Filed under: ATtiny Hacks

Spit Out VGA with Non-Programmable Logic Chips

It’s not uncommon to bitbang a protocol with a microcontroller in a pinch. I2C is frequently crunched from scratch, same with simple serial protocols, occasionally complex systems like Ethernet, and a whole host of other communication standards. But VGA gets pretty tricky because of the timing requirements, so it’s less common to bitbang. [Sven] completely threw caution to the wind. He didn’t just bitbang VGA on an Arduino, but he went one step further and configured an array of 7400 logic chips to output a VGA signal.

[Sven]’s project is in two parts. In part one, he discusses choosing a resolution and setting up the timing signal. He proceeds to output a simple(-ish) VGA signal that can be displayed on a monitor using a single gate. At that point only a red image was displayed, but getting signal lock from the monitor is a great proof of concept and [Sven] moved on to more intricate display tricks.

With the next iteration of the project [Sven] talks about adding in more circuitry to handle things like frame counting, geometry, and color. The graphics that are displayed were planned out in a simulator first, then used to design the 7400 chip configuration for that particular graphic display. It made us chuckle that [Sven] reports his monitor managed to survive this latest project!

We don’t remember seeing non-programmable integrated circuits used for VGA generation before. But bitbanging the signal on an Arduino or from an SD card slot is a great test of your ability to calculate and implement precise timings with an embedded system. Give it a try!


Filed under: video hacks
Hack a Day 16 Oct 00:01

Yet another cool Pong with Arduino Uno

Everyone knows Pong, the first commercially successful arcade video game machine  originally release by Atari in 1972. In those years the game helped to establish the video game industry and nowadays is often used by makers to experiment with creating game consoles with Arduino.

Roberto Melzi recently shared on the Arduino forum a new version of Pong made with Arduino Uno:

Thanks to the VGAx library done by Smaffer, based on the previous work done by Nick Gammon, I have done a little color game for an Arduino Uno working for a VGA monitor. See for details here:

The target was to use an Arduino Uno board without special shields and supporting IC.
the fundamental components are a button, a potentiometer, few resistors and DSUB15 connector.

Tale a look at the video to see it in action:

Follow the step-by-step guide on Instructables to build one yourself.

Arduino Blog 24 Sep 21:11
arduino  featured  forum  library  pong  tutorial  uno  vga  video game  

640×480 VGA On An Arduino

There are dozens, if not hundreds of examples around the Intertubes of an Arduino generating a VGA video output. The Arduino isn’t the fastest chip by far, and so far, all of these VGA generation techniques have peaked out at lower resolutions if you want to control individual pixels.[PK] has an interesting technique to generate 640×480 VGA at 60 frames per second without overclocking. It’s hacky, it’s ugly, but surprisingly, it actually works.

The VGA standard of 640×480 @ 60 fps requires pixels to be clocked out at 25.175 MHz, and the ATMega chips found in Arduinos top out at 20 MHz. [PK] wanted to generate VGA signals without overclocking, He did this by doubling the clock frequency with digital logic. The ATMega generates a clock, an inverter delays that clock so it is 90 degrees out of phase, and the two clocks are XORed, doubling clock output of the micro. It produces a very ugly square wave at 32 MHz – an error of 27% compared to the VGA spec. Somehow it still works.

With a hilariously out of spec clock, the rest of the project was pulled together from [Nick Gammon]‘s VGA library, a 16×16 font set, and a project from [lft]. Video below.


Filed under: Arduino Hacks

Arduino Due VGA Signal Out

Photo credit: [Stimmer] on the Arduino Forum

[Stimmer] on the Arduino Forum hardcoded a way to display 160×240 (320×240 after some posts) VGA signal.

After working out how to do a timer interrupt I’ve had a go at making a VGA framebuffer. It is rather low-res at present(160×240) and fuzzy but I hope to be able to improve that. It has 8-bit colour (RRRGGGBB).
I cannot get Eagle to run right now so will have to describe the schematic in text:
Due pin 2 -> VGA pin 13 (HSync)
Due pin 3 -> VGA pin 14 (VSync)

Due pin 25 -> 820R resistor -> VGA pin 3 (blue)
Due pin 26 -> 390R resistor -> VGA pin 3 (blue)

Due pin 27 -> 2k2 resistor -> VGA pin 2 (green)
Due pin 28 -> 1k resistor -> VGA pin 2 (green)
Due pin 14 -> 470R resistor -> VGA pin 2 (green)

Due pin 15 -> 2k2 resistor -> VGA pin 1 (red)
Due pin 29 -> 1k resistor -> VGA pin 1 (red)
Due pin 11 -> 470R resistor -> VGA pin 1(red)

Due pin GND -> VGA pins 5,6,7,8,10

Via [Arduino Forum]

Arduino kit beams low-fi Google Weather to VGA screens

Looking for another way to use that aging VGA CRT screen hogging space in the closet? Try making your own dedicated weather screen by mixing together Google's meteorological data stream and some Arduino magic. It looks like parsing that Google Weather data was a bit of a challenge on the miniscule 2KB of RAM, but a tinkerer going by the handle Zmashiah has managed to do it. He's even managed to cram in a few extra graphical flourishes, including icons and background themes that change depending on the temperature and time of day. The entirely PC-free device grabs the data through an Ethernet connection and flashes up all the weather goodness in stunning VGA. Any meteorological mavens reading this can grab the full shopping list and procedure at the Instructables link below.

Arduino kit beams low-fi Google Weather to VGA screens originally appeared on Engadget on Tue, 22 Nov 2011 08:31:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments