Digital compass

All information pertains to the N900.

Contents

Why a compass is needed

Augmented Reality (AR)

  • GPS gives location of device; compass gives orientation
  • Allows pointing the device and getting information relevant to the pointed direction
  • E.g. Layar, Wikitude

Navigation

  • Car navigation
  • On-foot navigation
    • Map rotation

Connection options

  • Optical (use one of the cameras, plus image processing)
    • Best to use user-facing camera, so the world-facing can be used for capturing the world image for AR
  • USB
    • Unknown if USB host possible.
    • Unknown if power is available from USB.
  • IrDA
    • Is unsupported at this point. The device only has an CIR transmitter.
  • Bluetooth
    • Bluetooth data
    • Bluetooth audio - sending analog signals via Bluetooth microphone for digital signal processing on the N900
  • FM radio
    • Requires headphones be connected
    • Signal processing of audio in software

Compass chips or sensors

  • Honeywell HMC5843
    • I2C interface
    • Magnetometer requires vector math on client side for interpretation, see OpenMoko i2c compass project for more info
  • Dinsmore analog

Ready-built compass modules

  • Ocean Server OS4000
  • Ocean Server OS5000
    • USB and RS232 interface

Microcontrollers

Converters

Designs

Optical image processing of compass

  • Periscope-like mirror

Ready-made RS232 compass modules with RS232-Bluetooth conversion

Custom board designs

Alternatives to a digital compass

  • Use GPS motion to determine direction
    • Only useful for navigation, not AR
    • Does not work if standing still
  • Use image processing for AR
    • E.g. artoolkit
    • Still you cannot get absolute orientation of device
  • Initialized orientation + delta orientations (dead reckoning)
    • Maybe you can initialize the device to a known orientation (e.g. straight north), then use optical flow and/or accelerometer data to extrapolate subsequent orientations
  • Optical compass + manually dragging an on-screen compass to match
    • Not automatic so some AR apps like games might not work
    • But for navigation or rotating maps, it could work: just glance at the optical compass, then drag the map icon to match the orientation.
  • Combined GPS/optical compass for daytime use:
    • Use GPS location and time info to calculate current sun location
    • Let user optically align to visible sun