Thursday, February 21, 2013

Pie on the Face

So the head mounted display turned out to be a success!  I now have a mobile Linux box with the following supplies.

  • Spy Gear Video Car headset - As mentioned previously it runs on component video signals sent via a stereo audio cable.  After buying a stereo jack and component connector from Radioshack, I hacked together an adapter to put power and component on the stereo cable.
  • Raspberry Pi - For those not familiar with it, it's a $35 Linux box with low power draw and a decent CPU.  It has the option for a component video out with was critical for making this project work.
  • Backup USB Battery - I bought one of these for $40 a while back to give extra juice to my tablet and phone, but it's turned out to be useful for other USB powered devices, such as the Raspberry Pi.  By connecting it to the 1A output port, it can power the Raspberry Pi.  Since the Raspberry Pi has a maximum current draw of 750mAh, it can run for roughly 16 hours.  The Raspi also has a GPIO header with 5V and ground pins so I can use that as power input for the video headset.  With some testing I verified that the display can work down to roughly a 3V input.
So after putting everything together, there were still a few kinks to work out.  The display itself is only 320x240 which is half VGA resolution.  It's also rather small and a little blurry, making it very difficult to see text since the display scales down the 640x480 resolution the Pi puts out.  The display is also rigged to work with PAL video signals and the Raspberry Pi puts out NTSC by default so that also had to be changed.  The way to fix both of these is to edit the config.txt file in the /boot/ directory.  By adding the line
sdtv_mode=2
The default video format was set to PAL.  The resolution required a little more tweaking.  It seems that you can't change the actual resolution of the Pi, but you can change the pixel width.  This is controlled by the framebuffer_width and framebuffer_height settings.  By setting it 320x240, I was able to change the display show properly, but this proved to be too difficult to see.  By halving it again to 160x120, the text is pretty much clear, albeit very large.

All in all this project has a lot of potential so I'll update the blog as I accomplish more things.