DisplayPort With An FPGA

One of the challenges with display technology is the huge increase in bandwidth that has occurred since LCD panels took over from Cathode Ray Tubes. Low end laptops have a million pixels, UHD (“4K”) displays
have 8 million and the latest Full Ultra HD (“8k”) displays have over 33 million pixels. Updating all those pixels takes a lot of bandwidth – to update a 4k display at 60 Hz refresh rates takes close to a gigabyte per second. 8 billion bits – that is a lot of bits! That’s why VGA ports and even DVI ports are starting to vanish in favor of standards like HDMI and DisplayPort.

The current release of HDMI is 2.0, and is tightly licensed with NDAs and licensing fees. VESA, who created the DisplayPort standard, states the standard is royalty-free to implement, but since January 2010, all new DisplayPort related standards issued by VESA are no longer available to non-members.

So after receiving a new Digilent Nexys Video FPGA development board, Hackaday regular [Hamster] purchased a UHD monitor, scoured the internet for an old DisplayPort 1.1 standard, and started hacking.

A couple of months and 10,000 lines of VHDL code later what may be the first working Open Source DisplayPort
implementation is available. The design includes a 16-bit scrambler, an 8b/10b encoder, and multichannel support.

Continue reading “DisplayPort With An FPGA”

Retro Games On ArduinoCade Just Shouldn’t Be Possible

Making retro video games on today’s micro controllers brings many challenges, especially when using only the micro controller itself to handle the entire experience. Complex graphics, sound, game logic and input is taxing enough on the small chips, toss in NTSC color graphics and you have a whole different bear on your hands.

[rossum] set out making the Arduinocade retro game system using an overclocked Arduino Uno, and not much more. Supporting 4 voice sound and IR game controllers, the system also boasts 27 simultaneous colors all in software. These colors and the resolution feel like they’re impossible without a graphics chip to offload some of the work. While doing all of this the ATmega328p is also playing some faithful reproductions of classic arcade games.

The uses a couple of interesting tricks. Color is generated with NTSC color artifacts, where the screen is really black and white, but thanks to a delay or two in the signal generation the bits are out of phase from the reference “color burst” signal and appear on-screen as unique colors. This approach was used in the 8 bit Apple II personal computers to generate its colors, and also on the early IBM PC’s with CGA cards to drastically increase color depth. In this case, the chip is overclocked with a 28.6363 MHz crystal (a multiple of NTSC timing) and the SPI hardware leveraged to shift out all the necessary pixels. Check out how great it looks and sounds after the break.

It’s good to see an old trick on a new project and we are off to play some games!

Continue reading “Retro Games On ArduinoCade Just Shouldn’t Be Possible”

Thermal Vision HUD

Thermal Vision HUD Isn’t Only For Fighter-Jets!

In case you weren’t aware, thermal vision units have seen huge price reductions lately. There’s a few on the market for under $300! While that might still seem expensive, remember, it’s thermal-freaking-vision. [Tim] bought a Seek Thermal as soon as it was available, and just recently finished his first project with it — giving his car a thermal HUD for driving at night.

The Seek Thermal is a small thermal imaging unit that has a micro USB attachment for phones. Simply plug it in, and your phone becomes the preview window. But for mounting on your car, you can’t have it behind a window, because most glass is not transparent to heat wavelengths, so [Tim] had to get creative.

He designed and 3D printed a magnetic mount for it to sit on the hood of his car. But in the case any debris from the road hit it, he wanted to protect the lens. So he started looking up thermally transparent materials — turns out they’re really expensive.

Continue reading “Thermal Vision HUD Isn’t Only For Fighter-Jets!”

Video FPGA With No External A/D

You have an old PC with a nonstandard RGB video out and you need to bring it to a modern PAL TV set. That’s the problem [svofski] had, so he decided to use an Altera-based DE1 board to do the conversion. Normally, you’d expect reading an RGB video signal would take an analog to digital converter, which is not typically present on an FPGA. Instead of adding an external device, [svofski] used a trick to hijack the FPGA’s LVDS receivers and use them as comparators.

Continue reading “Video FPGA With No External A/D”

