Fortifying Veronica’s VGA output

[Quinn Dunki] just moved to a new work space and had to pack up her homebrew computer project — called Veronica — in the process. She just unboxed it again and decided now was a good time to fortify the VGA display hardware. It wasn’t in the greatest of shape, since everything for the initial video tests had been built on a breadboard. The transition to protoboard ended up turning out just swell.

One of the thing’s that we like best about [Quinn's] hacks is that she documents her failures (or perhaps we should just call them hiccups?) just as much as she does her successes. This is not a small thing. We understand, because our own screw-ups don’t usually get photographed due to our raging need to just make the frakking thing work.

Once she had moved all the components to the new board the circuit was amazingly organized. Since she’s doing high-speed switching with the VGA signals it was important to keep the lines as short and straight as possible, hence the SRAM stack seen above. But when it was first fired up she had a jumble of only-somewhat-organized color stripes. It turns out that she had forgotten to change the color register in the AVR code, the color lines were hooked up in the wrong order, and the switch mode supply was injecting noise into the system. But thanks to her documentation of these issues we’ll know what to do when we find ourselves in a similar situation.

Moving an FPGA Project from VGA to DVI-D

It’s fairly easy to create VGA with an FPGA using a simple R/2R DAC. As [Mike] points out, this requires a lot of IO pins, and many development boards only support 8 bit VGA. Analog VGA is being replaced with DVI-D and HDMI on many devices nowadays, so it would be nice to port projects from VGA to DVI-D.

To address this, he’s come up with a simple DVI-D implementation in VHDL. The result converts RGB and sync data for VGA into DIV-D. Since DVI-D and HDMI both use the same signals for video, this can be connected to either input on a monitor or TV.

This implementation is shown displaying a test pattern on the Pipistrello development board, which features a Spartan 6 LX45 FPGA, but the project was written to be portable to other vendor’s FPGAs. With the right connector and a fast enough clock speed, this project should help move a project from 8 bit VGA to glorious 32 bit color.

OLinuXino booting Android

We can’t say the name rolls off the tongue, but it is beginning to look like the OlinuXino is going to happen. Here you can see the prototype hardware booting Android. If this is the first time you’re seeing the hardware you can think of it in the same category as the Raspberry Pi. It’s a butt-kicking ARM platform that comes as a bare-board with which you can do what you please.

Olimex Ltd. put together the offering, which seems to be part of the name mash-up (Olimex + Linux + Arduino?). The board hosts an ARM Cortex-A8 processor which runs at 1 GHz. There’s a half a gigabyte of ram, four USB and one USB-OTG ports, and a big array of breakout pins. One eyebrow-raising choice was not to include an HDMI connector. Instead the board offers VGA and Audio outputs. There is a pin header meant for an LCD screen, as seen in the image above, so it could be that the intention here is for smaller or more portable applications. But like we said, the form factor really lets you do what you want.

Possibly the best part is the price. The target for the top-of-the-line board is 55 Euros (about $68) and that comes with WiFi and 4 GB of NAND storage on the board. There’s a bunch of posts on the project, including a look at the PCB routing work. This link to the A13 tag will give you the widest overview of the work so far.

[Thanks Acce]

VGA message board displays SMS without a computer

[Achu Wilson's] latest creation is a VGA message board which is written to via SMS text messages. This doesn’t sound too interesting at first, until you find out he’s doing this with a microcontroller rather than a PC. All of the complexity is in the code that drives the VGA. He managed to do it without any jitter while using an 8-bit microcontroller.

But first, the cellular side of things. A GSM modem takes care of connectivity. To communicate with the modem [Achu] used an ATmega8. He mentions the he could have used a much smaller uC, like an ATtiny, but this is what he had lying around. When a message is received the ATmega8 feeds the characters to an ATmega16 which is driving the VGA monitor. Rather than deal with the analog voltages necessary to run a color display he simply ganged the three color lines together and drives them from one of the microcontroller pins. This results in white and black which correspond to voltage or no voltage.

You can see him showing off the system in the clip after the break.

[Read more...]

Offloading VGA generation onto a coprocessor

[Alessandro] sent us a link to his post about a PRU software VGA rasterizer. It’s not the easiest read, but we think it’s worth your time.

The gist of his background information is that back when his company was developing for an ARM9 processor he wanted to test his mettle with the coprocessor chips. The first iteration was to write a character LCD driver that pulled data from the main processor’s memory and displayed it on the screen. This makes for a low-overhead debugger display, it’s also very limited (32 characters over two lines doesn’t tell you much). And thus began his work on a VGA generator for the Programmable Realtime Unit (PRU is what TI calls this coprocessor) that grabs data in memory just like the original version. But with a much larger display area this becomes quite useful for debugging. That resistor mess is the R2R ladder he soldered together to perform the Digital to Analog Conversions. There’s a quick demo clip after the jump.

This work could end up being useful to you. [Alessandro] reports that the BeagleBone has similar hardware. A bit of porting could get his generator working on that board as well.

[Read more...]

Tricking the BeagleBone into outputting video

[FlorianH] wanted to get video out working with his BeagleBone but he just couldn’t figure out how to make the kernel play ball. Then a bit of inspiration struck. He knew that if you plug in the official DVI cape (that’s the BeagleBone word for what you may know as a shield) the kernel automatically starts pumping out the signals he needs. So he figured out a way to spoof the cape and output video.

At boot time the kernel polls the I2C bus to see what’s connected. The DVI cape has an EEPROM which identifies it. Since the data from the EEPROM is available for download [FlorianH] grabbed the data he needed, then used an ATmega32 to stand in for the memory chip. When he got the chip talking to the BeagleBone he was able to detect the video sync signals on his scope and he knew he was in business.

Look closely at the breadboard on the right. We love that SIL breakout board for the ATmega32. Very prototype friendly!

Bitbanging Super Smash Bros.

[Kyle] and an a few of his classmates are wrapping up a microcontroller interfacing class at Purdue and thought it best to send in the results of their efforts. It’s a version of Super Smash Bros. made by just bitbanging pins on a microcontroller.

The hardware for the project is based around a Freescale 9S12c32, an updated version of the 30-year-old M68HC11 microcontroller. For the controls, the guys used a Playstation 2 joystick and buttons housed in an Altoids box, and the actual console is made out of strips of wood stapled together to look like a crate from Super Smash Bros.

There are nine playable characters:  Pikachu, Captain Falcon, Yoshi, Donkey Kong, Mario, Luigi, Link, Kirby, and Fox. Despite these characters being only four pixels high, the game looks extremely playable (at least when two players don’t choose the same character). After the break is the video demo of Super Smash Bros: Bitbang edition, along with a gallery of pics showing the console and gameplay. All the code is up on GitHub for your perusal.

[Read more...]

Follow

Get every new post delivered to your Inbox.

Join 94,628 other followers