Saturday, May 21, 2005

Thought Experiment: HUD

I was thinking about how to build a low cost, lightweight helmet mounted heads up display. Mono color, vector graphics. See through.

I happen to have some specially cut but scratched HUD glass sitting around here. Not to useful due to the scratches, but a good thought provoker. One common way to get a HUD working is to have a well backlit LCD or CRT at right angles to the glass. Problem? Size, you have to accomodate the entire LCD, which may be 2.7" or even 3.8" in common sizes. You can get color raster graphics then, but that's more distracting that I want. I'll just slide an LCD with focusing optics over my eye if I need that type of display. Professional units appear to use very VERY small monocrome LCDs with a high output backlight to provide such detail. Unfortunately, 320x240 or more preferrably VGA monitors of this size are expensive. A broken modern DV camcorder may be a better cheaper option off of Ebay for oneshot designs.

I happened upon the old Nintendo Virtual Boy a while ago. It cycled a 224 light LED bar in conjunction with a mirror. This provided vector graphics (in stereo) at 324 x 224? at 50Hz. It was disorienting to use, but I figure something similar providing "infinite depth of field" guide lines for highlighting and information providing would be better, especially since you can see out of the unit. Problem? I'd want 240 LED's. That's a LOT of space I'd have to fill in. Another issue is the complex circuitry. I'd need a high pinout FPGA to drive the LED's. I'd probably use a rotating octal mirror to provide scan lines instead of a vibrating mirror. This also gives the option of overlaying and syncing multiple color bars to provide RGB color graphics as cost permits.

I briefly considered a single LED with driven X-Y galvatrons (ala laser lightshow graphics) but those are highly limited in their flexibility and cost a bit. Also that would put vibration sensitive mechanisms on a mobile platform. I much prefer the spinning mirror of above since that only has to maintain speed and have an optical encoder onboard to provide timing characteristics.

Anyone else have any ideas? I'm looking for lightweight, low cost solutions. Camcorder eyepieces are a good option, but many of the older models I'd sacrifice use miniature CRT tubes. I do NOT want several kvolts on my head. Ebay Camcorder finding is very hit and miss, especially since I'd need two identical digital units to build each eye of the HMD.

Friday, May 20, 2005

CAN Module status update

Working on learning Eagle still to get the Zigbee-CAN module designed. Currently breadboarding a 4 DOF (2 accel, 2 gyro) IMU for camera stabilization and head tracking. I'll probably also throw in a CAN-USB adapter, too, so I can build a CAN network debugger/programmer for all my toys.

Found a few nice things over at the Electronic Goldmine website. They reminded me that I have a 2.7" diagonal Sony LCD (240x160, 512 color) that would make a good forray into HMD/monocle design for very little, if I can design a good driver for it (I see dsPICs in my future). Other than a 9 bit interface, it'd be a bit hard to control without 38400x9bit memory... so I think driving this with dual port RAM and a CPLD front end might be the best bet for me. We will see.

They also have a 16 grayscale 320x240 touchscreen that would be a good match for a forearm mounted control system.

Monday, May 02, 2005

CANMOD - A CANbus module system

Well, after some deliberation, I've gotten a bit of a grasp on the basic boards needed for my designs. All boards have a CAN interface:

  • Zigbee and digital I/O
  • Generic I/O with breakouts for specific interfaces (parrallel, UART, SPI, R/C?, Analog input)
  • Brushed motor and R/C servos
  • Brushless motor
  • Audio I/O
  • Video Input/analysis
  • Video output/LCD
  • High computation module (if needed)

Now, serial bus connections will be available for the basics. Some will just be a single digital connection. Many will be on several inches of dongle bundle so they may be separated from the controllers.

  • I/R input
  • I/R output
  • IRDA transciever (UART)
  • Flash config module (I2C)
  • Button/slider input
  • Single event touch sensors
  • Accelerometer 3 axis?

These should allow me to build anything from small to midsize robots to high performance R/C vehicles (still need more range for aircraft, though) to Laser Tag systems