Let's Make Robots!

Video Goggles

Presented here is a video goggle system assembled from commercial, off-the-shelf (COTS) components.  The system can be made from recycled materials for under $100.

From bottom, clockwise: Kopin CyberDisplay (w/ polymorph shield), 5V/3.3V power board (w/ 2 big capacitors), 3.3V regulator (in white heat-shrink), video/audio connectors (with small capacitors), the A/V wireless receiver module, battery pack (wrapped in black tape), and the 3.5mm headphone jack (follow the green wire).

Introduction

I found out about Kopin Video Goggles the way any hardware hacker hobbyist might stumble across such a system -- a blog I read cross-linked to a Hack-A-Day post on how you can salvage a "SpyGear" R/C car-camera and get a wireless, eye-mounted, black & white camera.  I liked that Kopin was ubiquitous in emerging FPV systems -- it is a modular component that is easy to integrate (all the complexity is hidden) -- and can therefore be easily extracted for use by a hobbyist tinker.  Black and white was boring, so I looked for color, and found Kopin's other displays.  After searching The Google, I found some listings for surplus Kopin BDM-230K color binocular displays from a builder of the Trimersion gaming system.  The BDM-230K at 320x240 pixels was used in prototype units, with the final system using a 640x480 Kopin display, before its $400 price tag and lackluster wireless performace caused Trimersion to go out of business.  I picked up a BDM-230K display, and was easily talked into an Airwave 630/634 wireless system for an extra $20 (also used in Trimersion).

A first-person view (FPV) system is a useful option to add to a radio-control system.  In an outdoor environment, the lowest-cost option for viewing camera video is an NTSC/PAL camera combined with a low-end commercial portable DVD player.  A drawback of this system is that cheap LCD screens are difficult to view outdoors due to sunlight -- even diffuse sunlight on a cloudy day can make an old LCD screen difficult to see.

Theory of Operation

Schematics

