A PIC Based Repeater IDer

A one-chip solution to a standard repeater control need.

By Gary C. Sutcliffe, W9XT

Last year the Washington County Amateur Radio Club (WCARC) of Wisconsin agreed to take over the local repeater that had been run by Maurice Heppe, W9MQD, for 25 years. The club did not have much money for equipment, but club members pitched in by donating time, money and equipment. The transmitter and receiver were donated commercial Motorola Micor equipment that was modified to operate on the 2-meter band.

The Motorola equipment can be configured to operate as a repeater with the right plug-in cards. These were easily found at hamfests. The one thing we were missing was a CW IDer. FCC rules require that amateur repeaters ID every ten minutes when the

3310 Bonnie Lane Slinger, Wl 53086 Email: [email protected]

repeater is being used.

I volunteered to build an IDer for the club. I had the idea of using a Microchip Technology PIC microcontroller for generating CW in the back of my mind for a couple of years; here would be a good excuse to actually do it. I have done a number of PIC projects in the past, so this one should not be too difficult.

I wanted the PIC to do as much of the work as possible. It turned out that it was capable of doing just about everything needed. The only other circuitry needed was for the power supply and I/O. The PIC monitors repeater activity, acts as a ten-minute timer, drives a PTT relay and generates the CW. It even generates 900-Hz audio!

Hardware Design

Fig 1 shows the hardware design. The IDer is designed around the PIC 16C55. The PIC monitors the recei ver's squelch to determine activity. I used an optoisolator to isolate the IDer from the radio equipment. The PIC also drives a PTT relay. This keeps the transmitter in operation when it is IDing and there is no signal being repeated.

The PIC has two CW outputs. One is on pin 12 but was not used in this application. It is simply set to a logical 1 during key-down time. You could use it to drive a transistor or other device in your application.

The other CW output (pin 11) is a 900-Hz tone during key down. Of course, this 900-Hz signal is a square wave. A simple R-C low-pass filter cuts out enough of the harmonics to turn the square wave into something resembling a sine wave. At least, it is close enough to a sine wave to sound good. R6 allows adjustment of the audio output level and C5 capacitively couples the audio to the transmitter.

A momentary push-button switch is used to reset the PIC. The software is written to immediately send the ID message after a reset. This is useful for setting the audio level since the unit will not ID again in normal operation for another ten minutes.


The software is shown in Listing 1 and is available from the ARRL BBS (860-594-0306) as file PICCWID.ZIP and from the ARRL Internet server at http://www.arrl.org/qexfiles/ piccwid.zip or via FTP from ftp.arrl.org in the /pub/qex directory. The program was written in PIC assembly language. The program spends most of its time waiting. When there is no repeater activity, it waits for the squelch line to go low (U1 pin 6), indicating that someone keyed up the repeater.

Assuming the repeater has previously been inactive, the ID sequence will be sent. It then goes into a lockout mode for two minutes. After that it resumes looking for U1 pin 6 to go low again. If that is detected within the next eight minutes, the ID will be repeated ten minutes after the last one.

Contacting Microchip Technology, Inc

You can get information about, and development software for, PIC controller devices directly from Microchip Technology, Inc. The World Wide Web URL http://www.ultranet.com/biz/mchip/ is Microchip's home page, which includes links to the needed files.

If you don't have Internet access but do have a modem, you can contact Microchip's BBS—possibly via a local phone call. The BBS is available via the CompuServe network, with no charge for the use of either the BBS or the network. Note that you aren't accessing CompuServe in this case, just using their network to get to Microchip's BBS.

To access the Microchip BBS via CompuServe's network, connect to a local CompuServe node using a speed of up to 9600 bit/s, 8 data bits, no parity and 1 stop bit (8N1), When the connection is made, hit Enter. CompuServe will display a message on your screen that may be garbled because CompuServe is expecting a 7E1 connection, not 8N1. Type + followed by Enter, and the message: "Host name:" should appear. Type MCHIPBBS, then press Enter. You should then get connected to the Microchip BBS.

If you don't know the number of a local CompuServe node, call 1-800-8488980 (a tone-access menu system). Outside the US, call +614-457-1550.

0 0

Post a comment