Dumb Badge

The Dumb Badge, as it's name implies, is a simple, low performance member of the badge hierarchy. It simply transmits its fixed ID every few seconds then goes to sleep. It can't be reprogrammed on-the-fly and it does not respond to commands form the badge system.

We used it as a first test of the hardware and software, and as it turned out, to debug the compiler.

Specifications

Processor

PIC16C74A-JW

Cycle period

2.3 sec

Data rate

38400 bps

Duty Cycle

0.86%

Voltage

5V

On current

1.56mA

Sleep current

0.85mA

Size

54x86mm

Badge Frame Format

A frame consists of a sync byte followed by 26 data bytes. Future versions will use IrDA framing. Of course the frame format is subject to change without notice. The next change is likely to be to increase the size of X, Y and Z to 32 bits each to provide positions to 10cm resolution. Although 28 bits would provide sufficient precision, unfortunately 28 bits isn't a convenient size, hence we will use 32 bits.

Output Frame Format

OUT_PROTOCOL = 3 /* PROTO_DUMB */ Additional information is provided in the Smart Badge description.

#define OUT_SYNC

outframe_data[0]

#define OUT_LENGTH

outframe_data[1]

#define OUT_RANDOM

outframe_data[2]

#define OUT_PROTOCOL

outframe_data[3]

#define OUT_SEQUENCE

outframe_data[4]

#define OUT_ADDRESS0

outframe_data[5]

#define OUT_ADDRESS1

outframe_data[6]

#define OUT_ADDRESS2

outframe_data[7]

#define OUT_ADDRESS3

outframe_data[8]

#define OUT_STATUS

outframe_data[9]

#define OUT_TEMPERATURE

outframe_data[10]

#define OUT_LIGHT

outframe_data[11]

#define OUT_HUMIDITY

outframe_data[12]

#define OUT_ROLL

outframe_data[13]

#define OUT_PITCH

outframe_data[14]

#define OUT_YAW

outframe_data[15]

#define OUT_X1

outframe_data[15]

#define OUT_X2

outframe_data[17]

#define OUT_X3

outframe_data[18]

#define OUT_Y1

outframe_data[19]

#define OUT_Y2

outframe_data[20]

#define OUT_Y3

outframe_data[21]

#define OUT_Z1

outframe_data[22]

#define OUT_Z2

outframe_data[23]

#define OUT_Z3

outframe_data[24]

#define OUT_SOUND

outframe_data[25]

#define OUT_CRC0

outframe_data[26]

#define OUT_CRC1

outframe_data[27]

Resources

The complete badge design (schematic, artwork, C program and Intel HEX download file) is available for download.

To load the HEX file into a processor for the badge you will need the following:

To modify the program you will also need the Microchip C compiler to go with the PICSTART system. This is an expensive item but you can download a free demo version that is limited to 256 output instructions. The demo compiler from the PICSTART CD is what we used for this version of the program (which is a tight fit on the 256 instruction boundary).

Contact

If you use the design or have any comments or suggestions we would like to hear from you.

H. W. Peter Beadle (Email: beadle@elec.uow.edu.au)

March 10, 1997


Back to the Location Aware Home Page