There's a few extra small boards I've made, including a power board (takes 3x Lithium AA batteries @ 5.5V and switches it down to 3.3V for the Kopin display, and uses all 5.5V for the transmitter (it's specified to 5V +/- 0.06V but I'm crossing my fingers).  When the battery runs down, the signal turns to crap, so I might want to use a chunkier battery for the receiver and step it down to 5V regulated @150mA for the Receiver and 3.3V @130mA for the Kopin display.  I use a YuWang 3.3V @1A regulator UTC1117 T33 from Tayda Electronics (pin 1 = GND, pin 2 = 3.3V, pin 3 = 5.5V).  The pinout led me to destroy one of these by hooking it up like a typical 78L05 TO-220 regulator (pin2 GND is bad).

For the reciever I plan to upgrade the schematic to use a 3.5mm stereo jack instead of the jumpers.  In the meantime I've patched in a work-around to adapt the 3-pin header to a 3.5mm stereo jack.  While I wait to place my next Sparkfun order, instead of a SMA-RP connector, I am using a wire antenna on the Tx and Rx.

The electrolytic capacitors on the receiver board are soldered with the positive wire connected to the receiver, and the negative wire connected to the A/V output.   The receiver is positive, the A/V wires are negative.  I saw this on a pic at R/C forums and it seems to work.  The orientation of the electrolytic capacitors is not specified on the data sheet.

The transmitter is much simpler than the receiver -- I put some 2.54mm headers on the board so I could either connect a set of RCA connectors for watching DVDs (like a MyVu headset, but cheap), or instead connect a camera with some JST or Molex connectors (I'd rather not use the heavy, bulky RCA connectors for a flying FPV camera).  There's a wire antenna instead of the SMA-RP connector, since I have yet to place a Sparkfun order.

The channel selection on the Tx/Rx is hard-wired in my implementation.  I cut the traces I did not need.  A better implementation would use a lightweight channel selection switch

 

___BOM___
Kopin BDM-230K Binocular Display
JST SH header, 7-pin x1 (A/V input and 3.3V)
JST SH header, 2-pin x2 (Audio L/R output)
Airwave 634 Receiver
Airwave 630 Transmitter
2x SMA-RP connectors or 46mm solid-core wire
2x SMA-RP antennas or 46mm solid-core wire
4x 470uF 16V electrolytic capacitors
2x 33uF 16V electrolytic capacitors (used on the audio lines)
2.54mm pitch male headers
Various wire headers/harness (I use Molex for power and JST harness for video)
Regulated 5V or 3x AA batteries for the Tx
Regulated 5V or 3x AA batteries for the Rx
UTC1117 T33 YuWang 3.3V @1A regulator (pinout {1,2,3} = {GND,3.3V,5V})
3.5mm stereo headphone jack for audio out
Visor mount for the display and receiver.

Sourcing

I got the Kopin BDM-230K and Airwave 630/634 from this guy: http://www.inetgiant.com/AdDetails/Kopin-Cyberdisplay-BDM-20K-Binocular-display-modules/2153821
Or search ebay: http://shop.ebay.com/i.html?_nkw=trimersion&_armrs=1&_from=&_ipg=

Result

The first and second pictures are outdated -- using AAA alkaline batteries in this configuration was a bad choice -- the receiver needs fresh batteries or the audio won't work and the video degrades.  In the latest update, I put a 3.3V regulator on the front, connected a 3.5mm jack, and mounted the 3x AA Lithium batteries underneath the receiver, instead of using AAA alkaline batteries hidden within the visor.  With good batteries, the A/V signal comes in well.

The third and fourth pictures show my debugged version -- it is a good illustration of what is meant by the word "kludge".  Ugly but it works :)

I'm happy with my prototype -- I worked out a lot of bugs and now get good video.  It should now be a straightforward addition to add a FPV camera to my UAV.

Related:

http://letsmakerobots.com/node/15084
http://forums.adafruit.com/viewtopic.php?f=8&t=12513
http://www.rcgroups.com/forums/showpost.php?p=14705137&postcount=871
http://cb.nowan.net/blog/2007/02/09/the-story-behind-the-trimersion-hmd/

 

AttachmentSize
AirwaveRxOnly.sch126.77 KB
AirwaveRxOnly.brd15.45 KB
AirwaveTxOnly.brd13.56 KB
AirwaveTxOnly.sch124.17 KB
john_ny_FPV_goggles.JPG108.45 KB
john_ny_FPV_TxRx.JPG115.18 KB
john_ny_FPV_RX_Board.png5.47 KB
john_ny_FPV_RX_Sch.png8.41 KB
john_ny_FPV_TX_Board.png3.43 KB
john_ny_FPV_TX_Sch.png4.85 KB
john_ny_FPV_Rx_Partlist.txt1004 bytes
john_ny_FPV_Tx_Partlist.txt757 bytes
john_ny_FPV_goggles_goodpic.JPG123.06 KB
john_ny_FPV_goggles_kludge3.JPG84.21 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


The SJ is a solder jumper, and JP is a jumper (0.1" spacing).  The solder jumpers are used to select the channel on the Airwave Tx/Rx modules, and the "JP" jumpers connect to headers for audio/video and power.

I really like the Kopin binocular display though, and I'd recommend wiring your A/V to the Kopin module for non-wireless applications rather than going through the wireless modules.  Of course it depends on your application whether you want wireless or not.

The Airwave 630/634 modules are susceptible to interference, especially over longer ranges in excess of about 3 meters, so they're not so good what I wanted them for (UAV video).

If you just want wired video, the binocular modules can run on 2x AA batteries ... I used 3x AAA lithium batteries for the video goggles because the Airwave modules need 5V, and I used a 3V (or 3.3V) regulator to provide power to the Kopin module.

The Kopin BDM-230K module on its own has wires for connecting  PAL/NTSC directly: http://www.kopin.com/data/File/BDM230K.pdf
It's a connector for input (7-pin JST SH), and there's 2x audio output connectors (2-pin JST SH).   The 2-pin connectors are available at Sparkfun (http://www.sparkfun.com/products/10357), and the 7-pin connectors might need to be crimped custom (http://www.sparkfun.com/products/10219). 

Wow John, awesome stuff! Have you used it for any serious length of time? I`m wondering if it would cause headaches after a while.

Something I have been wanting to try is a sort of HUD. If you fed the video into a beefy micro to do some image processing and then overlay some interface elements onto the video that then goes to the display. It could start with simple things like outlining and labelling colours or searching for shapes, or having peoples names appear over their heads, or putting a small compass in the corner of the screen! oh gawd the ideas... they are coming!

I've watched at least 2 hours of video in wireless mode, and it's pretty good.  I replaced one of the antennas with an 802.11b/g WiFi antenna from a bad router, and the reception is a bit better.  Still, the Airwave AWM modules pick up interference from Wifi, cordless phones, and microwaves.

I imagine that I'd get good results with a head-mounted camera, going to an OSD chip, and a microcontroller (you can hook supplemental sensors to the uC), which sends text to the OSD chip; the OSD chip can route the altered video to the HMD.  Although I wouldn't see augmented video, I could see telemetry display (tricorder, anyone? Geiger counter and gas sensors?).  The IC I found for the HUD is the Max7456 (Maxim).  It's used in the Remzibi OSD sold in the DIY Drones store.

OSD Data Sheet: http://datasheets.maxim-ic.com/en/ds/MAX7456.pdf
Implementation Thread: http://www.rcgroups.com/forums/showthread.php?t=921467
Remzibi OSD Picture/Site: http://www.happykillmore.com/Software/Faq.asp#10
DIYDrones Store: http://store.diydrones.com/Remzibi_s_OSD_p/remzibi_v11.htm

And they sell the BOB at Sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9168

Actually converting to a bitmap/bitstream for real-time analysis would be a different application. 

Also from Sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9024 -- This might be closer to an augmented vision system -- all that's needed is a NTSC decoder so the original view can be altered and sent to the screen, and maybe a bigger processor/FPGA (because FPGA == magic).

-J

Ezekiel,

Before I made it wireless, I used the display with a wired connection for a few hours.  I think the cheap plastic visor and shoddy mounting system did more harm than the display, and I did get a bit of eyestrain.  I haven't had the chance to enjoy the wireless much -- I used most of the working life of the AA Lithium batteries on a short circuit, so I got about 10 minutes of clean play before the batteries dropped below 5V and static began creeping into the signal.  The A/V static will give me a headache quickly.

I like the idea of a HUD with image processing and object tracing.  The only concern I'd have is the overhead of converting NTSC to a computer-readable video stream, then back to NTSC.  That said, there are ways to overlay text on NTSC video (e.g. with a Parallax Propeller), so maybe decoding, processing and re-encoding the video is managable.  I don't know how I'd begin that sort of project (maybe with a CMU-Cam?), though the first experiment might be to take an NTSC camera/video input, trace an outline around anything red (or green, or blue), and then send it to the display.  Right now I'm just glad I got my plug-in components set up properly!

Thanks!
-John