Back to the Radio Shack index Back to Home |
Using A Weather Radio For Automatic
Repeater Macros
By Fred Vobbe W8HDU
The Reason
The purpose of this project was to develop a simple way to notify amateur radio operators of incoming severe weather, and automatically change the repeater's weather macro using a Radio Shack 12-249 SAME Weather Radio and an Link Communications RLC-2A repeater controller.
In the past, it was necessary for amateur radio operators to monitor NOAA weather radio or local public service channels, then call the alert other amateur radio operators. This was hard to do, especially when 90% of the amateur radio operators work during the day. It also required numerous operators to know the macro code to switch the repeater controller to a condition for weather.
FIPS Codes
Each county or a geographic region has a six digit FIPS code. This code is sent in a data stream at the beginning of the transmission. The sequence is that the FIPS and message is sent 3 times, an audio tone is aired, an audio message is sent, and then three EOM, or "end of message" data bursts are sent. The FIPS code is what tells the receiver if the message is valid for your area. The following are the FIPS codes for the U.S.
The list was deleted from this web page copy as his files went away with Fred's site. General weather radio information can be found at the NOAA web site. Click on the "Coverage" menu item for a list of facilities by county. Click on the "Information" then "SAME" menu item for a list of FIPS codes and other SAME information.
FIPS codes are made up of six numbers. Looking at the list for Ohio, 039 is the State code, and 003 is Allen County. Allen County Ohio becomes 039003.
More information can be found at the NOAA Weather Radio Site, at http://www.nws.noaa.gov/nwr/info/nwrsame.html.
The Event codes for radios are the following. For the most part you'll deal only with the FLW, SVR, TOR, etc. But other codes may come into play depending on how you interface your receiver.
EAS Event (NWR-SAME) Codes | |||
Weather-Related Events |
NWR-SAME Code |
Status | |
Blizzard Warning |
BZW |
Operational | |
Coastal Flood Watch |
CFA |
NWS Implementation June 30, 2004 | |
Coastal Flood Warning |
CFW |
NWS Implementation June 30, 2004 | |
Dust Storm Warning |
DSW |
NWS Implementation June 30, 2004 | |
Flash Flood Watch |
FFA |
Operational | |
Flash Flood Warning |
FFW |
Operational | |
Flash Flood Statement |
FFS |
Operational | |
Flood Watch |
FLA |
Operational | |
Flood Warning |
FLW |
Operational | |
Flood Statement |
FLS |
Operational | |
High Wind Watch |
HWA |
Operational | |
High Wind Warning |
HWW |
Operational | |
Hurricane Watch |
HUA |
Operational | |
Hurricane Warning |
HUW |
Operational | |
Hurricane Statement |
HLS |
Operational | |
Severe Thunderstorm Watch |
SVA |
Operational | |
Severe Thunderstorm Warning |
SVR |
Operational | |
Severe Weather Statement |
SVS |
Operational | |
Special Marine Warning |
SMW |
NWS Implementation June 30, 2004 | |
Special Weather Statement |
SPS |
Operational | |
Tornado Watch |
TOA |
Operational | |
Tornado Warning |
TOR |
Operational | |
Tropical Storm Watch |
TRA |
NWS Implementation June 30, 2004 | |
Tropical Storm Warning |
TRW |
NWS Implementation June 30, 2004 | |
Tsunami Watch |
TSA |
Operational | |
Tsunami Warning |
TSW |
Operational | |
Winter Storm Watch |
WSA |
Operational | |
Winter Storm Warning |
WSW |
Operational | |
| |||
Non-Weather-Related Events |
NWR-SAME Code |
Status | |
National Codes-Required |
|
| |
Emergency Action Notification |
EAN |
Not currently implemented on NWR | |
Emergency Action Termination |
EAT |
Not currently implemented on NWR | |
National Information Center |
NIC |
Operational | |
State and Local Codes-optional |
|||
Avalanche Watch |
AVA |
NWS Implementation June 30, 2004 | |
Avalanche Warning |
AVW |
NWS Implementation June 30, 2004 | |
Child Abduction Emergency |
CAE |
NWS Implementation June 30, 2004 | |
Civil Danger Warning |
CDW |
NWS Implementation June 30, 2004 | |
Civil Emergency Message |
CEM |
Operational | |
Earthquake Warning |
EQW |
NWS Implementation June 30, 2004 | |
Evacuation Immediate |
EVI |
Operational | |
Fire Warning |
FRW |
NWS Implementation June 30, 2004 | |
Hazardous Materials Warning |
HMW |
NWS Implementation June 30, 2004 | |
Law Enforcement Warning |
LEW |
NWS Implementation June 30, 2004 | |
Local Area Emergency |
LAE |
NWS Implementation June 30, 2004 | |
911 Telephone Outage Emergency |
TOE |
NWS Implementation June 30, 2004 | |
Nuclear Power Plant Warning |
NUW |
NWS Implementation June 30, 2004 | |
Radiological Hazard Warning |
RHW |
NWS Implementation June 30, 2004 | |
Shelter in Place Warning |
SPW |
NWS Implementation June 30, 2004 | |
Volcano Warning |
VOW |
NWS Implementation June 30, 2004 | |
Administrative Events |
NWR-SAME Code |
Status | |
Administrative Message |
ADR |
Operational | |
National Periodic Test |
NPT |
Operational | |
Network Message Notification |
NMN |
NWS Implementation June 30, 2004 | |
Practice/Demo Warning |
DMO |
Operational | |
Required Monthly Test |
RMT |
Operational | |
Required Weekly Test |
RWT |
Operational |
Choosing The Radio
The radio I used was the Radio Shack 12-249 SAME Weather Receiver. I purchased mine from a store that was closing them out at $39.00. You can use another radio as long as it employs an LED which will illuminate when a Warning, Watch, or Statement has been rendered for an area.
This next step requires some thinking. When configuring a radio to alert the repeater, you want to be able to provide alerts for the repeater service area. However, In most cases you will just want the county in which the repeater is located, and adjacent counties. If you put too many counties in your radio, you may find that the users of your repeater start to feel as if your system is "crying wolf". In my case, my repeater only alerts for Allen County Ohio.
Once you have your list of counties, select the nearest NOAA Weather Radio station. If you are not sure where this station is located, or the frequency of the station, you can find a chart at the NOAA Weather Radio web site. Click on the "Coverage" menu and drill down for the information you seek.
Set the frequency of the receiver, and input the counties in your area (the ones you want your radio to react to). When installing the receiver, keep in mind that it is in a high RF environment. Test it by turning on the weather radio, pressing the "listen" button, and keying up your repeater. If your repeater interferes with the broadcast, it's best to install an outdoor antenna for reception of the weather forecasts.
This step could come before the above, but I checked my radio before beginning the modification. Open up your radio. Mount a small plug, such as a 9-pin female DB connector in the case. For sake of ease, I assigned pin-1 as "ground", pin-2 as the "warning" LED, pin-3 as the "watch" LED, and pin-4 as the "statement" LED. Find ground in the radio, (the negative lead on the first power supply filter cap works good). Locate the point where the weather radios "Warning" LED is connected. In the 12-249 I found that when the radio turned on this LED, there was a 4.6 volt (dc) signal present to illuminate the LED. Run a small piece of wire from this point to pin-2 of the connector. Repeat this step for the "watch" and "statement" LEDs. Close up the radio.
The interface is very simple. Make up a box with three 12 vdc relays in it. You only need an SPST contact. I used the Potter & Brumfield KHP series for my system, because I had some nice sockets to plug the relays into. Use a standard "wall wart" to power the relays. The interface box should sit near the controller.
From the radio, make up a 4 conductor cable. Make notes of what pins go to what wires. I used a piece of Belden 8723. This wire is used in audio applications, and contains two pairs within a tin jacket, with drain wire, and outside jacket. Its 22 gauge wires connect up nice to DB plugs. I used the green and shield on pin-1, the red on pin-2, the black on pin-3, and the white on pin-4.
At the interface box, you will drive the relays using a 2N2222 transistor, and a 330 ohm resistor. The signals on the red, black, and white wires goes to the resistors. The resistors in turn go to the base of the transistor. The relays have +12 on one side of their coil. On the opposite side of the coil the transistor is installed as a common collector. When the LED lights on the radio, the transistor is turned on, the relay is grounded, and closes.
Now we need to interface the controller. You need a piece of wire to go between the contacts of the relay(s) to the controller. On a Link RLC-2A we bring an input to ground, so your contact goes across an input channel and controller ground.
Let me stray for a second. Why use a relay and a contact? Easy answer. At my site, I have a 500 foot tower looming over head which attracts a lot of lightning. To protect my controller, I try not to have anything directly connected to it. It would be easy to use that 2N2222 to drive the input on the controller to ground. However, having dry contacts keeps any static at bay. Your choice on how to set this up.
At the controller I set up input channels 1 and 2 to handle the alerts. I decided against the "statement" alert as it really does not mean much in our area. So connections were made on 3 pins of the controller. Ground, input 1, and input 2. At the relays I common the ground side of the relay contacts. Now the fun part... programming.
When I decided to do this, I had two goals. For weather watches I just wanted the controller speak "weather watch" on the hang time. For the warnings I got more aggressive. I wanted an alert tone, so if I'm driving around or have the scanner on, I know the repeater controller reacted to a warning. I wanted the repeater to change it's normal courtesy beep to the CW letter "W". I wanted all the voice messages to go away, and be replaced with CW only IDs. Finally, I wanted the controller speak "weather warning" on the hang time. Here is how it's done.
Set up the two phrases "weather watch" and "weather warning". I selected message slot #15 and #16. The words are found in the Link RLC-2A manual, Appendix C. Weather = 466. Watch = 463, Warning = 462. The command is programmed as: {program slot} {slot #} {1 for voice message} {words used}.
Next, the input channels must be configured so when the radio receives the alert, and the relay closes, the controller knows what to do with the event. Note that I send the command to a macro. The command is programmed as: {program event} {event slot} {1 for request a message slot} {slot number} {routing}
Note! I use 07 as my route because I have ports 1, 2, and 3 as repeaters (UHF, VHF-HI, and VHF-LO). I want the message to go out on all ports!
For courtesy beeps I use macros. The reason I do this is that I sometimes have all the repeaters linked together. Using a macro, I can set up each repeater for a courtesy beep using a CW letter. E is 2-meter, I is UHF, and T is 6-meter. Here is the courtesy beep macros. I'm only showing you this so you understand later how I switch things.
We also need to make a macro for the courtesy beep used during weather. It looks like this.
Now lets deal with the things we need to switch. The first thing we make is two macros, one for changing the beep to a "W" and then to put things back. They look like this.
Now we need to turn our port voice messages on and off message. My first pending message is always a CW ID. Messages 2 and 3 are voice messages. When I have them on, they rotate through all three messages. When I turn off messages 2 and 3, all that is left is the CW ID (message 1).
Next, we deal with the messages "Weather Watch" and "Weather Warning" which are put on the hang time of the repeater. They look like this.
Finally, here is where everything comes together. Note, for the warning I have to link TWO macros together. When Input 1 goes low, macro 205 is executed.
The repeater is now operating in a Weather Warning mode with tail messages, "W" courtesy beep, no voice message ID, all CW IDs, and it sent an alert tone when it made the change.
When the Warning is dropped, the LED on the radio goes out, the relay disengages, Input 1 goes high, and this macro is run.
During Weather Watches, this is what happens. Input 2 goes low, which runs this macro.
And when the Watch is cancelled, this macro runs.
This system has been running reliably since 1998. The only problem I have had is when the NWS/NOAA has sent the wrong header message or FIPS. That has happened twice, (2 years ago). Otherwise, it's worked flawlessly. Nobody has had to change macros or be the guardian of the courtesy beep!
One thing that normally happens here in western Ohio is that we'll be under a Watch prior to a warning. I'm often asked what happens between the change. Other than the tone alert, and message changes, it's pretty seamless.
I should also say that I'm thinking of incorporation paging into my warning macros. A bunch of us have Yaesu FT-50RD radios, which have the ability to be paged. It would be handy to have the radio in standby, and upon the alert, have the radio come on. Something you might want to consider, or even doing something with some old tone/voice pagers (like Minitor II).
73
Fred Vobbe, W8HDU
© 1999-2001 Frederick R. Vobbe. All rights reserved.
Photos, text and layout between the two sets of double lines is Copyright © Fred Vobbe, W8HDU.
Back to the top of the page
Back to the Radio Shack index
Back to Home
Except for the missing FIPS files that Fred had on his web site (and noted above) this is a complete verbatim local copy of the web page that used to be on his site. No copyright infringement of Fred's work is intended.
This web site, the information presented in and on its pages and in these modifications and conversions is © Copyrighted 1995 and (date of last update) by Kevin Custer W3KKC and multiple originating authors. See the main page at www.repeater-builder.com for more information on the web site copyright.