Arduino Video Over 2 Wires For Under $50: Mesa-Video

If you want video support on your project, you might start from a device like a Raspberry Pi that comes with it built in. [Kevinhub88] doesn’t accept such compromises, so he and his Black Mesa Labs have come up with a whole new way to add video support to devices like the Arduino and other cheap controllers. This project is called Mesa-Video, and it can add digital video at a resolution of up to 800 by 600 pixels to any device that has a single serial output.

The video is created by an FT813, a low cost GPU from FTDI that offers a surprising amount of video oomph from a cheap, low power chip (he has demoed it running from a lemon battery), meaning that he is hoping to be able to sell the Mesa-Video for under $50.

UPDATE: [KevinHub88] let us know that he didn’t actually power the device from a lemon battery, as you would need a lot of lemons to make 50mA at 5V. Apologies for any confusion!

However, Mesa-Video is just the beginning. [Kevinhub88] wanted to get around the problem of stacking shields on Arduinos: add more  than one and you get problems. He wanted to create an interface that would be simpler, faster and more open, so he created the Mesa-Bus. This effectively wraps SPI and I2C traffic together over a simple, fast serial connection that doesn’t require much decoding. This means that you can send power and bi-directional data over a handful of wires, and still connect multiple devices at once, swapping them out as required. You could, for instance, do your development work on a PC talking to the prototype devices over Mesa-Bus, them swap the PC out for an Arduino when you have got the first version working in your dev environment. Is the Arduino not cutting it? Because Mesa-Bus is cross-platform and open source, it is easy to swap the Arduino for a Raspberry Pi without having to change your other devices. And, because all the data is going over a simple serial connection in plain text, it is easy to debug.

It’s an ambitious project, and [Kevinhub88] has a way to go: he is currently working on getting his first prototype Mesa-Bus devices up and running, and finalizing the design of the Mesa-Video. But it is an impressive start and we’ll be keeping a close eye on this work. Hopefully he can avoid that head crab problem as well because those things are as itchy as hell.

Transfer Data Via YouTube

The original steganography technique dates back to 440 BC (according to Wikipedia) when a Greek wrote secret messages on a piece of wood, covered it in wax, and then wrote innocent text on the wax. The term, in general, means hiding a message in something that looks harmless. The LVDO project (and a recent Windows fork) says it is steganography, but we aren’t quite sure it meets the definition. What it does is converts data into a video that you can transfer like any other video. A receiver that knows what LVDO parameters you used to create the video can extract the data (although, apparently, the reproduction is not always completely error-free).

The reason we aren’t sure if this really counts as steganography is that–judging from the example YouTube video (which is not encoded)–the output video looks like snow. It uses a discrete cosine transform to produce patterns. If you are the secret police, you might not know what the message says, but you certainly know it must be something. We’d be more interested in something that encodes data in funny cat videos, for example.

Continue reading “Transfer Data Via YouTube”

Cheap Projector Tells Time, Invades Space

Building a video projector isn’t something that most people do casually, but [Dominic Buchstaller] isn’t most people. As part of an ongoing street art  project, he built a rather neat scrap video projector/bedside lamp/clock device he calls Great Balls of Fire. It is made from a Nokia cell phone screen and a small projector mechanism, mounted inside a frosted glass light sphere.

One of the most interesting parts of the build is the projector mechanism. Rather than build one from scratch or tear apart an expensive Pico projector, [Dominic] found another source: a cheap car logo projector from eBay. These are designed to show a car manufacturer logo on the ground when you open your car door. It came with all of the parts he needed, including an LED light source and optics. He tore that apart and replaced the car logo with the phone screen, creating a very cheap projector. It isn’t that bright, but it is bright enough that when he mounted it inside the glass sphere, it could project the time and the odd space invader. It’s a great example of how sometimes it makes sense to look for a cheap solution rather than a free one: buying the car logo projector saved him a lot of hassle in building the optics. [Dominic] was also responsible for this awesome old-school tube radio hack, where he replaced the guts of an old radio with an internet radio player.

Continue reading “Cheap Projector Tells Time, Invades Space”