As our local Hamfest is coming up soon, and the person who has been running it for years wants to resign from the position, it has got me thinking about what it actually takes to run a swap / hamfest.
I got to thinking about all the swaps I’ve been to and how sometimes I’m afraid to buy a radio or equipment, because I don’t know if it works or not. As a kid I would carry a backpack for goodies I bought and also a 12v 7ah battery to power test radios. I found a few radios or items that they claimed worked, but wouldn’t even power up, its a good thing I didn’t buy them.
What if clubs offered a free “Equipment Test Table” ? This could benefit both buyers and sellers, by proving that the used equipment works. Here is what I would like to see at a table.
110v outlets / surge strip
12volt – 30 amp power supply
including power pole, banana jacks, standard mobile connectors & alligator clips.
Dummy Load for HF & VHF
Basic antenna for HF receive (ex. 40/20 dipole)
Basic antenna for VHF/UHF receive
Multimeter
Watt Meter
Most clubs could easily find this equipment to be loaned for the day. It could be watched at the raffle ticket table easily. This would be enough to test most radio related items found at a swap, and would make buyers feel a lot better about spending their hard earned money.
I will be bringing this idea up to our club and will offer to loan my equipment for the cause for our swap. I hope other clubs will do the same.
I am planning on deploying a few more APRS digipeaters in the Mid-Michigan area.
I hope to be able to fit everything inside a 12 x 12 x 6″ outdoor weatherproof box, for each site. The only external connections will be 110v power and antenna. I still have do do all the wiring and solder up some connectors, but this will give an idea of how it will look inside.
Contents:
110v outlet
12v 3amp power supply
12v 7ah battery
MFJ-1207C TNC
Vertex FTM-2011 commercial VHF mobile
Wiring for power / data
I hope to get some much smaller TNC’s like the Byonics TinyTrack4 for some future kits.
I am not sure which site this will be installed at, but I will update my website with the new location and installation pics, when done.
Since I’m not big into HF and I have a Yaesu FT-747GX radio just sitting here collecting dust, I figured I would put it to use. I haven’t touched it since I removed it to take to our club’s Field Day site in 2011. I just placed it back on my desk and forgot about it, so I had to search for the power cord and jumper coax to go to my filter and coax switch.
I installed K1JT’s WSPR software on a Win XP computer and wired up the audio line out from the radio to the line in on the PC. After tweeking some settings in the software, I was receiving WSPR beacons from all over the place. I figure I might as well put it to good use in RX mode, to help other people know how the band propagation is.
Currently I only have it set up to my 10/11M Antron 99 vertical antenna, only 10′ off the ground and partially blocked by my house. It is mounted on my kid’s trampoline for now, until it gets warmer and I get install it either back in my tree at 40′ off the ground or on a tripod on my garage roof. It feeds to the radio with about 50′ of RG-8 coax.
I plan to leave this running on either 10 or 20 meter bands, and leave it on 24/7.
Making Raspberry Pi talk, using Google’s Translation API
This is written in PHP, as I needed that to do some other projects.
You will need to install a few things.
PHP-5
cURL
PHP5-curl
mpg123
internet connection
This will download the audio file from Google and play it as soon as it processes.
the nice thing about this is that its very simple & no TTS program needs to be on your R-Pi.
There is a max of 100 characters to use for text.
Click below to view the code.
Here is a presentation I made for or Ham Radio club meeting.
This presentation shows a few radio related apps for Android and iPhones.
It is available for public use. It is in Open Office .odp format.
While at our monthly Ham Radio club meeting, a previous & newly re-licensed Ham visited our meeting and asked us for input and help on finding info for his “Project LifeSaver” tracking unit. Project LifeSaver is a small, wearable, weatherproof radio beacon that sends a signal to help Police & Rescue agencies locate missing people, such as Alzheimer’s, Autism, and Down syndrome patients.
He wanted to know more about how it his unit works and how it can be tracked. His unit was made by LoJack, the same company who does the vehicle tracking systems.
Del, (WB8FYR) used his Yaesu VX-7 HT and found the unit transmitting on 216.4Mhz. He had it in WFM mode. It was emitting a static sound, about once a second. He wasnt sure is the 216.4 was the exact freq, but it was close.
What I found out:
Each unit operated in the 215-216 Mhz range, on FM.
Battery life is 30+ days and is replaced monthly by maintenance person.
There are no external markings on the unit, so I couldn’t find a FCC ID on it. There may be something printed inside the battery cover.
Pros:
These are small enough to be wearable 24/7.
Battery life is good. 1 month run-time will keep them from needing new batteries often.
Each unit has its own freq, making it easier to track down the correct person.
Cons:
Each unit has its own freq. (I know this contradicts with the pros section, but you have to know the correct freq on the person you are looking for. If you have to scan a range of freqs, it will be harder to find, especially when the unit is out of radio range.)
Receivers are generally limited to Police & Rescue agencies and cost $700+
Range is limited, but this is due to low TX power, to save battery life.
No data is transmitted, just a audio beep. Medical info could be handy if it was encoded in the transmission.
I think that this is something that all Ham Radio groups and Search & Rescue needs to get involved in. As Hams, most of us have a radio or scanner that can receive these freqs. We can easily build a tape measure yagi antenna and have it ready. With having more than one receiver and person searching for the missing person, it can greatly reduce the time to find them. This will also greatly help the bond between Public Safety and Ham Radio, as it proves that our skills, knowledge and equipment can come in handy, in life saving emergencies.
This basic skill is the same thing as fox hunts. Lots of clubs already do these for fun, why not put it to a good use and help save someone or find a missing person.
I found a TV antenna amplifier in a junk box that I had forgotten I bought back a while ago at a garage sale. I think I paid $1 for it. I needed a amplifier for some scanners that I plan to use for online feeds. I don’t want a bunch of antennas up, so amplifying the signal and splitting it works best for me.
I opened up the unit and changed the Input connector from the standard “F” to a SO-239 to accept a PL-259, the most common connector type I use for antennas. I also changed the Output connector to a BNC, which most of my scanners use.
This is a project I worked on a while ago, but never finished it due to time. I will update my site or this post when I get it working how I want.
This code is free to use and edit, as long as the credit to me is left at the top. Thanks.
I don’t remember if I ever got the band to save, so that might not be working.
You should expect to edit or add to the “void BandSetup()” section.
You can also hard-code the band to a relay setting.
I never got around to setting up outputs for the relays, but that should be simple to add.
/* HF Band Detecting Auto Antenna Switch
Designed by
KC8GRQ - Mark Rodgers
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
#define A 2
#define B 3
#define C 4
#define D 5
#define Select 6
#define Next 7
int AntennaPort = '1';
int Band = '0';
void setup()
{
pinMode(A, INPUT);
pinMode(B, INPUT);
pinMode(C, INPUT);
pinMode(D, INPUT);
pinMode(Select, INPUT);
pinMode(Next, INPUT);
// digitalWrite(Select, LOW);
// digitalWrite(Next, LOW);
lcd.begin(20, 4);
// Print a message to the LCD.
lcd.setCursor(0, 0);
lcd.print("Auto Antenna Switch ");
lcd.setCursor(0, 2);
lcd.print(" KC8GRQ ");
delay(3000);
lcd.clear();
}
void ReadRadio()
{
digitalRead(A);
digitalRead(B);
digitalRead(C);
digitalRead(D);
if (digitalRead(A) == LOW && digitalRead(B) == LOW && digitalRead(C) == LOW && digitalRead(D) == HIGH)
{ lcd.setCursor(0, 0);
lcd.print(" 160 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 1.8 to 2.0 Mhz ");
lcd.print(" Random Legth Wire "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == LOW && digitalRead(C) == HIGH && digitalRead(D) == LOW)
{ lcd.setCursor(0, 0);
lcd.print(" 80 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 3.5 to 4.0 Mhz ");
lcd.print(" G5RV East / West "); }
else if
(digitalRead(A) == HIGH && digitalRead(B) == LOW && digitalRead(C) == HIGH && digitalRead(D) == LOW)
{ lcd.setCursor(0, 0);
lcd.print(" 60 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 5.330 - 5.403 Mhz ");
lcd.print(" G5RV East / West "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == LOW && digitalRead(C) == HIGH && digitalRead(D) == HIGH)
{ lcd.setCursor(0, 0);
lcd.print(" 40 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 7.0 to 7.3 Mhz ");
lcd.print(" G5RV East / West "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(C) == LOW && digitalRead(D) == LOW)
{ lcd.setCursor(0, 0);
lcd.print(" 30 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 10.1 to 10.15 Mhz ");
lcd.print(" Triband 3 EL Yagi "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(C) == LOW && digitalRead(D) == HIGH)
{ lcd.setCursor(0, 0);
lcd.print(" 20 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 14.0 to 14.35 Mhz ");
lcd.print(" Triband 3 EL Yagi "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(C) == HIGH && digitalRead(D) == LOW)
{ lcd.setCursor(0, 0);
lcd.print(" 17 Meters ");
lcd.setCursor(0, 1);
lcd.print("18.068 to 18.168 Mhz");
lcd.print(" Triband 3 EL Yagi "); }
else if
(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(C) == HIGH && digitalRead(D) == HIGH)
{ lcd.setCursor(0, 0);
lcd.print(" 15 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 21.0 to 21.45 Mhz ");
lcd.print(" Triband 3 EL Yagi "); }
else if
(digitalRead(A) == HIGH && digitalRead(B) == LOW && digitalRead(C) == LOW && digitalRead(D) == LOW)
{ lcd.setCursor(0, 0);
lcd.print(" 12 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 24.89 to 24.99 Mhz ");
lcd.print(" 10 / 12 Vertical "); }
else if
(digitalRead(A) == HIGH && digitalRead(B) == LOW && digitalRead(C) == LOW && digitalRead(D) == HIGH)
{ lcd.setCursor(0, 0);
lcd.print(" 10 Meters ");
lcd.setCursor(0, 1);
lcd.print(" 28.0 to 29.7 Mhz ");
lcd.print(" 10 / 12 Vertical "); }
else
{ lcd.setCursor(0, 0);
lcd.print(" ** ERROR ** ");
lcd.setCursor(0, 1);
lcd.print(" No Radio Data ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print("Check Wiring & Radio"); }
}
void BandSetup()
{
lcd.setCursor(0, 0);
lcd.print(" * Setup Mode * ");
lcd.setCursor(0, 1);
lcd.print("Band: ");
lcd.setCursor(6, 1);
if (Band == '0') { lcd.print("160 Meters"); } else
if (Band == '1') { lcd.print("80 Meters "); } else
if (Band == '2') { lcd.print("60 Meters "); } else
if (Band == '3') { lcd.print("40 Meters "); } else
if (Band == '4') { lcd.print("30 Meters "); } else
if (Band == '5') { lcd.print("20 Meters "); } else
if (Band == '6') { lcd.print("17 Meters "); } else
if (Band == '7') { lcd.print("15 Meters "); } else
if (Band == '8') { lcd.print("12 Meters "); } else
if (Band == '9') { lcd.print("10 Meters "); }
// Scroll Thru The Bands
if (Band > '9') {
Band = '0';
}
if (digitalRead(Next) == HIGH) {
Band++; }
// The band is selected that we want to edit, now set AntennaPort
if (digitalRead(Select) == HIGH) {
lcd.setCursor(0, 2);
lcd.print("Antenna Port # ");
lcd.setCursor(16, 2);
lcd.write(AntennaPort);
// Scroll Thru The Antenna Ports
if (AntennaPort > '4') {
AntennaPort = '1';
}
if (digitalRead(Next) == HIGH) {
AntennaPort++; }
}
// OK, now we have set the Band to the Antenna Port, lets save it.
if (digitalRead(Select) == HIGH) {
lcd.setCursor(0, 3);
lcd.print(" * Settings Saved * "); }
}
void loop()
{
// ReadRadio();
// if (digitalRead(Select) == HIGH) { BandSetup(); }
lcd.setCursor(0, 0);
lcd.print(" * Setup Mode * ");
lcd.setCursor(0, 1);
lcd.print("Band: ");
lcd.setCursor(6, 1);
if (Band == '0') { lcd.print("160 Meters"); } else
if (Band == '1') { lcd.print("80 Meters "); } else
if (Band == '2') { lcd.print("60 Meters "); } else
if (Band == '3') { lcd.print("40 Meters "); } else
if (Band == '4') { lcd.print("30 Meters "); } else
if (Band == '5') { lcd.print("20 Meters "); } else
if (Band == '6') { lcd.print("17 Meters "); } else
if (Band == '7') { lcd.print("15 Meters "); } else
if (Band == '8') { lcd.print("12 Meters "); } else
if (Band == '9') { lcd.print("10 Meters "); }
// Scroll Thru The Bands
if (Band > '9') {
Band = '0';
}
if (digitalRead(Next) == HIGH) {
Band++; }
// The band is selected that we want to edit, now set AntennaPort
if (digitalRead(Select) == HIGH) {
lcd.setCursor(0, 2);
lcd.print("Antenna Port # ");
lcd.setCursor(16, 2);
lcd.write(AntennaPort);
// Scroll Thru The Antenna Ports
if (AntennaPort > '4') {
AntennaPort = '1';
}
if (digitalRead(Next) == HIGH) {
AntennaPort++; }
}
// OK, now we have set the Band to the Antenna Port, lets save it.
if (digitalRead(Select) == HIGH) {
lcd.setCursor(0, 3);
lcd.print(" * Settings Saved * "); }
}