Documentation : Hardware | Software | Tutorials    Wardrobe : Jackets | Applications
Papers : Notes | Proposals | Research    Administration : Stock | Minutes | Progress

Compass sensor

The electronic compass interface board has been designed to act as an intelligent sensor in relation to the event driven device architecture of the new cyber-jacket.  The device is primarily intended to interface with a Vector 2X  electronic compass by Precision Navigation Inc.  The compass is interfaced to a PIC16F84 chip that decodes its output and communicates with the host computer via a shared TTL channel on the system bus.  The interface also provides power (5 Volts) to the compass.

The device communicates with the host using a pseudo RS-232 protocol (TTL)  on the system bus.  Since the device has been designed to operate in conjunction with other sensors on the shared bus, contention issues are partially solved through the use of a status line on the system bus (wire 1).  When a device wishes to send data it first checks this status line, if it is high (idle state) then it pulls the line low and transmits otherwise it polls the status line until it becomes high.

Communication between the host and the compass interface is as follows:

Host to Compass Interface

$SCXP where X = minor device indentifier [0..1].

Compass Interface to Host

$RCXAB where heading = (A == 0) ? B : (256 + B)


Parts List

Please refer to schematic above.


Build Notes


ASM Code for PIC

The latest firmware for the compass interface's PIC can be found here; This must be compiled using MPLAB (installed on Prawn).



Compass PCB.

This page last updated January 28, 2004
The material displayed is provided 'as is'. Contents may not be reused without prior permission.
For problems or questions regarding this web contact Cliff Randell.