Putting a station on 144.390 MHz, the 2 m APRS channel in the US, makes it visible to local hams and to any igate in range even when your internet is down. For a station whose whole purpose is reporting severe weather, that independence is the point.
The hardware paths
A hardware TNC and a radio. The Kantronics KPC-3+ is bulletproof and has a dedicated weather and telemetry mode. Byonics TinyTrak and MicroTrak are cheaper. Mobilinkd TNC3 and TNC4 speak Bluetooth KISS.
A software TNC. Direwolf on a Pi with a cheap USB sound card and any 2 m radio. The most flexible and by far the best documented.
The classic WXNOW.TXT path. Peet Bros Ultimeter and Davis hardware produce
a standardised wxnow.txt file that a TNC or Direwolf reads and beacons
directly.
All-in-one trackers that accept a Davis or Peet feed without a computer in between.
Direwolf as a weather beacon
sudo apt install direwolf
A minimal direwolf.conf fed from a file:
ADEVICE plughw:1,0 # your USB sound card; find it with: aplay -l
ACHANNELS 1
CHANNEL 0
MYCALL N0CALL-13 # -13 is the weather station SSID
MODEM 1200 # AFSK 1200 baud
PTT GPIO 23 # or: PTT /dev/ttyUSB0 RTS or VOX
# Weather beacon every 10 minutes, one wide hop, WX symbol, data from a file:
PBEACON delay=1 every=10 symbol="weather station" \
lat=33^16.04N long=096^31.96W \
commentcmd="tail -1 /home/pi/wxnow.txt" via=WIDE2-1
Direwolf formats that trailing wxnow.txt line into a valid APRS weather
report for you.
Test with no transmitter connected first. Then decode your own output to confirm it is well formed:
echo 'N0CALL-13>APDW17:!3316.04N/09631.96W_120/005g010t021...' | decode_aprs
For keying the radio you have three options. GPIO is cleanest: a transistor keys the radio’s PTT line. CM108 works with many cheap USB sound fobs, and with DigiRig, AIOC and DRA boards that expose a GPIO for the purpose. VOX is a last resort.
Should it also be an igate?
Often, yes. A receive-only igate is cheap insurance that local RF traffic reaches APRS-IS at all.
IGSERVER noam.aprs2.net
IGLOGIN N0CALL 12345 # ham callsign and REAL passcode
# no IGTXVIA line = receive-only, which is the safe default
A transmit igate (IGTXVIA 0 WIDE1-1 plus a filter) gates internet traffic
back onto RF and carries real responsibility: channel congestion, and relaying
traffic that should not have been relayed. Run one deliberately, with a tight
filter, or not at all. A weather beacon does not need to be one.
Radios and duty cycle
A station beaconing every 5 to 10 minutes keys the transmitter for about a second at a time. Thermally that is nothing, so even a cheap radio survives it.
The problem with Baofeng-class handhelds is not heat but spectral purity and frequency stability: they are dirty transmitters. Acceptable for occasional beaconing, poor as a 24/7 igate transmitter. A purpose-built data radio, or a used commercial LMR mobile from Motorola or Kenwood on 144.390, is a much better long-term answer.
The power arithmetic is worth internalising: at 5 W transmit, one second in every 300 is about 0.017 W of average transmit contribution. Receive and idle current, at 50 to 200 mA, dominates your power budget entirely. Do not size a battery around transmit power.
Antenna, feedline and grounding
A simple quarter-wave ground plane or a commercial 2 m vertical at modest height is all this needs. Feedline loss matters more than people expect: at 146 MHz, LMR-400 runs about 1.5 dB per 100 ft against roughly 4.5 dB for RG-58. Use LMR-400 on any long run.
A solar and battery budget
Worked through for a remote site, so you can substitute your own numbers:
| Load | Pi Zero 2 W plus SDR/TNC plus radio idle ≈ 4 W continuous → 96 Wh/day |
| Battery, 3-day autonomy at 50% depth of discharge | 96 × 3 / 0.5 ≈ 576 Wh → a 12 V 50 Ah LiFePO4 (~640 Wh) fits |
| Panel, at 4 winter peak-sun-hours | 96 / 4 / 0.7 ≈ 34 W → round up to 50–100 W for margin |
| Controller | MPPT with the correct LiFePO4 profile |
On chemistry: LiFePO4 is light, cycles deeply and lasts, but must not be charged below 0 °C, so use a BMS with a low-temperature cutoff, or a self-heating battery, in a cold climate. AGM tolerates cold charging but is heavier and shorter-lived.
If the budget is tight, cut duty cycle rather than capacity: deep-sleep the microcontroller between beacons on an ESP32 build, or power the radio only when it is time to transmit.
Frequencies outside the US
| Region | Frequency |
|---|---|
| US and Canada (ITU Region 2) | 144.390 MHz |
| Most of Europe (Region 1) | 144.800 MHz |
| Australia | 145.175 MHz |
| Japan and parts of Asia | 144.640 / 144.660 MHz |
Check your national bandplan and licensing before transmitting anywhere. Note that the internet-only path is identical everywhere: non-hams in every country use APRS-IS and never touch RF.
Where to go next
- The APRS weather packet: the paths and formats this page assumes.
- Building one from scratch: sensors to feed the beacon.
- Install and commissioning: mounting, grounding and verification.
